MX002C

signed_cartesian_product_sums_exists

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

Construct the actual outer-product table and all three signed sum traces, and prove their product relation without an assumed constructor or sum witness.

Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.

Exact expanded first-order arithmetic statement

forall F G m n. (exists dst_positive_code_values_source_F dst_positive_scale_values_source_F dst_negative_code_values_source_F dst_negative_scale_values_source_F. (((F) = (((((dst_positive_code_values_source_F) + (dst_positive_scale_values_source_F)) * S ((dst_positive_code_values_source_F) + (dst_positive_scale_values_source_F)) + ((dst_positive_scale_values_source_F) + (dst_positive_scale_values_source_F))) + (((dst_negative_code_values_source_F) + (dst_negative_scale_values_source_F)) * S ((dst_negative_code_values_source_F) + (dst_negative_scale_values_source_F)) + ((dst_negative_scale_values_source_F) + (dst_negative_scale_values_source_F)))) * S ((((dst_positive_code_values_source_F) + (dst_positive_scale_values_source_F)) * S ((dst_positive_code_values_source_F) + (dst_positive_scale_values_source_F)) + ((dst_positive_scale_values_source_F) + (dst_positive_scale_values_source_F))) + (((dst_negative_code_values_source_F) + (dst_negative_scale_values_source_F)) * S ((dst_negative_code_values_source_F) + (dst_negative_scale_values_source_F)) + ((dst_negative_scale_values_source_F) + (dst_negative_scale_values_source_F)))) + ((((dst_negative_code_values_source_F) + (dst_negative_scale_values_source_F)) * S ((dst_negative_code_values_source_F) + (dst_negative_scale_values_source_F)) + ((dst_negative_scale_values_source_F) + (dst_negative_scale_values_source_F))) + (((dst_negative_code_values_source_F) + (dst_negative_scale_values_source_F)) * S ((dst_negative_code_values_source_F) + (dst_negative_scale_values_source_F)) + ((dst_negative_scale_values_source_F) + (dst_negative_scale_values_source_F)))))) /\ (forall dst_index_values_source_F. (exists pvs_le_gap_values_source_Fdomain. pvs_le_gap_values_source_Fdomain + (dst_index_values_source_F) = (0)) -> exists dst_positive_values_source_F dst_negative_values_source_F dst_value_values_source_F. ((((exists ff_h_pvs_values_source_Fentrypositive. ff_h_pvs_values_source_Fentrypositive + S (dst_positive_values_source_F) = S ((S (dst_index_values_source_F)) * dst_positive_scale_values_source_F)) /\ exists ff_q_pvs_values_source_Fentrypositive. dst_positive_code_values_source_F = ff_q_pvs_values_source_Fentrypositive * S ((S (dst_index_values_source_F)) * dst_positive_scale_values_source_F) + (dst_positive_values_source_F))) /\ (((((exists ff_h_pvs_values_source_Fentrynegative. ff_h_pvs_values_source_Fentrynegative + S (dst_negative_values_source_F) = S ((S (dst_index_values_source_F)) * dst_negative_scale_values_source_F)) /\ exists ff_q_pvs_values_source_Fentrynegative. dst_negative_code_values_source_F = ff_q_pvs_values_source_Fentrynegative * S ((S (dst_index_values_source_F)) * dst_negative_scale_values_source_F) + (dst_negative_values_source_F))) /\ (exists ge_balance_positive_values_source_Fentryvalue ge_balance_negative_values_source_Fentryvalue. (((((dst_value_values_source_F) = 2 * (ge_balance_positive_values_source_Fentryvalue) /\ (ge_balance_negative_values_source_Fentryvalue) = 0) \/ exists ge_signed_half_values_source_Fentryvaluedecode. (((dst_value_values_source_F) = 2 * ge_signed_half_values_source_Fentryvaluedecode + 1 /\ (ge_balance_positive_values_source_Fentryvalue) = 0) /\ (ge_balance_negative_values_source_Fentryvalue) = S ge_signed_half_values_source_Fentryvaluedecode))) /\ ((dst_positive_values_source_F) + ge_balance_negative_values_source_Fentryvalue = (dst_negative_values_source_F) + ge_balance_positive_values_source_Fentryvalue))))))))) -> (exists dst_positive_code_values_source_G dst_positive_scale_values_source_G dst_negative_code_values_source_G dst_negative_scale_values_source_G. (((G) = (((((dst_positive_code_values_source_G) + (dst_positive_scale_values_source_G)) * S ((dst_positive_code_values_source_G) + (dst_positive_scale_values_source_G)) + ((dst_positive_scale_values_source_G) + (dst_positive_scale_values_source_G))) + (((dst_negative_code_values_source_G) + (dst_negative_scale_values_source_G)) * S ((dst_negative_code_values_source_G) + (dst_negative_scale_values_source_G)) + ((dst_negative_scale_values_source_G) + (dst_negative_scale_values_source_G)))) * S ((((dst_positive_code_values_source_G) + (dst_positive_scale_values_source_G)) * S ((dst_positive_code_values_source_G) + (dst_positive_scale_values_source_G)) + ((dst_positive_scale_values_source_G) + (dst_positive_scale_values_source_G))) + (((dst_negative_code_values_source_G) + (dst_negative_scale_values_source_G)) * S ((dst_negative_code_values_source_G) + (dst_negative_scale_values_source_G)) + ((dst_negative_scale_values_source_G) + (dst_negative_scale_values_source_G)))) + ((((dst_negative_code_values_source_G) + (dst_negative_scale_values_source_G)) * S ((dst_negative_code_values_source_G) + (dst_negative_scale_values_source_G)) + ((dst_negative_scale_values_source_G) + (dst_negative_scale_values_source_G))) + (((dst_negative_code_values_source_G) + (dst_negative_scale_values_source_G)) * S ((dst_negative_code_values_source_G) + (dst_negative_scale_values_source_G)) + ((dst_negative_scale_values_source_G) + (dst_negative_scale_values_source_G)))))) /\ (forall dst_index_values_source_G. (exists pvs_le_gap_values_source_Gdomain. pvs_le_gap_values_source_Gdomain + (dst_index_values_source_G) = (0)) -> exists dst_positive_values_source_G dst_negative_values_source_G dst_value_values_source_G. ((((exists ff_h_pvs_values_source_Gentrypositive. ff_h_pvs_values_source_Gentrypositive + S (dst_positive_values_source_G) = S ((S (dst_index_values_source_G)) * dst_positive_scale_values_source_G)) /\ exists ff_q_pvs_values_source_Gentrypositive. dst_positive_code_values_source_G = ff_q_pvs_values_source_Gentrypositive * S ((S (dst_index_values_source_G)) * dst_positive_scale_values_source_G) + (dst_positive_values_source_G))) /\ (((((exists ff_h_pvs_values_source_Gentrynegative. ff_h_pvs_values_source_Gentrynegative + S (dst_negative_values_source_G) = S ((S (dst_index_values_source_G)) * dst_negative_scale_values_source_G)) /\ exists ff_q_pvs_values_source_Gentrynegative. dst_negative_code_values_source_G = ff_q_pvs_values_source_Gentrynegative * S ((S (dst_index_values_source_G)) * dst_negative_scale_values_source_G) + (dst_negative_values_source_G))) /\ (exists ge_balance_positive_values_source_Gentryvalue ge_balance_negative_values_source_Gentryvalue. (((((dst_value_values_source_G) = 2 * (ge_balance_positive_values_source_Gentryvalue) /\ (ge_balance_negative_values_source_Gentryvalue) = 0) \/ exists ge_signed_half_values_source_Gentryvaluedecode. (((dst_value_values_source_G) = 2 * ge_signed_half_values_source_Gentryvaluedecode + 1 /\ (ge_balance_positive_values_source_Gentryvalue) = 0) /\ (ge_balance_negative_values_source_Gentryvalue) = S ge_signed_half_values_source_Gentryvaluedecode))) /\ ((dst_positive_values_source_G) + ge_balance_negative_values_source_Gentryvalue = (dst_negative_values_source_G) + ge_balance_positive_values_source_Gentryvalue))))))))) -> exists T a b c. ((((exists dst_positive_code_values_productF dst_positive_scale_values_productF dst_negative_code_values_productF dst_negative_scale_values_productF. (((F) = (((((dst_positive_code_values_productF) + (dst_positive_scale_values_productF)) * S ((dst_positive_code_values_productF) + (dst_positive_scale_values_productF)) + ((dst_positive_scale_values_productF) + (dst_positive_scale_values_productF))) + (((dst_negative_code_values_productF) + (dst_negative_scale_values_productF)) * S ((dst_negative_code_values_productF) + (dst_negative_scale_values_productF)) + ((dst_negative_scale_values_productF) + (dst_negative_scale_values_productF)))) * S ((((dst_positive_code_values_productF) + (dst_positive_scale_values_productF)) * S ((dst_positive_code_values_productF) + (dst_positive_scale_values_productF)) + ((dst_positive_scale_values_productF) + (dst_positive_scale_values_productF))) + (((dst_negative_code_values_productF) + (dst_negative_scale_values_productF)) * S ((dst_negative_code_values_productF) + (dst_negative_scale_values_productF)) + ((dst_negative_scale_values_productF) + (dst_negative_scale_values_productF)))) + ((((dst_negative_code_values_productF) + (dst_negative_scale_values_productF)) * S ((dst_negative_code_values_productF) + (dst_negative_scale_values_productF)) + ((dst_negative_scale_values_productF) + (dst_negative_scale_values_productF))) + (((dst_negative_code_values_productF) + (dst_negative_scale_values_productF)) * S ((dst_negative_code_values_productF) + (dst_negative_scale_values_productF)) + ((dst_negative_scale_values_productF) + (dst_negative_scale_values_productF)))))) /\ (forall dst_index_values_productF. (exists pvs_le_gap_values_productFdomain. pvs_le_gap_values_productFdomain + (dst_index_values_productF) = (0)) -> exists dst_positive_values_productF dst_negative_values_productF dst_value_values_productF. ((((exists ff_h_pvs_values_productFentrypositive. ff_h_pvs_values_productFentrypositive + S (dst_positive_values_productF) = S ((S (dst_index_values_productF)) * dst_positive_scale_values_productF)) /\ exists ff_q_pvs_values_productFentrypositive. dst_positive_code_values_productF = ff_q_pvs_values_productFentrypositive * S ((S (dst_index_values_productF)) * dst_positive_scale_values_productF) + (dst_positive_values_productF))) /\ (((((exists ff_h_pvs_values_productFentrynegative. ff_h_pvs_values_productFentrynegative + S (dst_negative_values_productF) = S ((S (dst_index_values_productF)) * dst_negative_scale_values_productF)) /\ exists ff_q_pvs_values_productFentrynegative. dst_negative_code_values_productF = ff_q_pvs_values_productFentrynegative * S ((S (dst_index_values_productF)) * dst_negative_scale_values_productF) + (dst_negative_values_productF))) /\ (exists ge_balance_positive_values_productFentryvalue ge_balance_negative_values_productFentryvalue. (((((dst_value_values_productF) = 2 * (ge_balance_positive_values_productFentryvalue) /\ (ge_balance_negative_values_productFentryvalue) = 0) \/ exists ge_signed_half_values_productFentryvaluedecode. (((dst_value_values_productF) = 2 * ge_signed_half_values_productFentryvaluedecode + 1 /\ (ge_balance_positive_values_productFentryvalue) = 0) /\ (ge_balance_negative_values_productFentryvalue) = S ge_signed_half_values_productFentryvaluedecode))) /\ ((dst_positive_values_productF) + ge_balance_negative_values_productFentryvalue = (dst_negative_values_productF) + ge_balance_positive_values_productFentryvalue))))))))) /\ (((exists dst_positive_code_values_productG dst_positive_scale_values_productG dst_negative_code_values_productG dst_negative_scale_values_productG. (((G) = (((((dst_positive_code_values_productG) + (dst_positive_scale_values_productG)) * S ((dst_positive_code_values_productG) + (dst_positive_scale_values_productG)) + ((dst_positive_scale_values_productG) + (dst_positive_scale_values_productG))) + (((dst_negative_code_values_productG) + (dst_negative_scale_values_productG)) * S ((dst_negative_code_values_productG) + (dst_negative_scale_values_productG)) + ((dst_negative_scale_values_productG) + (dst_negative_scale_values_productG)))) * S ((((dst_positive_code_values_productG) + (dst_positive_scale_values_productG)) * S ((dst_positive_code_values_productG) + (dst_positive_scale_values_productG)) + ((dst_positive_scale_values_productG) + (dst_positive_scale_values_productG))) + (((dst_negative_code_values_productG) + (dst_negative_scale_values_productG)) * S ((dst_negative_code_values_productG) + (dst_negative_scale_values_productG)) + ((dst_negative_scale_values_productG) + (dst_negative_scale_values_productG)))) + ((((dst_negative_code_values_productG) + (dst_negative_scale_values_productG)) * S ((dst_negative_code_values_productG) + (dst_negative_scale_values_productG)) + ((dst_negative_scale_values_productG) + (dst_negative_scale_values_productG))) + (((dst_negative_code_values_productG) + (dst_negative_scale_values_productG)) * S ((dst_negative_code_values_productG) + (dst_negative_scale_values_productG)) + ((dst_negative_scale_values_productG) + (dst_negative_scale_values_productG)))))) /\ (forall dst_index_values_productG. (exists pvs_le_gap_values_productGdomain. pvs_le_gap_values_productGdomain + (dst_index_values_productG) = (0)) -> exists dst_positive_values_productG dst_negative_values_productG dst_value_values_productG. ((((exists ff_h_pvs_values_productGentrypositive. ff_h_pvs_values_productGentrypositive + S (dst_positive_values_productG) = S ((S (dst_index_values_productG)) * dst_positive_scale_values_productG)) /\ exists ff_q_pvs_values_productGentrypositive. dst_positive_code_values_productG = ff_q_pvs_values_productGentrypositive * S ((S (dst_index_values_productG)) * dst_positive_scale_values_productG) + (dst_positive_values_productG))) /\ (((((exists ff_h_pvs_values_productGentrynegative. ff_h_pvs_values_productGentrynegative + S (dst_negative_values_productG) = S ((S (dst_index_values_productG)) * dst_negative_scale_values_productG)) /\ exists ff_q_pvs_values_productGentrynegative. dst_negative_code_values_productG = ff_q_pvs_values_productGentrynegative * S ((S (dst_index_values_productG)) * dst_negative_scale_values_productG) + (dst_negative_values_productG))) /\ (exists ge_balance_positive_values_productGentryvalue ge_balance_negative_values_productGentryvalue. (((((dst_value_values_productG) = 2 * (ge_balance_positive_values_productGentryvalue) /\ (ge_balance_negative_values_productGentryvalue) = 0) \/ exists ge_signed_half_values_productGentryvaluedecode. (((dst_value_values_productG) = 2 * ge_signed_half_values_productGentryvaluedecode + 1 /\ (ge_balance_positive_values_productGentryvalue) = 0) /\ (ge_balance_negative_values_productGentryvalue) = S ge_signed_half_values_productGentryvaluedecode))) /\ ((dst_positive_values_productG) + ge_balance_negative_values_productGentryvalue = (dst_negative_values_productG) + ge_balance_positive_values_productGentryvalue))))))))) /\ (((exists dst_positive_code_values_productT dst_positive_scale_values_productT dst_negative_code_values_productT dst_negative_scale_values_productT. (((T) = (((((dst_positive_code_values_productT) + (dst_positive_scale_values_productT)) * S ((dst_positive_code_values_productT) + (dst_positive_scale_values_productT)) + ((dst_positive_scale_values_productT) + (dst_positive_scale_values_productT))) + (((dst_negative_code_values_productT) + (dst_negative_scale_values_productT)) * S ((dst_negative_code_values_productT) + (dst_negative_scale_values_productT)) + ((dst_negative_scale_values_productT) + (dst_negative_scale_values_productT)))) * S ((((dst_positive_code_values_productT) + (dst_positive_scale_values_productT)) * S ((dst_positive_code_values_productT) + (dst_positive_scale_values_productT)) + ((dst_positive_scale_values_productT) + (dst_positive_scale_values_productT))) + (((dst_negative_code_values_productT) + (dst_negative_scale_values_productT)) * S ((dst_negative_code_values_productT) + (dst_negative_scale_values_productT)) + ((dst_negative_scale_values_productT) + (dst_negative_scale_values_productT)))) + ((((dst_negative_code_values_productT) + (dst_negative_scale_values_productT)) * S ((dst_negative_code_values_productT) + (dst_negative_scale_values_productT)) + ((dst_negative_scale_values_productT) + (dst_negative_scale_values_productT))) + (((dst_negative_code_values_productT) + (dst_negative_scale_values_productT)) * S ((dst_negative_code_values_productT) + (dst_negative_scale_values_productT)) + ((dst_negative_scale_values_productT) + (dst_negative_scale_values_productT)))))) /\ (forall dst_index_values_productT. (exists pvs_le_gap_values_productTdomain. pvs_le_gap_values_productTdomain + (dst_index_values_productT) = ((m)*(n))) -> exists dst_positive_values_productT dst_negative_values_productT dst_value_values_productT. ((((exists ff_h_pvs_values_productTentrypositive. ff_h_pvs_values_productTentrypositive + S (dst_positive_values_productT) = S ((S (dst_index_values_productT)) * dst_positive_scale_values_productT)) /\ exists ff_q_pvs_values_productTentrypositive. dst_positive_code_values_productT = ff_q_pvs_values_productTentrypositive * S ((S (dst_index_values_productT)) * dst_positive_scale_values_productT) + (dst_positive_values_productT))) /\ (((((exists ff_h_pvs_values_productTentrynegative. ff_h_pvs_values_productTentrynegative + S (dst_negative_values_productT) = S ((S (dst_index_values_productT)) * dst_negative_scale_values_productT)) /\ exists ff_q_pvs_values_productTentrynegative. dst_negative_code_values_productT = ff_q_pvs_values_productTentrynegative * S ((S (dst_index_values_productT)) * dst_negative_scale_values_productT) + (dst_negative_values_productT))) /\ (exists ge_balance_positive_values_productTentryvalue ge_balance_negative_values_productTentryvalue. (((((dst_value_values_productT) = 2 * (ge_balance_positive_values_productTentryvalue) /\ (ge_balance_negative_values_productTentryvalue) = 0) \/ exists ge_signed_half_values_productTentryvaluedecode. (((dst_value_values_productT) = 2 * ge_signed_half_values_productTentryvaluedecode + 1 /\ (ge_balance_positive_values_productTentryvalue) = 0) /\ (ge_balance_negative_values_productTentryvalue) = S ge_signed_half_values_productTentryvaluedecode))) /\ ((dst_positive_values_productT) + ge_balance_negative_values_productTentryvalue = (dst_negative_values_productT) + ge_balance_positive_values_productTentryvalue))))))))) /\ (forall scp_row_values_product scp_column_values_product scp_first_values_product scp_second_values_product scp_value_values_product. (exists pvs_gap_values_productrows. pvs_gap_values_productrows + S (scp_row_values_product) = (m)) -> (exists pvs_gap_values_productcolumns. pvs_gap_values_productcolumns + S (scp_column_values_product) = (n)) -> (exists dst_positive_code_values_productfirst dst_positive_scale_values_productfirst dst_negative_code_values_productfirst dst_negative_scale_values_productfirst dst_positive_values_productfirst dst_negative_values_productfirst. (((F) = (((((dst_positive_code_values_productfirst) + (dst_positive_scale_values_productfirst)) * S ((dst_positive_code_values_productfirst) + (dst_positive_scale_values_productfirst)) + ((dst_positive_scale_values_productfirst) + (dst_positive_scale_values_productfirst))) + (((dst_negative_code_values_productfirst) + (dst_negative_scale_values_productfirst)) * S ((dst_negative_code_values_productfirst) + (dst_negative_scale_values_productfirst)) + ((dst_negative_scale_values_productfirst) + (dst_negative_scale_values_productfirst)))) * S ((((dst_positive_code_values_productfirst) + (dst_positive_scale_values_productfirst)) * S ((dst_positive_code_values_productfirst) + (dst_positive_scale_values_productfirst)) + ((dst_positive_scale_values_productfirst) + (dst_positive_scale_values_productfirst))) + (((dst_negative_code_values_productfirst) + (dst_negative_scale_values_productfirst)) * S ((dst_negative_code_values_productfirst) + (dst_negative_scale_values_productfirst)) + ((dst_negative_scale_values_productfirst) + (dst_negative_scale_values_productfirst)))) + ((((dst_negative_code_values_productfirst) + (dst_negative_scale_values_productfirst)) * S ((dst_negative_code_values_productfirst) + (dst_negative_scale_values_productfirst)) + ((dst_negative_scale_values_productfirst) + (dst_negative_scale_values_productfirst))) + (((dst_negative_code_values_productfirst) + (dst_negative_scale_values_productfirst)) * S ((dst_negative_code_values_productfirst) + (dst_negative_scale_values_productfirst)) + ((dst_negative_scale_values_productfirst) + (dst_negative_scale_values_productfirst)))))) /\ (((((exists ff_h_pvs_values_productfirstpositive. ff_h_pvs_values_productfirstpositive + S (dst_positive_values_productfirst) = S ((S (scp_row_values_product)) * dst_positive_scale_values_productfirst)) /\ exists ff_q_pvs_values_productfirstpositive. dst_positive_code_values_productfirst = ff_q_pvs_values_productfirstpositive * S ((S (scp_row_values_product)) * dst_positive_scale_values_productfirst) + (dst_positive_values_productfirst))) /\ (((((exists ff_h_pvs_values_productfirstnegative. ff_h_pvs_values_productfirstnegative + S (dst_negative_values_productfirst) = S ((S (scp_row_values_product)) * dst_negative_scale_values_productfirst)) /\ exists ff_q_pvs_values_productfirstnegative. dst_negative_code_values_productfirst = ff_q_pvs_values_productfirstnegative * S ((S (scp_row_values_product)) * dst_negative_scale_values_productfirst) + (dst_negative_values_productfirst))) /\ (exists ge_balance_positive_values_productfirstvalue ge_balance_negative_values_productfirstvalue. (((((scp_first_values_product) = 2 * (ge_balance_positive_values_productfirstvalue) /\ (ge_balance_negative_values_productfirstvalue) = 0) \/ exists ge_signed_half_values_productfirstvaluedecode. (((scp_first_values_product) = 2 * ge_signed_half_values_productfirstvaluedecode + 1 /\ (ge_balance_positive_values_productfirstvalue) = 0) /\ (ge_balance_negative_values_productfirstvalue) = S ge_signed_half_values_productfirstvaluedecode))) /\ ((dst_positive_values_productfirst) + ge_balance_negative_values_productfirstvalue = (dst_negative_values_productfirst) + ge_balance_positive_values_productfirstvalue))))))))) -> (exists dst_positive_code_values_productsecond dst_positive_scale_values_productsecond dst_negative_code_values_productsecond dst_negative_scale_values_productsecond dst_positive_values_productsecond dst_negative_values_productsecond. (((G) = (((((dst_positive_code_values_productsecond) + (dst_positive_scale_values_productsecond)) * S ((dst_positive_code_values_productsecond) + (dst_positive_scale_values_productsecond)) + ((dst_positive_scale_values_productsecond) + (dst_positive_scale_values_productsecond))) + (((dst_negative_code_values_productsecond) + (dst_negative_scale_values_productsecond)) * S ((dst_negative_code_values_productsecond) + (dst_negative_scale_values_productsecond)) + ((dst_negative_scale_values_productsecond) + (dst_negative_scale_values_productsecond)))) * S ((((dst_positive_code_values_productsecond) + (dst_positive_scale_values_productsecond)) * S ((dst_positive_code_values_productsecond) + (dst_positive_scale_values_productsecond)) + ((dst_positive_scale_values_productsecond) + (dst_positive_scale_values_productsecond))) + (((dst_negative_code_values_productsecond) + (dst_negative_scale_values_productsecond)) * S ((dst_negative_code_values_productsecond) + (dst_negative_scale_values_productsecond)) + ((dst_negative_scale_values_productsecond) + (dst_negative_scale_values_productsecond)))) + ((((dst_negative_code_values_productsecond) + (dst_negative_scale_values_productsecond)) * S ((dst_negative_code_values_productsecond) + (dst_negative_scale_values_productsecond)) + ((dst_negative_scale_values_productsecond) + (dst_negative_scale_values_productsecond))) + (((dst_negative_code_values_productsecond) + (dst_negative_scale_values_productsecond)) * S ((dst_negative_code_values_productsecond) + (dst_negative_scale_values_productsecond)) + ((dst_negative_scale_values_productsecond) + (dst_negative_scale_values_productsecond)))))) /\ (((((exists ff_h_pvs_values_productsecondpositive. ff_h_pvs_values_productsecondpositive + S (dst_positive_values_productsecond) = S ((S (scp_column_values_product)) * dst_positive_scale_values_productsecond)) /\ exists ff_q_pvs_values_productsecondpositive. dst_positive_code_values_productsecond = ff_q_pvs_values_productsecondpositive * S ((S (scp_column_values_product)) * dst_positive_scale_values_productsecond) + (dst_positive_values_productsecond))) /\ (((((exists ff_h_pvs_values_productsecondnegative. ff_h_pvs_values_productsecondnegative + S (dst_negative_values_productsecond) = S ((S (scp_column_values_product)) * dst_negative_scale_values_productsecond)) /\ exists ff_q_pvs_values_productsecondnegative. dst_negative_code_values_productsecond = ff_q_pvs_values_productsecondnegative * S ((S (scp_column_values_product)) * dst_negative_scale_values_productsecond) + (dst_negative_values_productsecond))) /\ (exists ge_balance_positive_values_productsecondvalue ge_balance_negative_values_productsecondvalue. (((((scp_second_values_product) = 2 * (ge_balance_positive_values_productsecondvalue) /\ (ge_balance_negative_values_productsecondvalue) = 0) \/ exists ge_signed_half_values_productsecondvaluedecode. (((scp_second_values_product) = 2 * ge_signed_half_values_productsecondvaluedecode + 1 /\ (ge_balance_positive_values_productsecondvalue) = 0) /\ (ge_balance_negative_values_productsecondvalue) = S ge_signed_half_values_productsecondvaluedecode))) /\ ((dst_positive_values_productsecond) + ge_balance_negative_values_productsecondvalue = (dst_negative_values_productsecond) + ge_balance_positive_values_productsecondvalue))))))))) -> (exists dst_positive_code_values_productentry dst_positive_scale_values_productentry dst_negative_code_values_productentry dst_negative_scale_values_productentry dst_positive_values_productentry dst_negative_values_productentry. (((T) = (((((dst_positive_code_values_productentry) + (dst_positive_scale_values_productentry)) * S ((dst_positive_code_values_productentry) + (dst_positive_scale_values_productentry)) + ((dst_positive_scale_values_productentry) + (dst_positive_scale_values_productentry))) + (((dst_negative_code_values_productentry) + (dst_negative_scale_values_productentry)) * S ((dst_negative_code_values_productentry) + (dst_negative_scale_values_productentry)) + ((dst_negative_scale_values_productentry) + (dst_negative_scale_values_productentry)))) * S ((((dst_positive_code_values_productentry) + (dst_positive_scale_values_productentry)) * S ((dst_positive_code_values_productentry) + (dst_positive_scale_values_productentry)) + ((dst_positive_scale_values_productentry) + (dst_positive_scale_values_productentry))) + (((dst_negative_code_values_productentry) + (dst_negative_scale_values_productentry)) * S ((dst_negative_code_values_productentry) + (dst_negative_scale_values_productentry)) + ((dst_negative_scale_values_productentry) + (dst_negative_scale_values_productentry)))) + ((((dst_negative_code_values_productentry) + (dst_negative_scale_values_productentry)) * S ((dst_negative_code_values_productentry) + (dst_negative_scale_values_productentry)) + ((dst_negative_scale_values_productentry) + (dst_negative_scale_values_productentry))) + (((dst_negative_code_values_productentry) + (dst_negative_scale_values_productentry)) * S ((dst_negative_code_values_productentry) + (dst_negative_scale_values_productentry)) + ((dst_negative_scale_values_productentry) + (dst_negative_scale_values_productentry)))))) /\ (((((exists ff_h_pvs_values_productentrypositive. ff_h_pvs_values_productentrypositive + S (dst_positive_values_productentry) = S ((S (((n)*(scp_row_values_product)+(scp_column_values_product)))) * dst_positive_scale_values_productentry)) /\ exists ff_q_pvs_values_productentrypositive. dst_positive_code_values_productentry = ff_q_pvs_values_productentrypositive * S ((S (((n)*(scp_row_values_product)+(scp_column_values_product)))) * dst_positive_scale_values_productentry) + (dst_positive_values_productentry))) /\ (((((exists ff_h_pvs_values_productentrynegative. ff_h_pvs_values_productentrynegative + S (dst_negative_values_productentry) = S ((S (((n)*(scp_row_values_product)+(scp_column_values_product)))) * dst_negative_scale_values_productentry)) /\ exists ff_q_pvs_values_productentrynegative. dst_negative_code_values_productentry = ff_q_pvs_values_productentrynegative * S ((S (((n)*(scp_row_values_product)+(scp_column_values_product)))) * dst_negative_scale_values_productentry) + (dst_negative_values_productentry))) /\ (exists ge_balance_positive_values_productentryvalue ge_balance_negative_values_productentryvalue. (((((scp_value_values_product) = 2 * (ge_balance_positive_values_productentryvalue) /\ (ge_balance_negative_values_productentryvalue) = 0) \/ exists ge_signed_half_values_productentryvaluedecode. (((scp_value_values_product) = 2 * ge_signed_half_values_productentryvaluedecode + 1 /\ (ge_balance_positive_values_productentryvalue) = 0) /\ (ge_balance_negative_values_productentryvalue) = S ge_signed_half_values_productentryvaluedecode))) /\ ((dst_positive_values_productentry) + ge_balance_negative_values_productentryvalue = (dst_negative_values_productentry) + ge_balance_positive_values_productentryvalue))))))))) -> (exists sto_ap_values_productmultiply sto_an_values_productmultiply sto_bp_values_productmultiply sto_bn_values_productmultiply sto_cp_values_productmultiply sto_cn_values_productmultiply. (((((scp_first_values_product) = 2 * (sto_ap_values_productmultiply) /\ (sto_an_values_productmultiply) = 0) \/ exists ge_signed_half_values_productmultiplyleft. (((scp_first_values_product) = 2 * ge_signed_half_values_productmultiplyleft + 1 /\ (sto_ap_values_productmultiply) = 0) /\ (sto_an_values_productmultiply) = S ge_signed_half_values_productmultiplyleft))) /\ ((((((scp_second_values_product) = 2 * (sto_bp_values_productmultiply) /\ (sto_bn_values_productmultiply) = 0) \/ exists ge_signed_half_values_productmultiplyright. (((scp_second_values_product) = 2 * ge_signed_half_values_productmultiplyright + 1 /\ (sto_bp_values_productmultiply) = 0) /\ (sto_bn_values_productmultiply) = S ge_signed_half_values_productmultiplyright))) /\ ((((((scp_value_values_product) = 2 * (sto_cp_values_productmultiply) /\ (sto_cn_values_productmultiply) = 0) \/ exists ge_signed_half_values_productmultiplyoutput. (((scp_value_values_product) = 2 * ge_signed_half_values_productmultiplyoutput + 1 /\ (sto_cp_values_productmultiply) = 0) /\ (sto_cn_values_productmultiply) = S ge_signed_half_values_productmultiplyoutput))) /\ ((sto_ap_values_productmultiply * sto_bp_values_productmultiply + sto_an_values_productmultiply * sto_bn_values_productmultiply) + sto_cn_values_productmultiply = (sto_ap_values_productmultiply * sto_bn_values_productmultiply + sto_an_values_productmultiply * sto_bp_values_productmultiply) + sto_cp_values_productmultiply)))))))))))))) /\ (((exists dst_positive_code_values_first dst_positive_scale_values_first dst_negative_code_values_first dst_negative_scale_values_first dst_positive_sum_values_first dst_negative_sum_values_first. (((F) = (((((dst_positive_code_values_first) + (dst_positive_scale_values_first)) * S ((dst_positive_code_values_first) + (dst_positive_scale_values_first)) + ((dst_positive_scale_values_first) + (dst_positive_scale_values_first))) + (((dst_negative_code_values_first) + (dst_negative_scale_values_first)) * S ((dst_negative_code_values_first) + (dst_negative_scale_values_first)) + ((dst_negative_scale_values_first) + (dst_negative_scale_values_first)))) * S ((((dst_positive_code_values_first) + (dst_positive_scale_values_first)) * S ((dst_positive_code_values_first) + (dst_positive_scale_values_first)) + ((dst_positive_scale_values_first) + (dst_positive_scale_values_first))) + (((dst_negative_code_values_first) + (dst_negative_scale_values_first)) * S ((dst_negative_code_values_first) + (dst_negative_scale_values_first)) + ((dst_negative_scale_values_first) + (dst_negative_scale_values_first)))) + ((((dst_negative_code_values_first) + (dst_negative_scale_values_first)) * S ((dst_negative_code_values_first) + (dst_negative_scale_values_first)) + ((dst_negative_scale_values_first) + (dst_negative_scale_values_first))) + (((dst_negative_code_values_first) + (dst_negative_scale_values_first)) * S ((dst_negative_code_values_first) + (dst_negative_scale_values_first)) + ((dst_negative_scale_values_first) + (dst_negative_scale_values_first)))))) /\ (((exists fs_u_dst_values_firstpositive fs_v_dst_values_firstpositive. ((((exists fs_h_dst_values_firstpositive_body_start. fs_h_dst_values_firstpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_values_firstpositive)) /\ exists fs_q_dst_values_firstpositive_body_start. fs_u_dst_values_firstpositive = fs_q_dst_values_firstpositive_body_start * S ((S (0)) * fs_v_dst_values_firstpositive) + (0))) /\ ((((exists fs_h_dst_values_firstpositive_body_terminal. fs_h_dst_values_firstpositive_body_terminal + S (dst_positive_sum_values_first) = S ((S (m)) * fs_v_dst_values_firstpositive)) /\ exists fs_q_dst_values_firstpositive_body_terminal. fs_u_dst_values_firstpositive = fs_q_dst_values_firstpositive_body_terminal * S ((S (m)) * fs_v_dst_values_firstpositive) + (dst_positive_sum_values_first))) /\ forall fs_i_dst_values_firstpositive_body_steps. (exists fs_lt_dst_values_firstpositive_body_steps_bound. fs_lt_dst_values_firstpositive_body_steps_bound + S fs_i_dst_values_firstpositive_body_steps = m) -> exists fs_a_dst_values_firstpositive_body_steps fs_r_dst_values_firstpositive_body_steps fs_s_dst_values_firstpositive_body_steps. ((((exists fs_h_dst_values_firstpositive_body_steps_summand. fs_h_dst_values_firstpositive_body_steps_summand + S (fs_a_dst_values_firstpositive_body_steps) = S ((S (fs_i_dst_values_firstpositive_body_steps)) * dst_positive_scale_values_first)) /\ exists fs_q_dst_values_firstpositive_body_steps_summand. dst_positive_code_values_first = fs_q_dst_values_firstpositive_body_steps_summand * S ((S (fs_i_dst_values_firstpositive_body_steps)) * dst_positive_scale_values_first) + (fs_a_dst_values_firstpositive_body_steps))) /\ ((((exists fs_h_dst_values_firstpositive_body_steps_partial. fs_h_dst_values_firstpositive_body_steps_partial + S (fs_r_dst_values_firstpositive_body_steps) = S ((S (fs_i_dst_values_firstpositive_body_steps)) * fs_v_dst_values_firstpositive)) /\ exists fs_q_dst_values_firstpositive_body_steps_partial. fs_u_dst_values_firstpositive = fs_q_dst_values_firstpositive_body_steps_partial * S ((S (fs_i_dst_values_firstpositive_body_steps)) * fs_v_dst_values_firstpositive) + (fs_r_dst_values_firstpositive_body_steps))) /\ ((((exists fs_h_dst_values_firstpositive_body_steps_successor. fs_h_dst_values_firstpositive_body_steps_successor + S (fs_s_dst_values_firstpositive_body_steps) = S ((S (S fs_i_dst_values_firstpositive_body_steps)) * fs_v_dst_values_firstpositive)) /\ exists fs_q_dst_values_firstpositive_body_steps_successor. fs_u_dst_values_firstpositive = fs_q_dst_values_firstpositive_body_steps_successor * S ((S (S fs_i_dst_values_firstpositive_body_steps)) * fs_v_dst_values_firstpositive) + (fs_s_dst_values_firstpositive_body_steps))) /\ fs_s_dst_values_firstpositive_body_steps = fs_r_dst_values_firstpositive_body_steps + fs_a_dst_values_firstpositive_body_steps)))))) /\ (((exists fs_u_dst_values_firstnegative fs_v_dst_values_firstnegative. ((((exists fs_h_dst_values_firstnegative_body_start. fs_h_dst_values_firstnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_values_firstnegative)) /\ exists fs_q_dst_values_firstnegative_body_start. fs_u_dst_values_firstnegative = fs_q_dst_values_firstnegative_body_start * S ((S (0)) * fs_v_dst_values_firstnegative) + (0))) /\ ((((exists fs_h_dst_values_firstnegative_body_terminal. fs_h_dst_values_firstnegative_body_terminal + S (dst_negative_sum_values_first) = S ((S (m)) * fs_v_dst_values_firstnegative)) /\ exists fs_q_dst_values_firstnegative_body_terminal. fs_u_dst_values_firstnegative = fs_q_dst_values_firstnegative_body_terminal * S ((S (m)) * fs_v_dst_values_firstnegative) + (dst_negative_sum_values_first))) /\ forall fs_i_dst_values_firstnegative_body_steps. (exists fs_lt_dst_values_firstnegative_body_steps_bound. fs_lt_dst_values_firstnegative_body_steps_bound + S fs_i_dst_values_firstnegative_body_steps = m) -> exists fs_a_dst_values_firstnegative_body_steps fs_r_dst_values_firstnegative_body_steps fs_s_dst_values_firstnegative_body_steps. ((((exists fs_h_dst_values_firstnegative_body_steps_summand. fs_h_dst_values_firstnegative_body_steps_summand + S (fs_a_dst_values_firstnegative_body_steps) = S ((S (fs_i_dst_values_firstnegative_body_steps)) * dst_negative_scale_values_first)) /\ exists fs_q_dst_values_firstnegative_body_steps_summand. dst_negative_code_values_first = fs_q_dst_values_firstnegative_body_steps_summand * S ((S (fs_i_dst_values_firstnegative_body_steps)) * dst_negative_scale_values_first) + (fs_a_dst_values_firstnegative_body_steps))) /\ ((((exists fs_h_dst_values_firstnegative_body_steps_partial. fs_h_dst_values_firstnegative_body_steps_partial + S (fs_r_dst_values_firstnegative_body_steps) = S ((S (fs_i_dst_values_firstnegative_body_steps)) * fs_v_dst_values_firstnegative)) /\ exists fs_q_dst_values_firstnegative_body_steps_partial. fs_u_dst_values_firstnegative = fs_q_dst_values_firstnegative_body_steps_partial * S ((S (fs_i_dst_values_firstnegative_body_steps)) * fs_v_dst_values_firstnegative) + (fs_r_dst_values_firstnegative_body_steps))) /\ ((((exists fs_h_dst_values_firstnegative_body_steps_successor. fs_h_dst_values_firstnegative_body_steps_successor + S (fs_s_dst_values_firstnegative_body_steps) = S ((S (S fs_i_dst_values_firstnegative_body_steps)) * fs_v_dst_values_firstnegative)) /\ exists fs_q_dst_values_firstnegative_body_steps_successor. fs_u_dst_values_firstnegative = fs_q_dst_values_firstnegative_body_steps_successor * S ((S (S fs_i_dst_values_firstnegative_body_steps)) * fs_v_dst_values_firstnegative) + (fs_s_dst_values_firstnegative_body_steps))) /\ fs_s_dst_values_firstnegative_body_steps = fs_r_dst_values_firstnegative_body_steps + fs_a_dst_values_firstnegative_body_steps)))))) /\ (exists ge_balance_positive_values_firstresult ge_balance_negative_values_firstresult. (((((a) = 2 * (ge_balance_positive_values_firstresult) /\ (ge_balance_negative_values_firstresult) = 0) \/ exists ge_signed_half_values_firstresultdecode. (((a) = 2 * ge_signed_half_values_firstresultdecode + 1 /\ (ge_balance_positive_values_firstresult) = 0) /\ (ge_balance_negative_values_firstresult) = S ge_signed_half_values_firstresultdecode))) /\ ((dst_positive_sum_values_first) + ge_balance_negative_values_firstresult = (dst_negative_sum_values_first) + ge_balance_positive_values_firstresult))))))))) /\ (((exists dst_positive_code_values_second dst_positive_scale_values_second dst_negative_code_values_second dst_negative_scale_values_second dst_positive_sum_values_second dst_negative_sum_values_second. (((G) = (((((dst_positive_code_values_second) + (dst_positive_scale_values_second)) * S ((dst_positive_code_values_second) + (dst_positive_scale_values_second)) + ((dst_positive_scale_values_second) + (dst_positive_scale_values_second))) + (((dst_negative_code_values_second) + (dst_negative_scale_values_second)) * S ((dst_negative_code_values_second) + (dst_negative_scale_values_second)) + ((dst_negative_scale_values_second) + (dst_negative_scale_values_second)))) * S ((((dst_positive_code_values_second) + (dst_positive_scale_values_second)) * S ((dst_positive_code_values_second) + (dst_positive_scale_values_second)) + ((dst_positive_scale_values_second) + (dst_positive_scale_values_second))) + (((dst_negative_code_values_second) + (dst_negative_scale_values_second)) * S ((dst_negative_code_values_second) + (dst_negative_scale_values_second)) + ((dst_negative_scale_values_second) + (dst_negative_scale_values_second)))) + ((((dst_negative_code_values_second) + (dst_negative_scale_values_second)) * S ((dst_negative_code_values_second) + (dst_negative_scale_values_second)) + ((dst_negative_scale_values_second) + (dst_negative_scale_values_second))) + (((dst_negative_code_values_second) + (dst_negative_scale_values_second)) * S ((dst_negative_code_values_second) + (dst_negative_scale_values_second)) + ((dst_negative_scale_values_second) + (dst_negative_scale_values_second)))))) /\ (((exists fs_u_dst_values_secondpositive fs_v_dst_values_secondpositive. ((((exists fs_h_dst_values_secondpositive_body_start. fs_h_dst_values_secondpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_values_secondpositive)) /\ exists fs_q_dst_values_secondpositive_body_start. fs_u_dst_values_secondpositive = fs_q_dst_values_secondpositive_body_start * S ((S (0)) * fs_v_dst_values_secondpositive) + (0))) /\ ((((exists fs_h_dst_values_secondpositive_body_terminal. fs_h_dst_values_secondpositive_body_terminal + S (dst_positive_sum_values_second) = S ((S (n)) * fs_v_dst_values_secondpositive)) /\ exists fs_q_dst_values_secondpositive_body_terminal. fs_u_dst_values_secondpositive = fs_q_dst_values_secondpositive_body_terminal * S ((S (n)) * fs_v_dst_values_secondpositive) + (dst_positive_sum_values_second))) /\ forall fs_i_dst_values_secondpositive_body_steps. (exists fs_lt_dst_values_secondpositive_body_steps_bound. fs_lt_dst_values_secondpositive_body_steps_bound + S fs_i_dst_values_secondpositive_body_steps = n) -> exists fs_a_dst_values_secondpositive_body_steps fs_r_dst_values_secondpositive_body_steps fs_s_dst_values_secondpositive_body_steps. ((((exists fs_h_dst_values_secondpositive_body_steps_summand. fs_h_dst_values_secondpositive_body_steps_summand + S (fs_a_dst_values_secondpositive_body_steps) = S ((S (fs_i_dst_values_secondpositive_body_steps)) * dst_positive_scale_values_second)) /\ exists fs_q_dst_values_secondpositive_body_steps_summand. dst_positive_code_values_second = fs_q_dst_values_secondpositive_body_steps_summand * S ((S (fs_i_dst_values_secondpositive_body_steps)) * dst_positive_scale_values_second) + (fs_a_dst_values_secondpositive_body_steps))) /\ ((((exists fs_h_dst_values_secondpositive_body_steps_partial. fs_h_dst_values_secondpositive_body_steps_partial + S (fs_r_dst_values_secondpositive_body_steps) = S ((S (fs_i_dst_values_secondpositive_body_steps)) * fs_v_dst_values_secondpositive)) /\ exists fs_q_dst_values_secondpositive_body_steps_partial. fs_u_dst_values_secondpositive = fs_q_dst_values_secondpositive_body_steps_partial * S ((S (fs_i_dst_values_secondpositive_body_steps)) * fs_v_dst_values_secondpositive) + (fs_r_dst_values_secondpositive_body_steps))) /\ ((((exists fs_h_dst_values_secondpositive_body_steps_successor. fs_h_dst_values_secondpositive_body_steps_successor + S (fs_s_dst_values_secondpositive_body_steps) = S ((S (S fs_i_dst_values_secondpositive_body_steps)) * fs_v_dst_values_secondpositive)) /\ exists fs_q_dst_values_secondpositive_body_steps_successor. fs_u_dst_values_secondpositive = fs_q_dst_values_secondpositive_body_steps_successor * S ((S (S fs_i_dst_values_secondpositive_body_steps)) * fs_v_dst_values_secondpositive) + (fs_s_dst_values_secondpositive_body_steps))) /\ fs_s_dst_values_secondpositive_body_steps = fs_r_dst_values_secondpositive_body_steps + fs_a_dst_values_secondpositive_body_steps)))))) /\ (((exists fs_u_dst_values_secondnegative fs_v_dst_values_secondnegative. ((((exists fs_h_dst_values_secondnegative_body_start. fs_h_dst_values_secondnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_values_secondnegative)) /\ exists fs_q_dst_values_secondnegative_body_start. fs_u_dst_values_secondnegative = fs_q_dst_values_secondnegative_body_start * S ((S (0)) * fs_v_dst_values_secondnegative) + (0))) /\ ((((exists fs_h_dst_values_secondnegative_body_terminal. fs_h_dst_values_secondnegative_body_terminal + S (dst_negative_sum_values_second) = S ((S (n)) * fs_v_dst_values_secondnegative)) /\ exists fs_q_dst_values_secondnegative_body_terminal. fs_u_dst_values_secondnegative = fs_q_dst_values_secondnegative_body_terminal * S ((S (n)) * fs_v_dst_values_secondnegative) + (dst_negative_sum_values_second))) /\ forall fs_i_dst_values_secondnegative_body_steps. (exists fs_lt_dst_values_secondnegative_body_steps_bound. fs_lt_dst_values_secondnegative_body_steps_bound + S fs_i_dst_values_secondnegative_body_steps = n) -> exists fs_a_dst_values_secondnegative_body_steps fs_r_dst_values_secondnegative_body_steps fs_s_dst_values_secondnegative_body_steps. ((((exists fs_h_dst_values_secondnegative_body_steps_summand. fs_h_dst_values_secondnegative_body_steps_summand + S (fs_a_dst_values_secondnegative_body_steps) = S ((S (fs_i_dst_values_secondnegative_body_steps)) * dst_negative_scale_values_second)) /\ exists fs_q_dst_values_secondnegative_body_steps_summand. dst_negative_code_values_second = fs_q_dst_values_secondnegative_body_steps_summand * S ((S (fs_i_dst_values_secondnegative_body_steps)) * dst_negative_scale_values_second) + (fs_a_dst_values_secondnegative_body_steps))) /\ ((((exists fs_h_dst_values_secondnegative_body_steps_partial. fs_h_dst_values_secondnegative_body_steps_partial + S (fs_r_dst_values_secondnegative_body_steps) = S ((S (fs_i_dst_values_secondnegative_body_steps)) * fs_v_dst_values_secondnegative)) /\ exists fs_q_dst_values_secondnegative_body_steps_partial. fs_u_dst_values_secondnegative = fs_q_dst_values_secondnegative_body_steps_partial * S ((S (fs_i_dst_values_secondnegative_body_steps)) * fs_v_dst_values_secondnegative) + (fs_r_dst_values_secondnegative_body_steps))) /\ ((((exists fs_h_dst_values_secondnegative_body_steps_successor. fs_h_dst_values_secondnegative_body_steps_successor + S (fs_s_dst_values_secondnegative_body_steps) = S ((S (S fs_i_dst_values_secondnegative_body_steps)) * fs_v_dst_values_secondnegative)) /\ exists fs_q_dst_values_secondnegative_body_steps_successor. fs_u_dst_values_secondnegative = fs_q_dst_values_secondnegative_body_steps_successor * S ((S (S fs_i_dst_values_secondnegative_body_steps)) * fs_v_dst_values_secondnegative) + (fs_s_dst_values_secondnegative_body_steps))) /\ fs_s_dst_values_secondnegative_body_steps = fs_r_dst_values_secondnegative_body_steps + fs_a_dst_values_secondnegative_body_steps)))))) /\ (exists ge_balance_positive_values_secondresult ge_balance_negative_values_secondresult. (((((b) = 2 * (ge_balance_positive_values_secondresult) /\ (ge_balance_negative_values_secondresult) = 0) \/ exists ge_signed_half_values_secondresultdecode. (((b) = 2 * ge_signed_half_values_secondresultdecode + 1 /\ (ge_balance_positive_values_secondresult) = 0) /\ (ge_balance_negative_values_secondresult) = S ge_signed_half_values_secondresultdecode))) /\ ((dst_positive_sum_values_second) + ge_balance_negative_values_secondresult = (dst_negative_sum_values_second) + ge_balance_positive_values_secondresult))))))))) /\ (((exists dst_positive_code_values_total dst_positive_scale_values_total dst_negative_code_values_total dst_negative_scale_values_total dst_positive_sum_values_total dst_negative_sum_values_total. (((T) = (((((dst_positive_code_values_total) + (dst_positive_scale_values_total)) * S ((dst_positive_code_values_total) + (dst_positive_scale_values_total)) + ((dst_positive_scale_values_total) + (dst_positive_scale_values_total))) + (((dst_negative_code_values_total) + (dst_negative_scale_values_total)) * S ((dst_negative_code_values_total) + (dst_negative_scale_values_total)) + ((dst_negative_scale_values_total) + (dst_negative_scale_values_total)))) * S ((((dst_positive_code_values_total) + (dst_positive_scale_values_total)) * S ((dst_positive_code_values_total) + (dst_positive_scale_values_total)) + ((dst_positive_scale_values_total) + (dst_positive_scale_values_total))) + (((dst_negative_code_values_total) + (dst_negative_scale_values_total)) * S ((dst_negative_code_values_total) + (dst_negative_scale_values_total)) + ((dst_negative_scale_values_total) + (dst_negative_scale_values_total)))) + ((((dst_negative_code_values_total) + (dst_negative_scale_values_total)) * S ((dst_negative_code_values_total) + (dst_negative_scale_values_total)) + ((dst_negative_scale_values_total) + (dst_negative_scale_values_total))) + (((dst_negative_code_values_total) + (dst_negative_scale_values_total)) * S ((dst_negative_code_values_total) + (dst_negative_scale_values_total)) + ((dst_negative_scale_values_total) + (dst_negative_scale_values_total)))))) /\ (((exists fs_u_dst_values_totalpositive fs_v_dst_values_totalpositive. ((((exists fs_h_dst_values_totalpositive_body_start. fs_h_dst_values_totalpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_values_totalpositive)) /\ exists fs_q_dst_values_totalpositive_body_start. fs_u_dst_values_totalpositive = fs_q_dst_values_totalpositive_body_start * S ((S (0)) * fs_v_dst_values_totalpositive) + (0))) /\ ((((exists fs_h_dst_values_totalpositive_body_terminal. fs_h_dst_values_totalpositive_body_terminal + S (dst_positive_sum_values_total) = S ((S (m*n)) * fs_v_dst_values_totalpositive)) /\ exists fs_q_dst_values_totalpositive_body_terminal. fs_u_dst_values_totalpositive = fs_q_dst_values_totalpositive_body_terminal * S ((S (m*n)) * fs_v_dst_values_totalpositive) + (dst_positive_sum_values_total))) /\ forall fs_i_dst_values_totalpositive_body_steps. (exists fs_lt_dst_values_totalpositive_body_steps_bound. fs_lt_dst_values_totalpositive_body_steps_bound + S fs_i_dst_values_totalpositive_body_steps = m*n) -> exists fs_a_dst_values_totalpositive_body_steps fs_r_dst_values_totalpositive_body_steps fs_s_dst_values_totalpositive_body_steps. ((((exists fs_h_dst_values_totalpositive_body_steps_summand. fs_h_dst_values_totalpositive_body_steps_summand + S (fs_a_dst_values_totalpositive_body_steps) = S ((S (fs_i_dst_values_totalpositive_body_steps)) * dst_positive_scale_values_total)) /\ exists fs_q_dst_values_totalpositive_body_steps_summand. dst_positive_code_values_total = fs_q_dst_values_totalpositive_body_steps_summand * S ((S (fs_i_dst_values_totalpositive_body_steps)) * dst_positive_scale_values_total) + (fs_a_dst_values_totalpositive_body_steps))) /\ ((((exists fs_h_dst_values_totalpositive_body_steps_partial. fs_h_dst_values_totalpositive_body_steps_partial + S (fs_r_dst_values_totalpositive_body_steps) = S ((S (fs_i_dst_values_totalpositive_body_steps)) * fs_v_dst_values_totalpositive)) /\ exists fs_q_dst_values_totalpositive_body_steps_partial. fs_u_dst_values_totalpositive = fs_q_dst_values_totalpositive_body_steps_partial * S ((S (fs_i_dst_values_totalpositive_body_steps)) * fs_v_dst_values_totalpositive) + (fs_r_dst_values_totalpositive_body_steps))) /\ ((((exists fs_h_dst_values_totalpositive_body_steps_successor. fs_h_dst_values_totalpositive_body_steps_successor + S (fs_s_dst_values_totalpositive_body_steps) = S ((S (S fs_i_dst_values_totalpositive_body_steps)) * fs_v_dst_values_totalpositive)) /\ exists fs_q_dst_values_totalpositive_body_steps_successor. fs_u_dst_values_totalpositive = fs_q_dst_values_totalpositive_body_steps_successor * S ((S (S fs_i_dst_values_totalpositive_body_steps)) * fs_v_dst_values_totalpositive) + (fs_s_dst_values_totalpositive_body_steps))) /\ fs_s_dst_values_totalpositive_body_steps = fs_r_dst_values_totalpositive_body_steps + fs_a_dst_values_totalpositive_body_steps)))))) /\ (((exists fs_u_dst_values_totalnegative fs_v_dst_values_totalnegative. ((((exists fs_h_dst_values_totalnegative_body_start. fs_h_dst_values_totalnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_values_totalnegative)) /\ exists fs_q_dst_values_totalnegative_body_start. fs_u_dst_values_totalnegative = fs_q_dst_values_totalnegative_body_start * S ((S (0)) * fs_v_dst_values_totalnegative) + (0))) /\ ((((exists fs_h_dst_values_totalnegative_body_terminal. fs_h_dst_values_totalnegative_body_terminal + S (dst_negative_sum_values_total) = S ((S (m*n)) * fs_v_dst_values_totalnegative)) /\ exists fs_q_dst_values_totalnegative_body_terminal. fs_u_dst_values_totalnegative = fs_q_dst_values_totalnegative_body_terminal * S ((S (m*n)) * fs_v_dst_values_totalnegative) + (dst_negative_sum_values_total))) /\ forall fs_i_dst_values_totalnegative_body_steps. (exists fs_lt_dst_values_totalnegative_body_steps_bound. fs_lt_dst_values_totalnegative_body_steps_bound + S fs_i_dst_values_totalnegative_body_steps = m*n) -> exists fs_a_dst_values_totalnegative_body_steps fs_r_dst_values_totalnegative_body_steps fs_s_dst_values_totalnegative_body_steps. ((((exists fs_h_dst_values_totalnegative_body_steps_summand. fs_h_dst_values_totalnegative_body_steps_summand + S (fs_a_dst_values_totalnegative_body_steps) = S ((S (fs_i_dst_values_totalnegative_body_steps)) * dst_negative_scale_values_total)) /\ exists fs_q_dst_values_totalnegative_body_steps_summand. dst_negative_code_values_total = fs_q_dst_values_totalnegative_body_steps_summand * S ((S (fs_i_dst_values_totalnegative_body_steps)) * dst_negative_scale_values_total) + (fs_a_dst_values_totalnegative_body_steps))) /\ ((((exists fs_h_dst_values_totalnegative_body_steps_partial. fs_h_dst_values_totalnegative_body_steps_partial + S (fs_r_dst_values_totalnegative_body_steps) = S ((S (fs_i_dst_values_totalnegative_body_steps)) * fs_v_dst_values_totalnegative)) /\ exists fs_q_dst_values_totalnegative_body_steps_partial. fs_u_dst_values_totalnegative = fs_q_dst_values_totalnegative_body_steps_partial * S ((S (fs_i_dst_values_totalnegative_body_steps)) * fs_v_dst_values_totalnegative) + (fs_r_dst_values_totalnegative_body_steps))) /\ ((((exists fs_h_dst_values_totalnegative_body_steps_successor. fs_h_dst_values_totalnegative_body_steps_successor + S (fs_s_dst_values_totalnegative_body_steps) = S ((S (S fs_i_dst_values_totalnegative_body_steps)) * fs_v_dst_values_totalnegative)) /\ exists fs_q_dst_values_totalnegative_body_steps_successor. fs_u_dst_values_totalnegative = fs_q_dst_values_totalnegative_body_steps_successor * S ((S (S fs_i_dst_values_totalnegative_body_steps)) * fs_v_dst_values_totalnegative) + (fs_s_dst_values_totalnegative_body_steps))) /\ fs_s_dst_values_totalnegative_body_steps = fs_r_dst_values_totalnegative_body_steps + fs_a_dst_values_totalnegative_body_steps)))))) /\ (exists ge_balance_positive_values_totalresult ge_balance_negative_values_totalresult. (((((c) = 2 * (ge_balance_positive_values_totalresult) /\ (ge_balance_negative_values_totalresult) = 0) \/ exists ge_signed_half_values_totalresultdecode. (((c) = 2 * ge_signed_half_values_totalresultdecode + 1 /\ (ge_balance_positive_values_totalresult) = 0) /\ (ge_balance_negative_values_totalresult) = S ge_signed_half_values_totalresultdecode))) /\ ((dst_positive_sum_values_total) + ge_balance_negative_values_totalresult = (dst_negative_sum_values_total) + ge_balance_positive_values_totalresult))))))))) /\ (exists sto_ap_values_result sto_an_values_result sto_bp_values_result sto_bn_values_result sto_cp_values_result sto_cn_values_result. (((((a) = 2 * (sto_ap_values_result) /\ (sto_an_values_result) = 0) \/ exists ge_signed_half_values_resultleft. (((a) = 2 * ge_signed_half_values_resultleft + 1 /\ (sto_ap_values_result) = 0) /\ (sto_an_values_result) = S ge_signed_half_values_resultleft))) /\ ((((((b) = 2 * (sto_bp_values_result) /\ (sto_bn_values_result) = 0) \/ exists ge_signed_half_values_resultright. (((b) = 2 * ge_signed_half_values_resultright + 1 /\ (sto_bp_values_result) = 0) /\ (sto_bn_values_result) = S ge_signed_half_values_resultright))) /\ ((((((c) = 2 * (sto_cp_values_result) /\ (sto_cn_values_result) = 0) \/ exists ge_signed_half_values_resultoutput. (((c) = 2 * ge_signed_half_values_resultoutput + 1 /\ (sto_cp_values_result) = 0) /\ (sto_cn_values_result) = S ge_signed_half_values_resultoutput))) /\ ((sto_ap_values_result * sto_bp_values_result + sto_an_values_result * sto_bn_values_result) + sto_cn_values_result = (sto_ap_values_result * sto_bn_values_result + sto_an_values_result * sto_bp_values_result) + sto_cp_values_result))))))))))))))

Constructive proof overview

Generated structural guide

Construct the actual outer-product table and all three signed sum traces, and prove their product relation without an assumed constructor or sum witness.

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

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

Proof neighborhood

Direct dependencies

MX0026 signed_cartesian_product_exists arithmetic_signed_sum_exists Alpha theorem; checked-use authorized MX002B signed_cartesian_product_prefix_sum

Direct dependents

none

Formal native tactic body

Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.

Read the argument

Proof checkpoints

64 script commands · 21 reading checkpoints · 4 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.

Named ingredients (2)

Long local formulas use this family’s existing definitions. Each new abbreviation was expanded back to the identical native formula, including its free-variable context. The original edition is preserved below.

01Fix variables and assumptionsL1–6

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

  1. L1
    intro F
  2. L2
    intro G
  3. L3
    intro m
  4. L4
    intro n
  5. L5
    intro hF
  6. L6
    intro hG
02Establish htL7–14

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

  1. L7
    have ht : ∃ T. SignedCartesianProduct(F,G,T,m,n)Definitions: SignedCartesianProduct
  2. L8
    specialize signed_cartesian_product_exists (F)
  3. L9
    specialize signed_cartesian_product_exists (G)
  4. L10
    specialize signed_cartesian_product_exists (m)
  5. L11
    specialize signed_cartesian_product_exists (n)
  6. L12
    apply signed_cartesian_product_exists
  7. L13
    exact hF
  8. L14
    exact hG
03Separate the logical casesL15–15

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

  1. L15
    cases ht
04Establish haL16–21

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

  1. L16
    have ha : ∃ z. SignedPrefixSum(F,m,z)Definitions: SignedPrefixSum
  2. L17
    specialize arithmetic_signed_sum_exists (0)
  3. L18
    specialize arithmetic_signed_sum_exists (F)
  4. L19
    specialize arithmetic_signed_sum_exists (m)
  5. L20
    apply arithmetic_signed_sum_exists
  6. L21
    exact hF
05Separate the logical casesL22–22

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

  1. L22
    cases ha
06Establish hbL23–28

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

  1. L23
    have hb : ∃ z. SignedPrefixSum(G,n,z)Definitions: SignedPrefixSum
  2. L24
    specialize arithmetic_signed_sum_exists (0)
  3. L25
    specialize arithmetic_signed_sum_exists (G)
  4. L26
    specialize arithmetic_signed_sum_exists (n)
  5. L27
    apply arithmetic_signed_sum_exists
  6. L28
    exact hG
07Separate the logical casesL29–29

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

  1. L29
    cases hb
08Establish hcL30–34

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

  1. L30
    have hc : ∃ z. SignedPrefixSum(x,m · n,z)Definitions: SignedPrefixSum
  2. L31
    specialize arithmetic_signed_sum_exists (m*n)
  3. L32
    specialize arithmetic_signed_sum_exists (x)
  4. L33
    specialize arithmetic_signed_sum_exists (m*n)
  5. L34
    apply arithmetic_signed_sum_exists
09Separate the logical casesL35–37

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

  1. L35
    cases ht_witness
  2. L36
    cases ht_witness_right
  3. L37
    cases ht_witness_right_right
10Use earlier factsL38–38

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

  1. L38
    exact ht_witness_right_right_left
11Separate the logical casesL39–39

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

  1. L39
    cases hc
12Construct an explicit witnessL40–43

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

  1. L40
    exists x
  2. L41
    exists x1
  3. L42
    exists x2
  4. L43
    exists x3
13Separate the logical casesL44–44

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

  1. L44
    split
14Use earlier factsL45–45

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

  1. L45
    exact ht_witness
15Separate the logical casesL46–46

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

  1. L46
    split
16Use earlier factsL47–47

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

  1. L47
    exact ha_witness
17Separate the logical casesL48–48

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

  1. L48
    split
18Use earlier factsL49–49

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

  1. L49
    exact hb_witness
19Separate the logical casesL50–50

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

  1. L50
    split
20Use earlier factsL51–60

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

  1. L51
    exact hc_witness
  2. L52
    specialize signed_cartesian_product_prefix_sum (F)
  3. L53
    specialize signed_cartesian_product_prefix_sum (G)
  4. L54
    specialize signed_cartesian_product_prefix_sum (x)
  5. L55
    specialize signed_cartesian_product_prefix_sum (m)
  6. L56
    specialize signed_cartesian_product_prefix_sum (n)
  7. L57
    specialize signed_cartesian_product_prefix_sum (x1)
  8. L58
    specialize signed_cartesian_product_prefix_sum (x2)
  9. L59
    specialize signed_cartesian_product_prefix_sum (x3)
  10. L60
    apply signed_cartesian_product_prefix_sum
21Use earlier factsL61–64

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

  1. L61
    exact ht_witness
  2. L62
    exact ha_witness
  3. L63
    exact hb_witness
  4. L64
    exact hc_witness

Library-wide reading audit

Original exact command ledger · 64 lines
  1. 0001intro F
  2. 0002intro G
  3. 0003intro m
  4. 0004intro n
  5. 0005intro hF
  6. 0006intro hG
  7. 0007have ht : exists T. (((exists dst_positive_code_values_tableF dst_positive_scale_values_tableF dst_negative_code_values_tableF dst_negative_scale_values_tableF. (((F) = (((((dst_positive_code_values_tableF) + (dst_positive_scale_values_tableF)) * S ((dst_positive_code_values_tableF) + (dst_positive_scale_values_tableF)) + ((dst_positive_scale_values_tableF) + (dst_positive_scale_values_tableF))) + (((dst_negative_code_values_tableF) + (dst_negative_scale_values_tableF)) * S ((dst_negative_code_values_tableF) + (dst_negative_scale_values_tableF)) + ((dst_negative_scale_values_tableF) + (dst_negative_scale_values_tableF)))) * S ((((dst_positive_code_values_tableF) + (dst_positive_scale_values_tableF)) * S ((dst_positive_code_values_tableF) + (dst_positive_scale_values_tableF)) + ((dst_positive_scale_values_tableF) + (dst_positive_scale_values_tableF))) + (((dst_negative_code_values_tableF) + (dst_negative_scale_values_tableF)) * S ((dst_negative_code_values_tableF) + (dst_negative_scale_values_tableF)) + ((dst_negative_scale_values_tableF) + (dst_negative_scale_values_tableF)))) + ((((dst_negative_code_values_tableF) + (dst_negative_scale_values_tableF)) * S ((dst_negative_code_values_tableF) + (dst_negative_scale_values_tableF)) + ((dst_negative_scale_values_tableF) + (dst_negative_scale_values_tableF))) + (((dst_negative_code_values_tableF) + (dst_negative_scale_values_tableF)) * S ((dst_negative_code_values_tableF) + (dst_negative_scale_values_tableF)) + ((dst_negative_scale_values_tableF) + (dst_negative_scale_values_tableF)))))) /\ (forall dst_index_values_tableF. (exists pvs_le_gap_values_tableFdomain. pvs_le_gap_values_tableFdomain + (dst_index_values_tableF) = (0)) -> exists dst_positive_values_tableF dst_negative_values_tableF dst_value_values_tableF. ((((exists ff_h_pvs_values_tableFentrypositive. ff_h_pvs_values_tableFentrypositive + S (dst_positive_values_tableF) = S ((S (dst_index_values_tableF)) * dst_positive_scale_values_tableF)) /\ exists ff_q_pvs_values_tableFentrypositive. dst_positive_code_values_tableF = ff_q_pvs_values_tableFentrypositive * S ((S (dst_index_values_tableF)) * dst_positive_scale_values_tableF) + (dst_positive_values_tableF))) /\ (((((exists ff_h_pvs_values_tableFentrynegative. ff_h_pvs_values_tableFentrynegative + S (dst_negative_values_tableF) = S ((S (dst_index_values_tableF)) * dst_negative_scale_values_tableF)) /\ exists ff_q_pvs_values_tableFentrynegative. dst_negative_code_values_tableF = ff_q_pvs_values_tableFentrynegative * S ((S (dst_index_values_tableF)) * dst_negative_scale_values_tableF) + (dst_negative_values_tableF))) /\ (exists ge_balance_positive_values_tableFentryvalue ge_balance_negative_values_tableFentryvalue. (((((dst_value_values_tableF) = 2 * (ge_balance_positive_values_tableFentryvalue) /\ (ge_balance_negative_values_tableFentryvalue) = 0) \/ exists ge_signed_half_values_tableFentryvaluedecode. (((dst_value_values_tableF) = 2 * ge_signed_half_values_tableFentryvaluedecode + 1 /\ (ge_balance_positive_values_tableFentryvalue) = 0) /\ (ge_balance_negative_values_tableFentryvalue) = S ge_signed_half_values_tableFentryvaluedecode))) /\ ((dst_positive_values_tableF) + ge_balance_negative_values_tableFentryvalue = (dst_negative_values_tableF) + ge_balance_positive_values_tableFentryvalue))))))))) /\ (((exists dst_positive_code_values_tableG dst_positive_scale_values_tableG dst_negative_code_values_tableG dst_negative_scale_values_tableG. (((G) = (((((dst_positive_code_values_tableG) + (dst_positive_scale_values_tableG)) * S ((dst_positive_code_values_tableG) + (dst_positive_scale_values_tableG)) + ((dst_positive_scale_values_tableG) + (dst_positive_scale_values_tableG))) + (((dst_negative_code_values_tableG) + (dst_negative_scale_values_tableG)) * S ((dst_negative_code_values_tableG) + (dst_negative_scale_values_tableG)) + ((dst_negative_scale_values_tableG) + (dst_negative_scale_values_tableG)))) * S ((((dst_positive_code_values_tableG) + (dst_positive_scale_values_tableG)) * S ((dst_positive_code_values_tableG) + (dst_positive_scale_values_tableG)) + ((dst_positive_scale_values_tableG) + (dst_positive_scale_values_tableG))) + (((dst_negative_code_values_tableG) + (dst_negative_scale_values_tableG)) * S ((dst_negative_code_values_tableG) + (dst_negative_scale_values_tableG)) + ((dst_negative_scale_values_tableG) + (dst_negative_scale_values_tableG)))) + ((((dst_negative_code_values_tableG) + (dst_negative_scale_values_tableG)) * S ((dst_negative_code_values_tableG) + (dst_negative_scale_values_tableG)) + ((dst_negative_scale_values_tableG) + (dst_negative_scale_values_tableG))) + (((dst_negative_code_values_tableG) + (dst_negative_scale_values_tableG)) * S ((dst_negative_code_values_tableG) + (dst_negative_scale_values_tableG)) + ((dst_negative_scale_values_tableG) + (dst_negative_scale_values_tableG)))))) /\ (forall dst_index_values_tableG. (exists pvs_le_gap_values_tableGdomain. pvs_le_gap_values_tableGdomain + (dst_index_values_tableG) = (0)) -> exists dst_positive_values_tableG dst_negative_values_tableG dst_value_values_tableG. ((((exists ff_h_pvs_values_tableGentrypositive. ff_h_pvs_values_tableGentrypositive + S (dst_positive_values_tableG) = S ((S (dst_index_values_tableG)) * dst_positive_scale_values_tableG)) /\ exists ff_q_pvs_values_tableGentrypositive. dst_positive_code_values_tableG = ff_q_pvs_values_tableGentrypositive * S ((S (dst_index_values_tableG)) * dst_positive_scale_values_tableG) + (dst_positive_values_tableG))) /\ (((((exists ff_h_pvs_values_tableGentrynegative. ff_h_pvs_values_tableGentrynegative + S (dst_negative_values_tableG) = S ((S (dst_index_values_tableG)) * dst_negative_scale_values_tableG)) /\ exists ff_q_pvs_values_tableGentrynegative. dst_negative_code_values_tableG = ff_q_pvs_values_tableGentrynegative * S ((S (dst_index_values_tableG)) * dst_negative_scale_values_tableG) + (dst_negative_values_tableG))) /\ (exists ge_balance_positive_values_tableGentryvalue ge_balance_negative_values_tableGentryvalue. (((((dst_value_values_tableG) = 2 * (ge_balance_positive_values_tableGentryvalue) /\ (ge_balance_negative_values_tableGentryvalue) = 0) \/ exists ge_signed_half_values_tableGentryvaluedecode. (((dst_value_values_tableG) = 2 * ge_signed_half_values_tableGentryvaluedecode + 1 /\ (ge_balance_positive_values_tableGentryvalue) = 0) /\ (ge_balance_negative_values_tableGentryvalue) = S ge_signed_half_values_tableGentryvaluedecode))) /\ ((dst_positive_values_tableG) + ge_balance_negative_values_tableGentryvalue = (dst_negative_values_tableG) + ge_balance_positive_values_tableGentryvalue))))))))) /\ (((exists dst_positive_code_values_tableT dst_positive_scale_values_tableT dst_negative_code_values_tableT dst_negative_scale_values_tableT. (((T) = (((((dst_positive_code_values_tableT) + (dst_positive_scale_values_tableT)) * S ((dst_positive_code_values_tableT) + (dst_positive_scale_values_tableT)) + ((dst_positive_scale_values_tableT) + (dst_positive_scale_values_tableT))) + (((dst_negative_code_values_tableT) + (dst_negative_scale_values_tableT)) * S ((dst_negative_code_values_tableT) + (dst_negative_scale_values_tableT)) + ((dst_negative_scale_values_tableT) + (dst_negative_scale_values_tableT)))) * S ((((dst_positive_code_values_tableT) + (dst_positive_scale_values_tableT)) * S ((dst_positive_code_values_tableT) + (dst_positive_scale_values_tableT)) + ((dst_positive_scale_values_tableT) + (dst_positive_scale_values_tableT))) + (((dst_negative_code_values_tableT) + (dst_negative_scale_values_tableT)) * S ((dst_negative_code_values_tableT) + (dst_negative_scale_values_tableT)) + ((dst_negative_scale_values_tableT) + (dst_negative_scale_values_tableT)))) + ((((dst_negative_code_values_tableT) + (dst_negative_scale_values_tableT)) * S ((dst_negative_code_values_tableT) + (dst_negative_scale_values_tableT)) + ((dst_negative_scale_values_tableT) + (dst_negative_scale_values_tableT))) + (((dst_negative_code_values_tableT) + (dst_negative_scale_values_tableT)) * S ((dst_negative_code_values_tableT) + (dst_negative_scale_values_tableT)) + ((dst_negative_scale_values_tableT) + (dst_negative_scale_values_tableT)))))) /\ (forall dst_index_values_tableT. (exists pvs_le_gap_values_tableTdomain. pvs_le_gap_values_tableTdomain + (dst_index_values_tableT) = ((m)*(n))) -> exists dst_positive_values_tableT dst_negative_values_tableT dst_value_values_tableT. ((((exists ff_h_pvs_values_tableTentrypositive. ff_h_pvs_values_tableTentrypositive + S (dst_positive_values_tableT) = S ((S (dst_index_values_tableT)) * dst_positive_scale_values_tableT)) /\ exists ff_q_pvs_values_tableTentrypositive. dst_positive_code_values_tableT = ff_q_pvs_values_tableTentrypositive * S ((S (dst_index_values_tableT)) * dst_positive_scale_values_tableT) + (dst_positive_values_tableT))) /\ (((((exists ff_h_pvs_values_tableTentrynegative. ff_h_pvs_values_tableTentrynegative + S (dst_negative_values_tableT) = S ((S (dst_index_values_tableT)) * dst_negative_scale_values_tableT)) /\ exists ff_q_pvs_values_tableTentrynegative. dst_negative_code_values_tableT = ff_q_pvs_values_tableTentrynegative * S ((S (dst_index_values_tableT)) * dst_negative_scale_values_tableT) + (dst_negative_values_tableT))) /\ (exists ge_balance_positive_values_tableTentryvalue ge_balance_negative_values_tableTentryvalue. (((((dst_value_values_tableT) = 2 * (ge_balance_positive_values_tableTentryvalue) /\ (ge_balance_negative_values_tableTentryvalue) = 0) \/ exists ge_signed_half_values_tableTentryvaluedecode. (((dst_value_values_tableT) = 2 * ge_signed_half_values_tableTentryvaluedecode + 1 /\ (ge_balance_positive_values_tableTentryvalue) = 0) /\ (ge_balance_negative_values_tableTentryvalue) = S ge_signed_half_values_tableTentryvaluedecode))) /\ ((dst_positive_values_tableT) + ge_balance_negative_values_tableTentryvalue = (dst_negative_values_tableT) + ge_balance_positive_values_tableTentryvalue))))))))) /\ (forall scp_row_values_table scp_column_values_table scp_first_values_table scp_second_values_table scp_value_values_table. (exists pvs_gap_values_tablerows. pvs_gap_values_tablerows + S (scp_row_values_table) = (m)) -> (exists pvs_gap_values_tablecolumns. pvs_gap_values_tablecolumns + S (scp_column_values_table) = (n)) -> (exists dst_positive_code_values_tablefirst dst_positive_scale_values_tablefirst dst_negative_code_values_tablefirst dst_negative_scale_values_tablefirst dst_positive_values_tablefirst dst_negative_values_tablefirst. (((F) = (((((dst_positive_code_values_tablefirst) + (dst_positive_scale_values_tablefirst)) * S ((dst_positive_code_values_tablefirst) + (dst_positive_scale_values_tablefirst)) + ((dst_positive_scale_values_tablefirst) + (dst_positive_scale_values_tablefirst))) + (((dst_negative_code_values_tablefirst) + (dst_negative_scale_values_tablefirst)) * S ((dst_negative_code_values_tablefirst) + (dst_negative_scale_values_tablefirst)) + ((dst_negative_scale_values_tablefirst) + (dst_negative_scale_values_tablefirst)))) * S ((((dst_positive_code_values_tablefirst) + (dst_positive_scale_values_tablefirst)) * S ((dst_positive_code_values_tablefirst) + (dst_positive_scale_values_tablefirst)) + ((dst_positive_scale_values_tablefirst) + (dst_positive_scale_values_tablefirst))) + (((dst_negative_code_values_tablefirst) + (dst_negative_scale_values_tablefirst)) * S ((dst_negative_code_values_tablefirst) + (dst_negative_scale_values_tablefirst)) + ((dst_negative_scale_values_tablefirst) + (dst_negative_scale_values_tablefirst)))) + ((((dst_negative_code_values_tablefirst) + (dst_negative_scale_values_tablefirst)) * S ((dst_negative_code_values_tablefirst) + (dst_negative_scale_values_tablefirst)) + ((dst_negative_scale_values_tablefirst) + (dst_negative_scale_values_tablefirst))) + (((dst_negative_code_values_tablefirst) + (dst_negative_scale_values_tablefirst)) * S ((dst_negative_code_values_tablefirst) + (dst_negative_scale_values_tablefirst)) + ((dst_negative_scale_values_tablefirst) + (dst_negative_scale_values_tablefirst)))))) /\ (((((exists ff_h_pvs_values_tablefirstpositive. ff_h_pvs_values_tablefirstpositive + S (dst_positive_values_tablefirst) = S ((S (scp_row_values_table)) * dst_positive_scale_values_tablefirst)) /\ exists ff_q_pvs_values_tablefirstpositive. dst_positive_code_values_tablefirst = ff_q_pvs_values_tablefirstpositive * S ((S (scp_row_values_table)) * dst_positive_scale_values_tablefirst) + (dst_positive_values_tablefirst))) /\ (((((exists ff_h_pvs_values_tablefirstnegative. ff_h_pvs_values_tablefirstnegative + S (dst_negative_values_tablefirst) = S ((S (scp_row_values_table)) * dst_negative_scale_values_tablefirst)) /\ exists ff_q_pvs_values_tablefirstnegative. dst_negative_code_values_tablefirst = ff_q_pvs_values_tablefirstnegative * S ((S (scp_row_values_table)) * dst_negative_scale_values_tablefirst) + (dst_negative_values_tablefirst))) /\ (exists ge_balance_positive_values_tablefirstvalue ge_balance_negative_values_tablefirstvalue. (((((scp_first_values_table) = 2 * (ge_balance_positive_values_tablefirstvalue) /\ (ge_balance_negative_values_tablefirstvalue) = 0) \/ exists ge_signed_half_values_tablefirstvaluedecode. (((scp_first_values_table) = 2 * ge_signed_half_values_tablefirstvaluedecode + 1 /\ (ge_balance_positive_values_tablefirstvalue) = 0) /\ (ge_balance_negative_values_tablefirstvalue) = S ge_signed_half_values_tablefirstvaluedecode))) /\ ((dst_positive_values_tablefirst) + ge_balance_negative_values_tablefirstvalue = (dst_negative_values_tablefirst) + ge_balance_positive_values_tablefirstvalue))))))))) -> (exists dst_positive_code_values_tablesecond dst_positive_scale_values_tablesecond dst_negative_code_values_tablesecond dst_negative_scale_values_tablesecond dst_positive_values_tablesecond dst_negative_values_tablesecond. (((G) = (((((dst_positive_code_values_tablesecond) + (dst_positive_scale_values_tablesecond)) * S ((dst_positive_code_values_tablesecond) + (dst_positive_scale_values_tablesecond)) + ((dst_positive_scale_values_tablesecond) + (dst_positive_scale_values_tablesecond))) + (((dst_negative_code_values_tablesecond) + (dst_negative_scale_values_tablesecond)) * S ((dst_negative_code_values_tablesecond) + (dst_negative_scale_values_tablesecond)) + ((dst_negative_scale_values_tablesecond) + (dst_negative_scale_values_tablesecond)))) * S ((((dst_positive_code_values_tablesecond) + (dst_positive_scale_values_tablesecond)) * S ((dst_positive_code_values_tablesecond) + (dst_positive_scale_values_tablesecond)) + ((dst_positive_scale_values_tablesecond) + (dst_positive_scale_values_tablesecond))) + (((dst_negative_code_values_tablesecond) + (dst_negative_scale_values_tablesecond)) * S ((dst_negative_code_values_tablesecond) + (dst_negative_scale_values_tablesecond)) + ((dst_negative_scale_values_tablesecond) + (dst_negative_scale_values_tablesecond)))) + ((((dst_negative_code_values_tablesecond) + (dst_negative_scale_values_tablesecond)) * S ((dst_negative_code_values_tablesecond) + (dst_negative_scale_values_tablesecond)) + ((dst_negative_scale_values_tablesecond) + (dst_negative_scale_values_tablesecond))) + (((dst_negative_code_values_tablesecond) + (dst_negative_scale_values_tablesecond)) * S ((dst_negative_code_values_tablesecond) + (dst_negative_scale_values_tablesecond)) + ((dst_negative_scale_values_tablesecond) + (dst_negative_scale_values_tablesecond)))))) /\ (((((exists ff_h_pvs_values_tablesecondpositive. ff_h_pvs_values_tablesecondpositive + S (dst_positive_values_tablesecond) = S ((S (scp_column_values_table)) * dst_positive_scale_values_tablesecond)) /\ exists ff_q_pvs_values_tablesecondpositive. dst_positive_code_values_tablesecond = ff_q_pvs_values_tablesecondpositive * S ((S (scp_column_values_table)) * dst_positive_scale_values_tablesecond) + (dst_positive_values_tablesecond))) /\ (((((exists ff_h_pvs_values_tablesecondnegative. ff_h_pvs_values_tablesecondnegative + S (dst_negative_values_tablesecond) = S ((S (scp_column_values_table)) * dst_negative_scale_values_tablesecond)) /\ exists ff_q_pvs_values_tablesecondnegative. dst_negative_code_values_tablesecond = ff_q_pvs_values_tablesecondnegative * S ((S (scp_column_values_table)) * dst_negative_scale_values_tablesecond) + (dst_negative_values_tablesecond))) /\ (exists ge_balance_positive_values_tablesecondvalue ge_balance_negative_values_tablesecondvalue. (((((scp_second_values_table) = 2 * (ge_balance_positive_values_tablesecondvalue) /\ (ge_balance_negative_values_tablesecondvalue) = 0) \/ exists ge_signed_half_values_tablesecondvaluedecode. (((scp_second_values_table) = 2 * ge_signed_half_values_tablesecondvaluedecode + 1 /\ (ge_balance_positive_values_tablesecondvalue) = 0) /\ (ge_balance_negative_values_tablesecondvalue) = S ge_signed_half_values_tablesecondvaluedecode))) /\ ((dst_positive_values_tablesecond) + ge_balance_negative_values_tablesecondvalue = (dst_negative_values_tablesecond) + ge_balance_positive_values_tablesecondvalue))))))))) -> (exists dst_positive_code_values_tableentry dst_positive_scale_values_tableentry dst_negative_code_values_tableentry dst_negative_scale_values_tableentry dst_positive_values_tableentry dst_negative_values_tableentry. (((T) = (((((dst_positive_code_values_tableentry) + (dst_positive_scale_values_tableentry)) * S ((dst_positive_code_values_tableentry) + (dst_positive_scale_values_tableentry)) + ((dst_positive_scale_values_tableentry) + (dst_positive_scale_values_tableentry))) + (((dst_negative_code_values_tableentry) + (dst_negative_scale_values_tableentry)) * S ((dst_negative_code_values_tableentry) + (dst_negative_scale_values_tableentry)) + ((dst_negative_scale_values_tableentry) + (dst_negative_scale_values_tableentry)))) * S ((((dst_positive_code_values_tableentry) + (dst_positive_scale_values_tableentry)) * S ((dst_positive_code_values_tableentry) + (dst_positive_scale_values_tableentry)) + ((dst_positive_scale_values_tableentry) + (dst_positive_scale_values_tableentry))) + (((dst_negative_code_values_tableentry) + (dst_negative_scale_values_tableentry)) * S ((dst_negative_code_values_tableentry) + (dst_negative_scale_values_tableentry)) + ((dst_negative_scale_values_tableentry) + (dst_negative_scale_values_tableentry)))) + ((((dst_negative_code_values_tableentry) + (dst_negative_scale_values_tableentry)) * S ((dst_negative_code_values_tableentry) + (dst_negative_scale_values_tableentry)) + ((dst_negative_scale_values_tableentry) + (dst_negative_scale_values_tableentry))) + (((dst_negative_code_values_tableentry) + (dst_negative_scale_values_tableentry)) * S ((dst_negative_code_values_tableentry) + (dst_negative_scale_values_tableentry)) + ((dst_negative_scale_values_tableentry) + (dst_negative_scale_values_tableentry)))))) /\ (((((exists ff_h_pvs_values_tableentrypositive. ff_h_pvs_values_tableentrypositive + S (dst_positive_values_tableentry) = S ((S (((n)*(scp_row_values_table)+(scp_column_values_table)))) * dst_positive_scale_values_tableentry)) /\ exists ff_q_pvs_values_tableentrypositive. dst_positive_code_values_tableentry = ff_q_pvs_values_tableentrypositive * S ((S (((n)*(scp_row_values_table)+(scp_column_values_table)))) * dst_positive_scale_values_tableentry) + (dst_positive_values_tableentry))) /\ (((((exists ff_h_pvs_values_tableentrynegative. ff_h_pvs_values_tableentrynegative + S (dst_negative_values_tableentry) = S ((S (((n)*(scp_row_values_table)+(scp_column_values_table)))) * dst_negative_scale_values_tableentry)) /\ exists ff_q_pvs_values_tableentrynegative. dst_negative_code_values_tableentry = ff_q_pvs_values_tableentrynegative * S ((S (((n)*(scp_row_values_table)+(scp_column_values_table)))) * dst_negative_scale_values_tableentry) + (dst_negative_values_tableentry))) /\ (exists ge_balance_positive_values_tableentryvalue ge_balance_negative_values_tableentryvalue. (((((scp_value_values_table) = 2 * (ge_balance_positive_values_tableentryvalue) /\ (ge_balance_negative_values_tableentryvalue) = 0) \/ exists ge_signed_half_values_tableentryvaluedecode. (((scp_value_values_table) = 2 * ge_signed_half_values_tableentryvaluedecode + 1 /\ (ge_balance_positive_values_tableentryvalue) = 0) /\ (ge_balance_negative_values_tableentryvalue) = S ge_signed_half_values_tableentryvaluedecode))) /\ ((dst_positive_values_tableentry) + ge_balance_negative_values_tableentryvalue = (dst_negative_values_tableentry) + ge_balance_positive_values_tableentryvalue))))))))) -> (exists sto_ap_values_tablemultiply sto_an_values_tablemultiply sto_bp_values_tablemultiply sto_bn_values_tablemultiply sto_cp_values_tablemultiply sto_cn_values_tablemultiply. (((((scp_first_values_table) = 2 * (sto_ap_values_tablemultiply) /\ (sto_an_values_tablemultiply) = 0) \/ exists ge_signed_half_values_tablemultiplyleft. (((scp_first_values_table) = 2 * ge_signed_half_values_tablemultiplyleft + 1 /\ (sto_ap_values_tablemultiply) = 0) /\ (sto_an_values_tablemultiply) = S ge_signed_half_values_tablemultiplyleft))) /\ ((((((scp_second_values_table) = 2 * (sto_bp_values_tablemultiply) /\ (sto_bn_values_tablemultiply) = 0) \/ exists ge_signed_half_values_tablemultiplyright. (((scp_second_values_table) = 2 * ge_signed_half_values_tablemultiplyright + 1 /\ (sto_bp_values_tablemultiply) = 0) /\ (sto_bn_values_tablemultiply) = S ge_signed_half_values_tablemultiplyright))) /\ ((((((scp_value_values_table) = 2 * (sto_cp_values_tablemultiply) /\ (sto_cn_values_tablemultiply) = 0) \/ exists ge_signed_half_values_tablemultiplyoutput. (((scp_value_values_table) = 2 * ge_signed_half_values_tablemultiplyoutput + 1 /\ (sto_cp_values_tablemultiply) = 0) /\ (sto_cn_values_tablemultiply) = S ge_signed_half_values_tablemultiplyoutput))) /\ ((sto_ap_values_tablemultiply * sto_bp_values_tablemultiply + sto_an_values_tablemultiply * sto_bn_values_tablemultiply) + sto_cn_values_tablemultiply = (sto_ap_values_tablemultiply * sto_bn_values_tablemultiply + sto_an_values_tablemultiply * sto_bp_values_tablemultiply) + sto_cp_values_tablemultiply))))))))))))))
  8. 0008specialize signed_cartesian_product_exists (F)
  9. 0009specialize signed_cartesian_product_exists (G)
  10. 0010specialize signed_cartesian_product_exists (m)
  11. 0011specialize signed_cartesian_product_exists (n)
  12. 0012apply signed_cartesian_product_exists
  13. 0013exact hF
  14. 0014exact hG
  15. 0015cases ht
  16. 0016have ha : exists z. (exists dst_positive_code_values_ha dst_positive_scale_values_ha dst_negative_code_values_ha dst_negative_scale_values_ha dst_positive_sum_values_ha dst_negative_sum_values_ha. (((F) = (((((dst_positive_code_values_ha) + (dst_positive_scale_values_ha)) * S ((dst_positive_code_values_ha) + (dst_positive_scale_values_ha)) + ((dst_positive_scale_values_ha) + (dst_positive_scale_values_ha))) + (((dst_negative_code_values_ha) + (dst_negative_scale_values_ha)) * S ((dst_negative_code_values_ha) + (dst_negative_scale_values_ha)) + ((dst_negative_scale_values_ha) + (dst_negative_scale_values_ha)))) * S ((((dst_positive_code_values_ha) + (dst_positive_scale_values_ha)) * S ((dst_positive_code_values_ha) + (dst_positive_scale_values_ha)) + ((dst_positive_scale_values_ha) + (dst_positive_scale_values_ha))) + (((dst_negative_code_values_ha) + (dst_negative_scale_values_ha)) * S ((dst_negative_code_values_ha) + (dst_negative_scale_values_ha)) + ((dst_negative_scale_values_ha) + (dst_negative_scale_values_ha)))) + ((((dst_negative_code_values_ha) + (dst_negative_scale_values_ha)) * S ((dst_negative_code_values_ha) + (dst_negative_scale_values_ha)) + ((dst_negative_scale_values_ha) + (dst_negative_scale_values_ha))) + (((dst_negative_code_values_ha) + (dst_negative_scale_values_ha)) * S ((dst_negative_code_values_ha) + (dst_negative_scale_values_ha)) + ((dst_negative_scale_values_ha) + (dst_negative_scale_values_ha)))))) /\ (((exists fs_u_dst_values_hapositive fs_v_dst_values_hapositive. ((((exists fs_h_dst_values_hapositive_body_start. fs_h_dst_values_hapositive_body_start + S (0) = S ((S (0)) * fs_v_dst_values_hapositive)) /\ exists fs_q_dst_values_hapositive_body_start. fs_u_dst_values_hapositive = fs_q_dst_values_hapositive_body_start * S ((S (0)) * fs_v_dst_values_hapositive) + (0))) /\ ((((exists fs_h_dst_values_hapositive_body_terminal. fs_h_dst_values_hapositive_body_terminal + S (dst_positive_sum_values_ha) = S ((S (m)) * fs_v_dst_values_hapositive)) /\ exists fs_q_dst_values_hapositive_body_terminal. fs_u_dst_values_hapositive = fs_q_dst_values_hapositive_body_terminal * S ((S (m)) * fs_v_dst_values_hapositive) + (dst_positive_sum_values_ha))) /\ forall fs_i_dst_values_hapositive_body_steps. (exists fs_lt_dst_values_hapositive_body_steps_bound. fs_lt_dst_values_hapositive_body_steps_bound + S fs_i_dst_values_hapositive_body_steps = m) -> exists fs_a_dst_values_hapositive_body_steps fs_r_dst_values_hapositive_body_steps fs_s_dst_values_hapositive_body_steps. ((((exists fs_h_dst_values_hapositive_body_steps_summand. fs_h_dst_values_hapositive_body_steps_summand + S (fs_a_dst_values_hapositive_body_steps) = S ((S (fs_i_dst_values_hapositive_body_steps)) * dst_positive_scale_values_ha)) /\ exists fs_q_dst_values_hapositive_body_steps_summand. dst_positive_code_values_ha = fs_q_dst_values_hapositive_body_steps_summand * S ((S (fs_i_dst_values_hapositive_body_steps)) * dst_positive_scale_values_ha) + (fs_a_dst_values_hapositive_body_steps))) /\ ((((exists fs_h_dst_values_hapositive_body_steps_partial. fs_h_dst_values_hapositive_body_steps_partial + S (fs_r_dst_values_hapositive_body_steps) = S ((S (fs_i_dst_values_hapositive_body_steps)) * fs_v_dst_values_hapositive)) /\ exists fs_q_dst_values_hapositive_body_steps_partial. fs_u_dst_values_hapositive = fs_q_dst_values_hapositive_body_steps_partial * S ((S (fs_i_dst_values_hapositive_body_steps)) * fs_v_dst_values_hapositive) + (fs_r_dst_values_hapositive_body_steps))) /\ ((((exists fs_h_dst_values_hapositive_body_steps_successor. fs_h_dst_values_hapositive_body_steps_successor + S (fs_s_dst_values_hapositive_body_steps) = S ((S (S fs_i_dst_values_hapositive_body_steps)) * fs_v_dst_values_hapositive)) /\ exists fs_q_dst_values_hapositive_body_steps_successor. fs_u_dst_values_hapositive = fs_q_dst_values_hapositive_body_steps_successor * S ((S (S fs_i_dst_values_hapositive_body_steps)) * fs_v_dst_values_hapositive) + (fs_s_dst_values_hapositive_body_steps))) /\ fs_s_dst_values_hapositive_body_steps = fs_r_dst_values_hapositive_body_steps + fs_a_dst_values_hapositive_body_steps)))))) /\ (((exists fs_u_dst_values_hanegative fs_v_dst_values_hanegative. ((((exists fs_h_dst_values_hanegative_body_start. fs_h_dst_values_hanegative_body_start + S (0) = S ((S (0)) * fs_v_dst_values_hanegative)) /\ exists fs_q_dst_values_hanegative_body_start. fs_u_dst_values_hanegative = fs_q_dst_values_hanegative_body_start * S ((S (0)) * fs_v_dst_values_hanegative) + (0))) /\ ((((exists fs_h_dst_values_hanegative_body_terminal. fs_h_dst_values_hanegative_body_terminal + S (dst_negative_sum_values_ha) = S ((S (m)) * fs_v_dst_values_hanegative)) /\ exists fs_q_dst_values_hanegative_body_terminal. fs_u_dst_values_hanegative = fs_q_dst_values_hanegative_body_terminal * S ((S (m)) * fs_v_dst_values_hanegative) + (dst_negative_sum_values_ha))) /\ forall fs_i_dst_values_hanegative_body_steps. (exists fs_lt_dst_values_hanegative_body_steps_bound. fs_lt_dst_values_hanegative_body_steps_bound + S fs_i_dst_values_hanegative_body_steps = m) -> exists fs_a_dst_values_hanegative_body_steps fs_r_dst_values_hanegative_body_steps fs_s_dst_values_hanegative_body_steps. ((((exists fs_h_dst_values_hanegative_body_steps_summand. fs_h_dst_values_hanegative_body_steps_summand + S (fs_a_dst_values_hanegative_body_steps) = S ((S (fs_i_dst_values_hanegative_body_steps)) * dst_negative_scale_values_ha)) /\ exists fs_q_dst_values_hanegative_body_steps_summand. dst_negative_code_values_ha = fs_q_dst_values_hanegative_body_steps_summand * S ((S (fs_i_dst_values_hanegative_body_steps)) * dst_negative_scale_values_ha) + (fs_a_dst_values_hanegative_body_steps))) /\ ((((exists fs_h_dst_values_hanegative_body_steps_partial. fs_h_dst_values_hanegative_body_steps_partial + S (fs_r_dst_values_hanegative_body_steps) = S ((S (fs_i_dst_values_hanegative_body_steps)) * fs_v_dst_values_hanegative)) /\ exists fs_q_dst_values_hanegative_body_steps_partial. fs_u_dst_values_hanegative = fs_q_dst_values_hanegative_body_steps_partial * S ((S (fs_i_dst_values_hanegative_body_steps)) * fs_v_dst_values_hanegative) + (fs_r_dst_values_hanegative_body_steps))) /\ ((((exists fs_h_dst_values_hanegative_body_steps_successor. fs_h_dst_values_hanegative_body_steps_successor + S (fs_s_dst_values_hanegative_body_steps) = S ((S (S fs_i_dst_values_hanegative_body_steps)) * fs_v_dst_values_hanegative)) /\ exists fs_q_dst_values_hanegative_body_steps_successor. fs_u_dst_values_hanegative = fs_q_dst_values_hanegative_body_steps_successor * S ((S (S fs_i_dst_values_hanegative_body_steps)) * fs_v_dst_values_hanegative) + (fs_s_dst_values_hanegative_body_steps))) /\ fs_s_dst_values_hanegative_body_steps = fs_r_dst_values_hanegative_body_steps + fs_a_dst_values_hanegative_body_steps)))))) /\ (exists ge_balance_positive_values_haresult ge_balance_negative_values_haresult. (((((z) = 2 * (ge_balance_positive_values_haresult) /\ (ge_balance_negative_values_haresult) = 0) \/ exists ge_signed_half_values_haresultdecode. (((z) = 2 * ge_signed_half_values_haresultdecode + 1 /\ (ge_balance_positive_values_haresult) = 0) /\ (ge_balance_negative_values_haresult) = S ge_signed_half_values_haresultdecode))) /\ ((dst_positive_sum_values_ha) + ge_balance_negative_values_haresult = (dst_negative_sum_values_ha) + ge_balance_positive_values_haresult)))))))))
  17. 0017specialize arithmetic_signed_sum_exists (0)
  18. 0018specialize arithmetic_signed_sum_exists (F)
  19. 0019specialize arithmetic_signed_sum_exists (m)
  20. 0020apply arithmetic_signed_sum_exists
  21. 0021exact hF
  22. 0022cases ha
  23. 0023have hb : exists z. (exists dst_positive_code_values_hb dst_positive_scale_values_hb dst_negative_code_values_hb dst_negative_scale_values_hb dst_positive_sum_values_hb dst_negative_sum_values_hb. (((G) = (((((dst_positive_code_values_hb) + (dst_positive_scale_values_hb)) * S ((dst_positive_code_values_hb) + (dst_positive_scale_values_hb)) + ((dst_positive_scale_values_hb) + (dst_positive_scale_values_hb))) + (((dst_negative_code_values_hb) + (dst_negative_scale_values_hb)) * S ((dst_negative_code_values_hb) + (dst_negative_scale_values_hb)) + ((dst_negative_scale_values_hb) + (dst_negative_scale_values_hb)))) * S ((((dst_positive_code_values_hb) + (dst_positive_scale_values_hb)) * S ((dst_positive_code_values_hb) + (dst_positive_scale_values_hb)) + ((dst_positive_scale_values_hb) + (dst_positive_scale_values_hb))) + (((dst_negative_code_values_hb) + (dst_negative_scale_values_hb)) * S ((dst_negative_code_values_hb) + (dst_negative_scale_values_hb)) + ((dst_negative_scale_values_hb) + (dst_negative_scale_values_hb)))) + ((((dst_negative_code_values_hb) + (dst_negative_scale_values_hb)) * S ((dst_negative_code_values_hb) + (dst_negative_scale_values_hb)) + ((dst_negative_scale_values_hb) + (dst_negative_scale_values_hb))) + (((dst_negative_code_values_hb) + (dst_negative_scale_values_hb)) * S ((dst_negative_code_values_hb) + (dst_negative_scale_values_hb)) + ((dst_negative_scale_values_hb) + (dst_negative_scale_values_hb)))))) /\ (((exists fs_u_dst_values_hbpositive fs_v_dst_values_hbpositive. ((((exists fs_h_dst_values_hbpositive_body_start. fs_h_dst_values_hbpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_values_hbpositive)) /\ exists fs_q_dst_values_hbpositive_body_start. fs_u_dst_values_hbpositive = fs_q_dst_values_hbpositive_body_start * S ((S (0)) * fs_v_dst_values_hbpositive) + (0))) /\ ((((exists fs_h_dst_values_hbpositive_body_terminal. fs_h_dst_values_hbpositive_body_terminal + S (dst_positive_sum_values_hb) = S ((S (n)) * fs_v_dst_values_hbpositive)) /\ exists fs_q_dst_values_hbpositive_body_terminal. fs_u_dst_values_hbpositive = fs_q_dst_values_hbpositive_body_terminal * S ((S (n)) * fs_v_dst_values_hbpositive) + (dst_positive_sum_values_hb))) /\ forall fs_i_dst_values_hbpositive_body_steps. (exists fs_lt_dst_values_hbpositive_body_steps_bound. fs_lt_dst_values_hbpositive_body_steps_bound + S fs_i_dst_values_hbpositive_body_steps = n) -> exists fs_a_dst_values_hbpositive_body_steps fs_r_dst_values_hbpositive_body_steps fs_s_dst_values_hbpositive_body_steps. ((((exists fs_h_dst_values_hbpositive_body_steps_summand. fs_h_dst_values_hbpositive_body_steps_summand + S (fs_a_dst_values_hbpositive_body_steps) = S ((S (fs_i_dst_values_hbpositive_body_steps)) * dst_positive_scale_values_hb)) /\ exists fs_q_dst_values_hbpositive_body_steps_summand. dst_positive_code_values_hb = fs_q_dst_values_hbpositive_body_steps_summand * S ((S (fs_i_dst_values_hbpositive_body_steps)) * dst_positive_scale_values_hb) + (fs_a_dst_values_hbpositive_body_steps))) /\ ((((exists fs_h_dst_values_hbpositive_body_steps_partial. fs_h_dst_values_hbpositive_body_steps_partial + S (fs_r_dst_values_hbpositive_body_steps) = S ((S (fs_i_dst_values_hbpositive_body_steps)) * fs_v_dst_values_hbpositive)) /\ exists fs_q_dst_values_hbpositive_body_steps_partial. fs_u_dst_values_hbpositive = fs_q_dst_values_hbpositive_body_steps_partial * S ((S (fs_i_dst_values_hbpositive_body_steps)) * fs_v_dst_values_hbpositive) + (fs_r_dst_values_hbpositive_body_steps))) /\ ((((exists fs_h_dst_values_hbpositive_body_steps_successor. fs_h_dst_values_hbpositive_body_steps_successor + S (fs_s_dst_values_hbpositive_body_steps) = S ((S (S fs_i_dst_values_hbpositive_body_steps)) * fs_v_dst_values_hbpositive)) /\ exists fs_q_dst_values_hbpositive_body_steps_successor. fs_u_dst_values_hbpositive = fs_q_dst_values_hbpositive_body_steps_successor * S ((S (S fs_i_dst_values_hbpositive_body_steps)) * fs_v_dst_values_hbpositive) + (fs_s_dst_values_hbpositive_body_steps))) /\ fs_s_dst_values_hbpositive_body_steps = fs_r_dst_values_hbpositive_body_steps + fs_a_dst_values_hbpositive_body_steps)))))) /\ (((exists fs_u_dst_values_hbnegative fs_v_dst_values_hbnegative. ((((exists fs_h_dst_values_hbnegative_body_start. fs_h_dst_values_hbnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_values_hbnegative)) /\ exists fs_q_dst_values_hbnegative_body_start. fs_u_dst_values_hbnegative = fs_q_dst_values_hbnegative_body_start * S ((S (0)) * fs_v_dst_values_hbnegative) + (0))) /\ ((((exists fs_h_dst_values_hbnegative_body_terminal. fs_h_dst_values_hbnegative_body_terminal + S (dst_negative_sum_values_hb) = S ((S (n)) * fs_v_dst_values_hbnegative)) /\ exists fs_q_dst_values_hbnegative_body_terminal. fs_u_dst_values_hbnegative = fs_q_dst_values_hbnegative_body_terminal * S ((S (n)) * fs_v_dst_values_hbnegative) + (dst_negative_sum_values_hb))) /\ forall fs_i_dst_values_hbnegative_body_steps. (exists fs_lt_dst_values_hbnegative_body_steps_bound. fs_lt_dst_values_hbnegative_body_steps_bound + S fs_i_dst_values_hbnegative_body_steps = n) -> exists fs_a_dst_values_hbnegative_body_steps fs_r_dst_values_hbnegative_body_steps fs_s_dst_values_hbnegative_body_steps. ((((exists fs_h_dst_values_hbnegative_body_steps_summand. fs_h_dst_values_hbnegative_body_steps_summand + S (fs_a_dst_values_hbnegative_body_steps) = S ((S (fs_i_dst_values_hbnegative_body_steps)) * dst_negative_scale_values_hb)) /\ exists fs_q_dst_values_hbnegative_body_steps_summand. dst_negative_code_values_hb = fs_q_dst_values_hbnegative_body_steps_summand * S ((S (fs_i_dst_values_hbnegative_body_steps)) * dst_negative_scale_values_hb) + (fs_a_dst_values_hbnegative_body_steps))) /\ ((((exists fs_h_dst_values_hbnegative_body_steps_partial. fs_h_dst_values_hbnegative_body_steps_partial + S (fs_r_dst_values_hbnegative_body_steps) = S ((S (fs_i_dst_values_hbnegative_body_steps)) * fs_v_dst_values_hbnegative)) /\ exists fs_q_dst_values_hbnegative_body_steps_partial. fs_u_dst_values_hbnegative = fs_q_dst_values_hbnegative_body_steps_partial * S ((S (fs_i_dst_values_hbnegative_body_steps)) * fs_v_dst_values_hbnegative) + (fs_r_dst_values_hbnegative_body_steps))) /\ ((((exists fs_h_dst_values_hbnegative_body_steps_successor. fs_h_dst_values_hbnegative_body_steps_successor + S (fs_s_dst_values_hbnegative_body_steps) = S ((S (S fs_i_dst_values_hbnegative_body_steps)) * fs_v_dst_values_hbnegative)) /\ exists fs_q_dst_values_hbnegative_body_steps_successor. fs_u_dst_values_hbnegative = fs_q_dst_values_hbnegative_body_steps_successor * S ((S (S fs_i_dst_values_hbnegative_body_steps)) * fs_v_dst_values_hbnegative) + (fs_s_dst_values_hbnegative_body_steps))) /\ fs_s_dst_values_hbnegative_body_steps = fs_r_dst_values_hbnegative_body_steps + fs_a_dst_values_hbnegative_body_steps)))))) /\ (exists ge_balance_positive_values_hbresult ge_balance_negative_values_hbresult. (((((z) = 2 * (ge_balance_positive_values_hbresult) /\ (ge_balance_negative_values_hbresult) = 0) \/ exists ge_signed_half_values_hbresultdecode. (((z) = 2 * ge_signed_half_values_hbresultdecode + 1 /\ (ge_balance_positive_values_hbresult) = 0) /\ (ge_balance_negative_values_hbresult) = S ge_signed_half_values_hbresultdecode))) /\ ((dst_positive_sum_values_hb) + ge_balance_negative_values_hbresult = (dst_negative_sum_values_hb) + ge_balance_positive_values_hbresult)))))))))
  24. 0024specialize arithmetic_signed_sum_exists (0)
  25. 0025specialize arithmetic_signed_sum_exists (G)
  26. 0026specialize arithmetic_signed_sum_exists (n)
  27. 0027apply arithmetic_signed_sum_exists
  28. 0028exact hG
  29. 0029cases hb
  30. 0030have hc : exists z. (exists dst_positive_code_values_hc dst_positive_scale_values_hc dst_negative_code_values_hc dst_negative_scale_values_hc dst_positive_sum_values_hc dst_negative_sum_values_hc. (((x) = (((((dst_positive_code_values_hc) + (dst_positive_scale_values_hc)) * S ((dst_positive_code_values_hc) + (dst_positive_scale_values_hc)) + ((dst_positive_scale_values_hc) + (dst_positive_scale_values_hc))) + (((dst_negative_code_values_hc) + (dst_negative_scale_values_hc)) * S ((dst_negative_code_values_hc) + (dst_negative_scale_values_hc)) + ((dst_negative_scale_values_hc) + (dst_negative_scale_values_hc)))) * S ((((dst_positive_code_values_hc) + (dst_positive_scale_values_hc)) * S ((dst_positive_code_values_hc) + (dst_positive_scale_values_hc)) + ((dst_positive_scale_values_hc) + (dst_positive_scale_values_hc))) + (((dst_negative_code_values_hc) + (dst_negative_scale_values_hc)) * S ((dst_negative_code_values_hc) + (dst_negative_scale_values_hc)) + ((dst_negative_scale_values_hc) + (dst_negative_scale_values_hc)))) + ((((dst_negative_code_values_hc) + (dst_negative_scale_values_hc)) * S ((dst_negative_code_values_hc) + (dst_negative_scale_values_hc)) + ((dst_negative_scale_values_hc) + (dst_negative_scale_values_hc))) + (((dst_negative_code_values_hc) + (dst_negative_scale_values_hc)) * S ((dst_negative_code_values_hc) + (dst_negative_scale_values_hc)) + ((dst_negative_scale_values_hc) + (dst_negative_scale_values_hc)))))) /\ (((exists fs_u_dst_values_hcpositive fs_v_dst_values_hcpositive. ((((exists fs_h_dst_values_hcpositive_body_start. fs_h_dst_values_hcpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_values_hcpositive)) /\ exists fs_q_dst_values_hcpositive_body_start. fs_u_dst_values_hcpositive = fs_q_dst_values_hcpositive_body_start * S ((S (0)) * fs_v_dst_values_hcpositive) + (0))) /\ ((((exists fs_h_dst_values_hcpositive_body_terminal. fs_h_dst_values_hcpositive_body_terminal + S (dst_positive_sum_values_hc) = S ((S (m*n)) * fs_v_dst_values_hcpositive)) /\ exists fs_q_dst_values_hcpositive_body_terminal. fs_u_dst_values_hcpositive = fs_q_dst_values_hcpositive_body_terminal * S ((S (m*n)) * fs_v_dst_values_hcpositive) + (dst_positive_sum_values_hc))) /\ forall fs_i_dst_values_hcpositive_body_steps. (exists fs_lt_dst_values_hcpositive_body_steps_bound. fs_lt_dst_values_hcpositive_body_steps_bound + S fs_i_dst_values_hcpositive_body_steps = m*n) -> exists fs_a_dst_values_hcpositive_body_steps fs_r_dst_values_hcpositive_body_steps fs_s_dst_values_hcpositive_body_steps. ((((exists fs_h_dst_values_hcpositive_body_steps_summand. fs_h_dst_values_hcpositive_body_steps_summand + S (fs_a_dst_values_hcpositive_body_steps) = S ((S (fs_i_dst_values_hcpositive_body_steps)) * dst_positive_scale_values_hc)) /\ exists fs_q_dst_values_hcpositive_body_steps_summand. dst_positive_code_values_hc = fs_q_dst_values_hcpositive_body_steps_summand * S ((S (fs_i_dst_values_hcpositive_body_steps)) * dst_positive_scale_values_hc) + (fs_a_dst_values_hcpositive_body_steps))) /\ ((((exists fs_h_dst_values_hcpositive_body_steps_partial. fs_h_dst_values_hcpositive_body_steps_partial + S (fs_r_dst_values_hcpositive_body_steps) = S ((S (fs_i_dst_values_hcpositive_body_steps)) * fs_v_dst_values_hcpositive)) /\ exists fs_q_dst_values_hcpositive_body_steps_partial. fs_u_dst_values_hcpositive = fs_q_dst_values_hcpositive_body_steps_partial * S ((S (fs_i_dst_values_hcpositive_body_steps)) * fs_v_dst_values_hcpositive) + (fs_r_dst_values_hcpositive_body_steps))) /\ ((((exists fs_h_dst_values_hcpositive_body_steps_successor. fs_h_dst_values_hcpositive_body_steps_successor + S (fs_s_dst_values_hcpositive_body_steps) = S ((S (S fs_i_dst_values_hcpositive_body_steps)) * fs_v_dst_values_hcpositive)) /\ exists fs_q_dst_values_hcpositive_body_steps_successor. fs_u_dst_values_hcpositive = fs_q_dst_values_hcpositive_body_steps_successor * S ((S (S fs_i_dst_values_hcpositive_body_steps)) * fs_v_dst_values_hcpositive) + (fs_s_dst_values_hcpositive_body_steps))) /\ fs_s_dst_values_hcpositive_body_steps = fs_r_dst_values_hcpositive_body_steps + fs_a_dst_values_hcpositive_body_steps)))))) /\ (((exists fs_u_dst_values_hcnegative fs_v_dst_values_hcnegative. ((((exists fs_h_dst_values_hcnegative_body_start. fs_h_dst_values_hcnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_values_hcnegative)) /\ exists fs_q_dst_values_hcnegative_body_start. fs_u_dst_values_hcnegative = fs_q_dst_values_hcnegative_body_start * S ((S (0)) * fs_v_dst_values_hcnegative) + (0))) /\ ((((exists fs_h_dst_values_hcnegative_body_terminal. fs_h_dst_values_hcnegative_body_terminal + S (dst_negative_sum_values_hc) = S ((S (m*n)) * fs_v_dst_values_hcnegative)) /\ exists fs_q_dst_values_hcnegative_body_terminal. fs_u_dst_values_hcnegative = fs_q_dst_values_hcnegative_body_terminal * S ((S (m*n)) * fs_v_dst_values_hcnegative) + (dst_negative_sum_values_hc))) /\ forall fs_i_dst_values_hcnegative_body_steps. (exists fs_lt_dst_values_hcnegative_body_steps_bound. fs_lt_dst_values_hcnegative_body_steps_bound + S fs_i_dst_values_hcnegative_body_steps = m*n) -> exists fs_a_dst_values_hcnegative_body_steps fs_r_dst_values_hcnegative_body_steps fs_s_dst_values_hcnegative_body_steps. ((((exists fs_h_dst_values_hcnegative_body_steps_summand. fs_h_dst_values_hcnegative_body_steps_summand + S (fs_a_dst_values_hcnegative_body_steps) = S ((S (fs_i_dst_values_hcnegative_body_steps)) * dst_negative_scale_values_hc)) /\ exists fs_q_dst_values_hcnegative_body_steps_summand. dst_negative_code_values_hc = fs_q_dst_values_hcnegative_body_steps_summand * S ((S (fs_i_dst_values_hcnegative_body_steps)) * dst_negative_scale_values_hc) + (fs_a_dst_values_hcnegative_body_steps))) /\ ((((exists fs_h_dst_values_hcnegative_body_steps_partial. fs_h_dst_values_hcnegative_body_steps_partial + S (fs_r_dst_values_hcnegative_body_steps) = S ((S (fs_i_dst_values_hcnegative_body_steps)) * fs_v_dst_values_hcnegative)) /\ exists fs_q_dst_values_hcnegative_body_steps_partial. fs_u_dst_values_hcnegative = fs_q_dst_values_hcnegative_body_steps_partial * S ((S (fs_i_dst_values_hcnegative_body_steps)) * fs_v_dst_values_hcnegative) + (fs_r_dst_values_hcnegative_body_steps))) /\ ((((exists fs_h_dst_values_hcnegative_body_steps_successor. fs_h_dst_values_hcnegative_body_steps_successor + S (fs_s_dst_values_hcnegative_body_steps) = S ((S (S fs_i_dst_values_hcnegative_body_steps)) * fs_v_dst_values_hcnegative)) /\ exists fs_q_dst_values_hcnegative_body_steps_successor. fs_u_dst_values_hcnegative = fs_q_dst_values_hcnegative_body_steps_successor * S ((S (S fs_i_dst_values_hcnegative_body_steps)) * fs_v_dst_values_hcnegative) + (fs_s_dst_values_hcnegative_body_steps))) /\ fs_s_dst_values_hcnegative_body_steps = fs_r_dst_values_hcnegative_body_steps + fs_a_dst_values_hcnegative_body_steps)))))) /\ (exists ge_balance_positive_values_hcresult ge_balance_negative_values_hcresult. (((((z) = 2 * (ge_balance_positive_values_hcresult) /\ (ge_balance_negative_values_hcresult) = 0) \/ exists ge_signed_half_values_hcresultdecode. (((z) = 2 * ge_signed_half_values_hcresultdecode + 1 /\ (ge_balance_positive_values_hcresult) = 0) /\ (ge_balance_negative_values_hcresult) = S ge_signed_half_values_hcresultdecode))) /\ ((dst_positive_sum_values_hc) + ge_balance_negative_values_hcresult = (dst_negative_sum_values_hc) + ge_balance_positive_values_hcresult)))))))))
  31. 0031specialize arithmetic_signed_sum_exists (m*n)
  32. 0032specialize arithmetic_signed_sum_exists (x)
  33. 0033specialize arithmetic_signed_sum_exists (m*n)
  34. 0034apply arithmetic_signed_sum_exists
  35. 0035cases ht_witness
  36. 0036cases ht_witness_right
  37. 0037cases ht_witness_right_right
  38. 0038exact ht_witness_right_right_left
  39. 0039cases hc
  40. 0040exists x
  41. 0041exists x1
  42. 0042exists x2
  43. 0043exists x3
  44. 0044split
  45. 0045exact ht_witness
  46. 0046split
  47. 0047exact ha_witness
  48. 0048split
  49. 0049exact hb_witness
  50. 0050split
  51. 0051exact hc_witness
  52. 0052specialize signed_cartesian_product_prefix_sum (F)
  53. 0053specialize signed_cartesian_product_prefix_sum (G)
  54. 0054specialize signed_cartesian_product_prefix_sum (x)
  55. 0055specialize signed_cartesian_product_prefix_sum (m)
  56. 0056specialize signed_cartesian_product_prefix_sum (n)
  57. 0057specialize signed_cartesian_product_prefix_sum (x1)
  58. 0058specialize signed_cartesian_product_prefix_sum (x2)
  59. 0059specialize signed_cartesian_product_prefix_sum (x3)
  60. 0060apply signed_cartesian_product_prefix_sum
  61. 0061exact ht_witness
  62. 0062exact ha_witness
  63. 0063exact hb_witness
  64. 0064exact hc_witness