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 T V m n i a. (((exists dst_positive_code_row_productF dst_positive_scale_row_productF dst_negative_code_row_productF dst_negative_scale_row_productF. (((F) = (((((dst_positive_code_row_productF) + (dst_positive_scale_row_productF)) * S ((dst_positive_code_row_productF) + (dst_positive_scale_row_productF)) + ((dst_positive_scale_row_productF) + (dst_positive_scale_row_productF))) + (((dst_negative_code_row_productF) + (dst_negative_scale_row_productF)) * S ((dst_negative_code_row_productF) + (dst_negative_scale_row_productF)) + ((dst_negative_scale_row_productF) + (dst_negative_scale_row_productF)))) * S ((((dst_positive_code_row_productF) + (dst_positive_scale_row_productF)) * S ((dst_positive_code_row_productF) + (dst_positive_scale_row_productF)) + ((dst_positive_scale_row_productF) + (dst_positive_scale_row_productF))) + (((dst_negative_code_row_productF) + (dst_negative_scale_row_productF)) * S ((dst_negative_code_row_productF) + (dst_negative_scale_row_productF)) + ((dst_negative_scale_row_productF) + (dst_negative_scale_row_productF)))) + ((((dst_negative_code_row_productF) + (dst_negative_scale_row_productF)) * S ((dst_negative_code_row_productF) + (dst_negative_scale_row_productF)) + ((dst_negative_scale_row_productF) + (dst_negative_scale_row_productF))) + (((dst_negative_code_row_productF) + (dst_negative_scale_row_productF)) * S ((dst_negative_code_row_productF) + (dst_negative_scale_row_productF)) + ((dst_negative_scale_row_productF) + (dst_negative_scale_row_productF)))))) /\ (forall dst_index_row_productF. (exists pvs_le_gap_row_productFdomain. pvs_le_gap_row_productFdomain + (dst_index_row_productF) = (0)) -> exists dst_positive_row_productF dst_negative_row_productF dst_value_row_productF. ((((exists ff_h_pvs_row_productFentrypositive. ff_h_pvs_row_productFentrypositive + S (dst_positive_row_productF) = S ((S (dst_index_row_productF)) * dst_positive_scale_row_productF)) /\ exists ff_q_pvs_row_productFentrypositive. dst_positive_code_row_productF = ff_q_pvs_row_productFentrypositive * S ((S (dst_index_row_productF)) * dst_positive_scale_row_productF) + (dst_positive_row_productF))) /\ (((((exists ff_h_pvs_row_productFentrynegative. ff_h_pvs_row_productFentrynegative + S (dst_negative_row_productF) = S ((S (dst_index_row_productF)) * dst_negative_scale_row_productF)) /\ exists ff_q_pvs_row_productFentrynegative. dst_negative_code_row_productF = ff_q_pvs_row_productFentrynegative * S ((S (dst_index_row_productF)) * dst_negative_scale_row_productF) + (dst_negative_row_productF))) /\ (exists ge_balance_positive_row_productFentryvalue ge_balance_negative_row_productFentryvalue. (((((dst_value_row_productF) = 2 * (ge_balance_positive_row_productFentryvalue) /\ (ge_balance_negative_row_productFentryvalue) = 0) \/ exists ge_signed_half_row_productFentryvaluedecode. (((dst_value_row_productF) = 2 * ge_signed_half_row_productFentryvaluedecode + 1 /\ (ge_balance_positive_row_productFentryvalue) = 0) /\ (ge_balance_negative_row_productFentryvalue) = S ge_signed_half_row_productFentryvaluedecode))) /\ ((dst_positive_row_productF) + ge_balance_negative_row_productFentryvalue = (dst_negative_row_productF) + ge_balance_positive_row_productFentryvalue))))))))) /\ (((exists dst_positive_code_row_productG dst_positive_scale_row_productG dst_negative_code_row_productG dst_negative_scale_row_productG. (((G) = (((((dst_positive_code_row_productG) + (dst_positive_scale_row_productG)) * S ((dst_positive_code_row_productG) + (dst_positive_scale_row_productG)) + ((dst_positive_scale_row_productG) + (dst_positive_scale_row_productG))) + (((dst_negative_code_row_productG) + (dst_negative_scale_row_productG)) * S ((dst_negative_code_row_productG) + (dst_negative_scale_row_productG)) + ((dst_negative_scale_row_productG) + (dst_negative_scale_row_productG)))) * S ((((dst_positive_code_row_productG) + (dst_positive_scale_row_productG)) * S ((dst_positive_code_row_productG) + (dst_positive_scale_row_productG)) + ((dst_positive_scale_row_productG) + (dst_positive_scale_row_productG))) + (((dst_negative_code_row_productG) + (dst_negative_scale_row_productG)) * S ((dst_negative_code_row_productG) + (dst_negative_scale_row_productG)) + ((dst_negative_scale_row_productG) + (dst_negative_scale_row_productG)))) + ((((dst_negative_code_row_productG) + (dst_negative_scale_row_productG)) * S ((dst_negative_code_row_productG) + (dst_negative_scale_row_productG)) + ((dst_negative_scale_row_productG) + (dst_negative_scale_row_productG))) + (((dst_negative_code_row_productG) + (dst_negative_scale_row_productG)) * S ((dst_negative_code_row_productG) + (dst_negative_scale_row_productG)) + ((dst_negative_scale_row_productG) + (dst_negative_scale_row_productG)))))) /\ (forall dst_index_row_productG. (exists pvs_le_gap_row_productGdomain. pvs_le_gap_row_productGdomain + (dst_index_row_productG) = (0)) -> exists dst_positive_row_productG dst_negative_row_productG dst_value_row_productG. ((((exists ff_h_pvs_row_productGentrypositive. ff_h_pvs_row_productGentrypositive + S (dst_positive_row_productG) = S ((S (dst_index_row_productG)) * dst_positive_scale_row_productG)) /\ exists ff_q_pvs_row_productGentrypositive. dst_positive_code_row_productG = ff_q_pvs_row_productGentrypositive * S ((S (dst_index_row_productG)) * dst_positive_scale_row_productG) + (dst_positive_row_productG))) /\ (((((exists ff_h_pvs_row_productGentrynegative. ff_h_pvs_row_productGentrynegative + S (dst_negative_row_productG) = S ((S (dst_index_row_productG)) * dst_negative_scale_row_productG)) /\ exists ff_q_pvs_row_productGentrynegative. dst_negative_code_row_productG = ff_q_pvs_row_productGentrynegative * S ((S (dst_index_row_productG)) * dst_negative_scale_row_productG) + (dst_negative_row_productG))) /\ (exists ge_balance_positive_row_productGentryvalue ge_balance_negative_row_productGentryvalue. (((((dst_value_row_productG) = 2 * (ge_balance_positive_row_productGentryvalue) /\ (ge_balance_negative_row_productGentryvalue) = 0) \/ exists ge_signed_half_row_productGentryvaluedecode. (((dst_value_row_productG) = 2 * ge_signed_half_row_productGentryvaluedecode + 1 /\ (ge_balance_positive_row_productGentryvalue) = 0) /\ (ge_balance_negative_row_productGentryvalue) = S ge_signed_half_row_productGentryvaluedecode))) /\ ((dst_positive_row_productG) + ge_balance_negative_row_productGentryvalue = (dst_negative_row_productG) + ge_balance_positive_row_productGentryvalue))))))))) /\ (((exists dst_positive_code_row_productT dst_positive_scale_row_productT dst_negative_code_row_productT dst_negative_scale_row_productT. (((T) = (((((dst_positive_code_row_productT) + (dst_positive_scale_row_productT)) * S ((dst_positive_code_row_productT) + (dst_positive_scale_row_productT)) + ((dst_positive_scale_row_productT) + (dst_positive_scale_row_productT))) + (((dst_negative_code_row_productT) + (dst_negative_scale_row_productT)) * S ((dst_negative_code_row_productT) + (dst_negative_scale_row_productT)) + ((dst_negative_scale_row_productT) + (dst_negative_scale_row_productT)))) * S ((((dst_positive_code_row_productT) + (dst_positive_scale_row_productT)) * S ((dst_positive_code_row_productT) + (dst_positive_scale_row_productT)) + ((dst_positive_scale_row_productT) + (dst_positive_scale_row_productT))) + (((dst_negative_code_row_productT) + (dst_negative_scale_row_productT)) * S ((dst_negative_code_row_productT) + (dst_negative_scale_row_productT)) + ((dst_negative_scale_row_productT) + (dst_negative_scale_row_productT)))) + ((((dst_negative_code_row_productT) + (dst_negative_scale_row_productT)) * S ((dst_negative_code_row_productT) + (dst_negative_scale_row_productT)) + ((dst_negative_scale_row_productT) + (dst_negative_scale_row_productT))) + (((dst_negative_code_row_productT) + (dst_negative_scale_row_productT)) * S ((dst_negative_code_row_productT) + (dst_negative_scale_row_productT)) + ((dst_negative_scale_row_productT) + (dst_negative_scale_row_productT)))))) /\ (forall dst_index_row_productT. (exists pvs_le_gap_row_productTdomain. pvs_le_gap_row_productTdomain + (dst_index_row_productT) = ((m)*(n))) -> exists dst_positive_row_productT dst_negative_row_productT dst_value_row_productT. ((((exists ff_h_pvs_row_productTentrypositive. ff_h_pvs_row_productTentrypositive + S (dst_positive_row_productT) = S ((S (dst_index_row_productT)) * dst_positive_scale_row_productT)) /\ exists ff_q_pvs_row_productTentrypositive. dst_positive_code_row_productT = ff_q_pvs_row_productTentrypositive * S ((S (dst_index_row_productT)) * dst_positive_scale_row_productT) + (dst_positive_row_productT))) /\ (((((exists ff_h_pvs_row_productTentrynegative. ff_h_pvs_row_productTentrynegative + S (dst_negative_row_productT) = S ((S (dst_index_row_productT)) * dst_negative_scale_row_productT)) /\ exists ff_q_pvs_row_productTentrynegative. dst_negative_code_row_productT = ff_q_pvs_row_productTentrynegative * S ((S (dst_index_row_productT)) * dst_negative_scale_row_productT) + (dst_negative_row_productT))) /\ (exists ge_balance_positive_row_productTentryvalue ge_balance_negative_row_productTentryvalue. (((((dst_value_row_productT) = 2 * (ge_balance_positive_row_productTentryvalue) /\ (ge_balance_negative_row_productTentryvalue) = 0) \/ exists ge_signed_half_row_productTentryvaluedecode. (((dst_value_row_productT) = 2 * ge_signed_half_row_productTentryvaluedecode + 1 /\ (ge_balance_positive_row_productTentryvalue) = 0) /\ (ge_balance_negative_row_productTentryvalue) = S ge_signed_half_row_productTentryvaluedecode))) /\ ((dst_positive_row_productT) + ge_balance_negative_row_productTentryvalue = (dst_negative_row_productT) + ge_balance_positive_row_productTentryvalue))))))))) /\ (forall scp_row_row_product scp_column_row_product scp_first_row_product scp_second_row_product scp_value_row_product. (exists pvs_gap_row_productrows. pvs_gap_row_productrows + S (scp_row_row_product) = (m)) -> (exists pvs_gap_row_productcolumns. pvs_gap_row_productcolumns + S (scp_column_row_product) = (n)) -> (exists dst_positive_code_row_productfirst dst_positive_scale_row_productfirst dst_negative_code_row_productfirst dst_negative_scale_row_productfirst dst_positive_row_productfirst dst_negative_row_productfirst. (((F) = (((((dst_positive_code_row_productfirst) + (dst_positive_scale_row_productfirst)) * S ((dst_positive_code_row_productfirst) + (dst_positive_scale_row_productfirst)) + ((dst_positive_scale_row_productfirst) + (dst_positive_scale_row_productfirst))) + (((dst_negative_code_row_productfirst) + (dst_negative_scale_row_productfirst)) * S ((dst_negative_code_row_productfirst) + (dst_negative_scale_row_productfirst)) + ((dst_negative_scale_row_productfirst) + (dst_negative_scale_row_productfirst)))) * S ((((dst_positive_code_row_productfirst) + (dst_positive_scale_row_productfirst)) * S ((dst_positive_code_row_productfirst) + (dst_positive_scale_row_productfirst)) + ((dst_positive_scale_row_productfirst) + (dst_positive_scale_row_productfirst))) + (((dst_negative_code_row_productfirst) + (dst_negative_scale_row_productfirst)) * S ((dst_negative_code_row_productfirst) + (dst_negative_scale_row_productfirst)) + ((dst_negative_scale_row_productfirst) + (dst_negative_scale_row_productfirst)))) + ((((dst_negative_code_row_productfirst) + (dst_negative_scale_row_productfirst)) * S ((dst_negative_code_row_productfirst) + (dst_negative_scale_row_productfirst)) + ((dst_negative_scale_row_productfirst) + (dst_negative_scale_row_productfirst))) + (((dst_negative_code_row_productfirst) + (dst_negative_scale_row_productfirst)) * S ((dst_negative_code_row_productfirst) + (dst_negative_scale_row_productfirst)) + ((dst_negative_scale_row_productfirst) + (dst_negative_scale_row_productfirst)))))) /\ (((((exists ff_h_pvs_row_productfirstpositive. ff_h_pvs_row_productfirstpositive + S (dst_positive_row_productfirst) = S ((S (scp_row_row_product)) * dst_positive_scale_row_productfirst)) /\ exists ff_q_pvs_row_productfirstpositive. dst_positive_code_row_productfirst = ff_q_pvs_row_productfirstpositive * S ((S (scp_row_row_product)) * dst_positive_scale_row_productfirst) + (dst_positive_row_productfirst))) /\ (((((exists ff_h_pvs_row_productfirstnegative. ff_h_pvs_row_productfirstnegative + S (dst_negative_row_productfirst) = S ((S (scp_row_row_product)) * dst_negative_scale_row_productfirst)) /\ exists ff_q_pvs_row_productfirstnegative. dst_negative_code_row_productfirst = ff_q_pvs_row_productfirstnegative * S ((S (scp_row_row_product)) * dst_negative_scale_row_productfirst) + (dst_negative_row_productfirst))) /\ (exists ge_balance_positive_row_productfirstvalue ge_balance_negative_row_productfirstvalue. (((((scp_first_row_product) = 2 * (ge_balance_positive_row_productfirstvalue) /\ (ge_balance_negative_row_productfirstvalue) = 0) \/ exists ge_signed_half_row_productfirstvaluedecode. (((scp_first_row_product) = 2 * ge_signed_half_row_productfirstvaluedecode + 1 /\ (ge_balance_positive_row_productfirstvalue) = 0) /\ (ge_balance_negative_row_productfirstvalue) = S ge_signed_half_row_productfirstvaluedecode))) /\ ((dst_positive_row_productfirst) + ge_balance_negative_row_productfirstvalue = (dst_negative_row_productfirst) + ge_balance_positive_row_productfirstvalue))))))))) -> (exists dst_positive_code_row_productsecond dst_positive_scale_row_productsecond dst_negative_code_row_productsecond dst_negative_scale_row_productsecond dst_positive_row_productsecond dst_negative_row_productsecond. (((G) = (((((dst_positive_code_row_productsecond) + (dst_positive_scale_row_productsecond)) * S ((dst_positive_code_row_productsecond) + (dst_positive_scale_row_productsecond)) + ((dst_positive_scale_row_productsecond) + (dst_positive_scale_row_productsecond))) + (((dst_negative_code_row_productsecond) + (dst_negative_scale_row_productsecond)) * S ((dst_negative_code_row_productsecond) + (dst_negative_scale_row_productsecond)) + ((dst_negative_scale_row_productsecond) + (dst_negative_scale_row_productsecond)))) * S ((((dst_positive_code_row_productsecond) + (dst_positive_scale_row_productsecond)) * S ((dst_positive_code_row_productsecond) + (dst_positive_scale_row_productsecond)) + ((dst_positive_scale_row_productsecond) + (dst_positive_scale_row_productsecond))) + (((dst_negative_code_row_productsecond) + (dst_negative_scale_row_productsecond)) * S ((dst_negative_code_row_productsecond) + (dst_negative_scale_row_productsecond)) + ((dst_negative_scale_row_productsecond) + (dst_negative_scale_row_productsecond)))) + ((((dst_negative_code_row_productsecond) + (dst_negative_scale_row_productsecond)) * S ((dst_negative_code_row_productsecond) + (dst_negative_scale_row_productsecond)) + ((dst_negative_scale_row_productsecond) + (dst_negative_scale_row_productsecond))) + (((dst_negative_code_row_productsecond) + (dst_negative_scale_row_productsecond)) * S ((dst_negative_code_row_productsecond) + (dst_negative_scale_row_productsecond)) + ((dst_negative_scale_row_productsecond) + (dst_negative_scale_row_productsecond)))))) /\ (((((exists ff_h_pvs_row_productsecondpositive. ff_h_pvs_row_productsecondpositive + S (dst_positive_row_productsecond) = S ((S (scp_column_row_product)) * dst_positive_scale_row_productsecond)) /\ exists ff_q_pvs_row_productsecondpositive. dst_positive_code_row_productsecond = ff_q_pvs_row_productsecondpositive * S ((S (scp_column_row_product)) * dst_positive_scale_row_productsecond) + (dst_positive_row_productsecond))) /\ (((((exists ff_h_pvs_row_productsecondnegative. ff_h_pvs_row_productsecondnegative + S (dst_negative_row_productsecond) = S ((S (scp_column_row_product)) * dst_negative_scale_row_productsecond)) /\ exists ff_q_pvs_row_productsecondnegative. dst_negative_code_row_productsecond = ff_q_pvs_row_productsecondnegative * S ((S (scp_column_row_product)) * dst_negative_scale_row_productsecond) + (dst_negative_row_productsecond))) /\ (exists ge_balance_positive_row_productsecondvalue ge_balance_negative_row_productsecondvalue. (((((scp_second_row_product) = 2 * (ge_balance_positive_row_productsecondvalue) /\ (ge_balance_negative_row_productsecondvalue) = 0) \/ exists ge_signed_half_row_productsecondvaluedecode. (((scp_second_row_product) = 2 * ge_signed_half_row_productsecondvaluedecode + 1 /\ (ge_balance_positive_row_productsecondvalue) = 0) /\ (ge_balance_negative_row_productsecondvalue) = S ge_signed_half_row_productsecondvaluedecode))) /\ ((dst_positive_row_productsecond) + ge_balance_negative_row_productsecondvalue = (dst_negative_row_productsecond) + ge_balance_positive_row_productsecondvalue))))))))) -> (exists dst_positive_code_row_productentry dst_positive_scale_row_productentry dst_negative_code_row_productentry dst_negative_scale_row_productentry dst_positive_row_productentry dst_negative_row_productentry. (((T) = (((((dst_positive_code_row_productentry) + (dst_positive_scale_row_productentry)) * S ((dst_positive_code_row_productentry) + (dst_positive_scale_row_productentry)) + ((dst_positive_scale_row_productentry) + (dst_positive_scale_row_productentry))) + (((dst_negative_code_row_productentry) + (dst_negative_scale_row_productentry)) * S ((dst_negative_code_row_productentry) + (dst_negative_scale_row_productentry)) + ((dst_negative_scale_row_productentry) + (dst_negative_scale_row_productentry)))) * S ((((dst_positive_code_row_productentry) + (dst_positive_scale_row_productentry)) * S ((dst_positive_code_row_productentry) + (dst_positive_scale_row_productentry)) + ((dst_positive_scale_row_productentry) + (dst_positive_scale_row_productentry))) + (((dst_negative_code_row_productentry) + (dst_negative_scale_row_productentry)) * S ((dst_negative_code_row_productentry) + (dst_negative_scale_row_productentry)) + ((dst_negative_scale_row_productentry) + (dst_negative_scale_row_productentry)))) + ((((dst_negative_code_row_productentry) + (dst_negative_scale_row_productentry)) * S ((dst_negative_code_row_productentry) + (dst_negative_scale_row_productentry)) + ((dst_negative_scale_row_productentry) + (dst_negative_scale_row_productentry))) + (((dst_negative_code_row_productentry) + (dst_negative_scale_row_productentry)) * S ((dst_negative_code_row_productentry) + (dst_negative_scale_row_productentry)) + ((dst_negative_scale_row_productentry) + (dst_negative_scale_row_productentry)))))) /\ (((((exists ff_h_pvs_row_productentrypositive. ff_h_pvs_row_productentrypositive + S (dst_positive_row_productentry) = S ((S (((n)*(scp_row_row_product)+(scp_column_row_product)))) * dst_positive_scale_row_productentry)) /\ exists ff_q_pvs_row_productentrypositive. dst_positive_code_row_productentry = ff_q_pvs_row_productentrypositive * S ((S (((n)*(scp_row_row_product)+(scp_column_row_product)))) * dst_positive_scale_row_productentry) + (dst_positive_row_productentry))) /\ (((((exists ff_h_pvs_row_productentrynegative. ff_h_pvs_row_productentrynegative + S (dst_negative_row_productentry) = S ((S (((n)*(scp_row_row_product)+(scp_column_row_product)))) * dst_negative_scale_row_productentry)) /\ exists ff_q_pvs_row_productentrynegative. dst_negative_code_row_productentry = ff_q_pvs_row_productentrynegative * S ((S (((n)*(scp_row_row_product)+(scp_column_row_product)))) * dst_negative_scale_row_productentry) + (dst_negative_row_productentry))) /\ (exists ge_balance_positive_row_productentryvalue ge_balance_negative_row_productentryvalue. (((((scp_value_row_product) = 2 * (ge_balance_positive_row_productentryvalue) /\ (ge_balance_negative_row_productentryvalue) = 0) \/ exists ge_signed_half_row_productentryvaluedecode. (((scp_value_row_product) = 2 * ge_signed_half_row_productentryvaluedecode + 1 /\ (ge_balance_positive_row_productentryvalue) = 0) /\ (ge_balance_negative_row_productentryvalue) = S ge_signed_half_row_productentryvaluedecode))) /\ ((dst_positive_row_productentry) + ge_balance_negative_row_productentryvalue = (dst_negative_row_productentry) + ge_balance_positive_row_productentryvalue))))))))) -> (exists sto_ap_row_productmultiply sto_an_row_productmultiply sto_bp_row_productmultiply sto_bn_row_productmultiply sto_cp_row_productmultiply sto_cn_row_productmultiply. (((((scp_first_row_product) = 2 * (sto_ap_row_productmultiply) /\ (sto_an_row_productmultiply) = 0) \/ exists ge_signed_half_row_productmultiplyleft. (((scp_first_row_product) = 2 * ge_signed_half_row_productmultiplyleft + 1 /\ (sto_ap_row_productmultiply) = 0) /\ (sto_an_row_productmultiply) = S ge_signed_half_row_productmultiplyleft))) /\ ((((((scp_second_row_product) = 2 * (sto_bp_row_productmultiply) /\ (sto_bn_row_productmultiply) = 0) \/ exists ge_signed_half_row_productmultiplyright. (((scp_second_row_product) = 2 * ge_signed_half_row_productmultiplyright + 1 /\ (sto_bp_row_productmultiply) = 0) /\ (sto_bn_row_productmultiply) = S ge_signed_half_row_productmultiplyright))) /\ ((((((scp_value_row_product) = 2 * (sto_cp_row_productmultiply) /\ (sto_cn_row_productmultiply) = 0) \/ exists ge_signed_half_row_productmultiplyoutput. (((scp_value_row_product) = 2 * ge_signed_half_row_productmultiplyoutput + 1 /\ (sto_cp_row_productmultiply) = 0) /\ (sto_cn_row_productmultiply) = S ge_signed_half_row_productmultiplyoutput))) /\ ((sto_ap_row_productmultiply * sto_bp_row_productmultiply + sto_an_row_productmultiply * sto_bn_row_productmultiply) + sto_cn_row_productmultiply = (sto_ap_row_productmultiply * sto_bn_row_productmultiply + sto_an_row_productmultiply * sto_bp_row_productmultiply) + sto_cp_row_productmultiply)))))))))))))) -> (exists pvs_gap_row_bound. pvs_gap_row_bound + S (i) = (m)) -> (exists dst_positive_code_row_scalar dst_positive_scale_row_scalar dst_negative_code_row_scalar dst_negative_scale_row_scalar dst_positive_row_scalar dst_negative_row_scalar. (((F) = (((((dst_positive_code_row_scalar) + (dst_positive_scale_row_scalar)) * S ((dst_positive_code_row_scalar) + (dst_positive_scale_row_scalar)) + ((dst_positive_scale_row_scalar) + (dst_positive_scale_row_scalar))) + (((dst_negative_code_row_scalar) + (dst_negative_scale_row_scalar)) * S ((dst_negative_code_row_scalar) + (dst_negative_scale_row_scalar)) + ((dst_negative_scale_row_scalar) + (dst_negative_scale_row_scalar)))) * S ((((dst_positive_code_row_scalar) + (dst_positive_scale_row_scalar)) * S ((dst_positive_code_row_scalar) + (dst_positive_scale_row_scalar)) + ((dst_positive_scale_row_scalar) + (dst_positive_scale_row_scalar))) + (((dst_negative_code_row_scalar) + (dst_negative_scale_row_scalar)) * S ((dst_negative_code_row_scalar) + (dst_negative_scale_row_scalar)) + ((dst_negative_scale_row_scalar) + (dst_negative_scale_row_scalar)))) + ((((dst_negative_code_row_scalar) + (dst_negative_scale_row_scalar)) * S ((dst_negative_code_row_scalar) + (dst_negative_scale_row_scalar)) + ((dst_negative_scale_row_scalar) + (dst_negative_scale_row_scalar))) + (((dst_negative_code_row_scalar) + (dst_negative_scale_row_scalar)) * S ((dst_negative_code_row_scalar) + (dst_negative_scale_row_scalar)) + ((dst_negative_scale_row_scalar) + (dst_negative_scale_row_scalar)))))) /\ (((((exists ff_h_pvs_row_scalarpositive. ff_h_pvs_row_scalarpositive + S (dst_positive_row_scalar) = S ((S (i)) * dst_positive_scale_row_scalar)) /\ exists ff_q_pvs_row_scalarpositive. dst_positive_code_row_scalar = ff_q_pvs_row_scalarpositive * S ((S (i)) * dst_positive_scale_row_scalar) + (dst_positive_row_scalar))) /\ (((((exists ff_h_pvs_row_scalarnegative. ff_h_pvs_row_scalarnegative + S (dst_negative_row_scalar) = S ((S (i)) * dst_negative_scale_row_scalar)) /\ exists ff_q_pvs_row_scalarnegative. dst_negative_code_row_scalar = ff_q_pvs_row_scalarnegative * S ((S (i)) * dst_negative_scale_row_scalar) + (dst_negative_row_scalar))) /\ (exists ge_balance_positive_row_scalarvalue ge_balance_negative_row_scalarvalue. (((((a) = 2 * (ge_balance_positive_row_scalarvalue) /\ (ge_balance_negative_row_scalarvalue) = 0) \/ exists ge_signed_half_row_scalarvaluedecode. (((a) = 2 * ge_signed_half_row_scalarvaluedecode + 1 /\ (ge_balance_positive_row_scalarvalue) = 0) /\ (ge_balance_negative_row_scalarvalue) = S ge_signed_half_row_scalarvaluedecode))) /\ ((dst_positive_row_scalar) + ge_balance_negative_row_scalarvalue = (dst_negative_row_scalar) + ge_balance_positive_row_scalarvalue))))))))) -> (((exists dst_positive_code_row_slicesource_table dst_positive_scale_row_slicesource_table dst_negative_code_row_slicesource_table dst_negative_scale_row_slicesource_table. (((T) = (((((dst_positive_code_row_slicesource_table) + (dst_positive_scale_row_slicesource_table)) * S ((dst_positive_code_row_slicesource_table) + (dst_positive_scale_row_slicesource_table)) + ((dst_positive_scale_row_slicesource_table) + (dst_positive_scale_row_slicesource_table))) + (((dst_negative_code_row_slicesource_table) + (dst_negative_scale_row_slicesource_table)) * S ((dst_negative_code_row_slicesource_table) + (dst_negative_scale_row_slicesource_table)) + ((dst_negative_scale_row_slicesource_table) + (dst_negative_scale_row_slicesource_table)))) * S ((((dst_positive_code_row_slicesource_table) + (dst_positive_scale_row_slicesource_table)) * S ((dst_positive_code_row_slicesource_table) + (dst_positive_scale_row_slicesource_table)) + ((dst_positive_scale_row_slicesource_table) + (dst_positive_scale_row_slicesource_table))) + (((dst_negative_code_row_slicesource_table) + (dst_negative_scale_row_slicesource_table)) * S ((dst_negative_code_row_slicesource_table) + (dst_negative_scale_row_slicesource_table)) + ((dst_negative_scale_row_slicesource_table) + (dst_negative_scale_row_slicesource_table)))) + ((((dst_negative_code_row_slicesource_table) + (dst_negative_scale_row_slicesource_table)) * S ((dst_negative_code_row_slicesource_table) + (dst_negative_scale_row_slicesource_table)) + ((dst_negative_scale_row_slicesource_table) + (dst_negative_scale_row_slicesource_table))) + (((dst_negative_code_row_slicesource_table) + (dst_negative_scale_row_slicesource_table)) * S ((dst_negative_code_row_slicesource_table) + (dst_negative_scale_row_slicesource_table)) + ((dst_negative_scale_row_slicesource_table) + (dst_negative_scale_row_slicesource_table)))))) /\ (forall dst_index_row_slicesource_table. (exists pvs_le_gap_row_slicesource_tabledomain. pvs_le_gap_row_slicesource_tabledomain + (dst_index_row_slicesource_table) = (0)) -> exists dst_positive_row_slicesource_table dst_negative_row_slicesource_table dst_value_row_slicesource_table. ((((exists ff_h_pvs_row_slicesource_tableentrypositive. ff_h_pvs_row_slicesource_tableentrypositive + S (dst_positive_row_slicesource_table) = S ((S (dst_index_row_slicesource_table)) * dst_positive_scale_row_slicesource_table)) /\ exists ff_q_pvs_row_slicesource_tableentrypositive. dst_positive_code_row_slicesource_table = ff_q_pvs_row_slicesource_tableentrypositive * S ((S (dst_index_row_slicesource_table)) * dst_positive_scale_row_slicesource_table) + (dst_positive_row_slicesource_table))) /\ (((((exists ff_h_pvs_row_slicesource_tableentrynegative. ff_h_pvs_row_slicesource_tableentrynegative + S (dst_negative_row_slicesource_table) = S ((S (dst_index_row_slicesource_table)) * dst_negative_scale_row_slicesource_table)) /\ exists ff_q_pvs_row_slicesource_tableentrynegative. dst_negative_code_row_slicesource_table = ff_q_pvs_row_slicesource_tableentrynegative * S ((S (dst_index_row_slicesource_table)) * dst_negative_scale_row_slicesource_table) + (dst_negative_row_slicesource_table))) /\ (exists ge_balance_positive_row_slicesource_tableentryvalue ge_balance_negative_row_slicesource_tableentryvalue. (((((dst_value_row_slicesource_table) = 2 * (ge_balance_positive_row_slicesource_tableentryvalue) /\ (ge_balance_negative_row_slicesource_tableentryvalue) = 0) \/ exists ge_signed_half_row_slicesource_tableentryvaluedecode. (((dst_value_row_slicesource_table) = 2 * ge_signed_half_row_slicesource_tableentryvaluedecode + 1 /\ (ge_balance_positive_row_slicesource_tableentryvalue) = 0) /\ (ge_balance_negative_row_slicesource_tableentryvalue) = S ge_signed_half_row_slicesource_tableentryvaluedecode))) /\ ((dst_positive_row_slicesource_table) + ge_balance_negative_row_slicesource_tableentryvalue = (dst_negative_row_slicesource_table) + ge_balance_positive_row_slicesource_tableentryvalue))))))))) /\ (((exists dst_positive_code_row_sliceoutput_table dst_positive_scale_row_sliceoutput_table dst_negative_code_row_sliceoutput_table dst_negative_scale_row_sliceoutput_table. (((V) = (((((dst_positive_code_row_sliceoutput_table) + (dst_positive_scale_row_sliceoutput_table)) * S ((dst_positive_code_row_sliceoutput_table) + (dst_positive_scale_row_sliceoutput_table)) + ((dst_positive_scale_row_sliceoutput_table) + (dst_positive_scale_row_sliceoutput_table))) + (((dst_negative_code_row_sliceoutput_table) + (dst_negative_scale_row_sliceoutput_table)) * S ((dst_negative_code_row_sliceoutput_table) + (dst_negative_scale_row_sliceoutput_table)) + ((dst_negative_scale_row_sliceoutput_table) + (dst_negative_scale_row_sliceoutput_table)))) * S ((((dst_positive_code_row_sliceoutput_table) + (dst_positive_scale_row_sliceoutput_table)) * S ((dst_positive_code_row_sliceoutput_table) + (dst_positive_scale_row_sliceoutput_table)) + ((dst_positive_scale_row_sliceoutput_table) + (dst_positive_scale_row_sliceoutput_table))) + (((dst_negative_code_row_sliceoutput_table) + (dst_negative_scale_row_sliceoutput_table)) * S ((dst_negative_code_row_sliceoutput_table) + (dst_negative_scale_row_sliceoutput_table)) + ((dst_negative_scale_row_sliceoutput_table) + (dst_negative_scale_row_sliceoutput_table)))) + ((((dst_negative_code_row_sliceoutput_table) + (dst_negative_scale_row_sliceoutput_table)) * S ((dst_negative_code_row_sliceoutput_table) + (dst_negative_scale_row_sliceoutput_table)) + ((dst_negative_scale_row_sliceoutput_table) + (dst_negative_scale_row_sliceoutput_table))) + (((dst_negative_code_row_sliceoutput_table) + (dst_negative_scale_row_sliceoutput_table)) * S ((dst_negative_code_row_sliceoutput_table) + (dst_negative_scale_row_sliceoutput_table)) + ((dst_negative_scale_row_sliceoutput_table) + (dst_negative_scale_row_sliceoutput_table)))))) /\ (forall dst_index_row_sliceoutput_table. (exists pvs_le_gap_row_sliceoutput_tabledomain. pvs_le_gap_row_sliceoutput_tabledomain + (dst_index_row_sliceoutput_table) = (n)) -> exists dst_positive_row_sliceoutput_table dst_negative_row_sliceoutput_table dst_value_row_sliceoutput_table. ((((exists ff_h_pvs_row_sliceoutput_tableentrypositive. ff_h_pvs_row_sliceoutput_tableentrypositive + S (dst_positive_row_sliceoutput_table) = S ((S (dst_index_row_sliceoutput_table)) * dst_positive_scale_row_sliceoutput_table)) /\ exists ff_q_pvs_row_sliceoutput_tableentrypositive. dst_positive_code_row_sliceoutput_table = ff_q_pvs_row_sliceoutput_tableentrypositive * S ((S (dst_index_row_sliceoutput_table)) * dst_positive_scale_row_sliceoutput_table) + (dst_positive_row_sliceoutput_table))) /\ (((((exists ff_h_pvs_row_sliceoutput_tableentrynegative. ff_h_pvs_row_sliceoutput_tableentrynegative + S (dst_negative_row_sliceoutput_table) = S ((S (dst_index_row_sliceoutput_table)) * dst_negative_scale_row_sliceoutput_table)) /\ exists ff_q_pvs_row_sliceoutput_tableentrynegative. dst_negative_code_row_sliceoutput_table = ff_q_pvs_row_sliceoutput_tableentrynegative * S ((S (dst_index_row_sliceoutput_table)) * dst_negative_scale_row_sliceoutput_table) + (dst_negative_row_sliceoutput_table))) /\ (exists ge_balance_positive_row_sliceoutput_tableentryvalue ge_balance_negative_row_sliceoutput_tableentryvalue. (((((dst_value_row_sliceoutput_table) = 2 * (ge_balance_positive_row_sliceoutput_tableentryvalue) /\ (ge_balance_negative_row_sliceoutput_tableentryvalue) = 0) \/ exists ge_signed_half_row_sliceoutput_tableentryvaluedecode. (((dst_value_row_sliceoutput_table) = 2 * ge_signed_half_row_sliceoutput_tableentryvaluedecode + 1 /\ (ge_balance_positive_row_sliceoutput_tableentryvalue) = 0) /\ (ge_balance_negative_row_sliceoutput_tableentryvalue) = S ge_signed_half_row_sliceoutput_tableentryvaluedecode))) /\ ((dst_positive_row_sliceoutput_table) + ge_balance_negative_row_sliceoutput_tableentryvalue = (dst_negative_row_sliceoutput_table) + ge_balance_positive_row_sliceoutput_tableentryvalue))))))))) /\ (forall srs_index_row_slice. (exists pvs_gap_row_slicebound. pvs_gap_row_slicebound + S (srs_index_row_slice) = (n)) -> exists srs_value_row_slice. (((exists dst_positive_code_row_sliceentrysource dst_positive_scale_row_sliceentrysource dst_negative_code_row_sliceentrysource dst_negative_scale_row_sliceentrysource dst_positive_row_sliceentrysource dst_negative_row_sliceentrysource. (((T) = (((((dst_positive_code_row_sliceentrysource) + (dst_positive_scale_row_sliceentrysource)) * S ((dst_positive_code_row_sliceentrysource) + (dst_positive_scale_row_sliceentrysource)) + ((dst_positive_scale_row_sliceentrysource) + (dst_positive_scale_row_sliceentrysource))) + (((dst_negative_code_row_sliceentrysource) + (dst_negative_scale_row_sliceentrysource)) * S ((dst_negative_code_row_sliceentrysource) + (dst_negative_scale_row_sliceentrysource)) + ((dst_negative_scale_row_sliceentrysource) + (dst_negative_scale_row_sliceentrysource)))) * S ((((dst_positive_code_row_sliceentrysource) + (dst_positive_scale_row_sliceentrysource)) * S ((dst_positive_code_row_sliceentrysource) + (dst_positive_scale_row_sliceentrysource)) + ((dst_positive_scale_row_sliceentrysource) + (dst_positive_scale_row_sliceentrysource))) + (((dst_negative_code_row_sliceentrysource) + (dst_negative_scale_row_sliceentrysource)) * S ((dst_negative_code_row_sliceentrysource) + (dst_negative_scale_row_sliceentrysource)) + ((dst_negative_scale_row_sliceentrysource) + (dst_negative_scale_row_sliceentrysource)))) + ((((dst_negative_code_row_sliceentrysource) + (dst_negative_scale_row_sliceentrysource)) * S ((dst_negative_code_row_sliceentrysource) + (dst_negative_scale_row_sliceentrysource)) + ((dst_negative_scale_row_sliceentrysource) + (dst_negative_scale_row_sliceentrysource))) + (((dst_negative_code_row_sliceentrysource) + (dst_negative_scale_row_sliceentrysource)) * S ((dst_negative_code_row_sliceentrysource) + (dst_negative_scale_row_sliceentrysource)) + ((dst_negative_scale_row_sliceentrysource) + (dst_negative_scale_row_sliceentrysource)))))) /\ (((((exists ff_h_pvs_row_sliceentrysourcepositive. ff_h_pvs_row_sliceentrysourcepositive + S (dst_positive_row_sliceentrysource) = S ((S (((((0) + ((n) * (i)))) + ((1) * (srs_index_row_slice))))) * dst_positive_scale_row_sliceentrysource)) /\ exists ff_q_pvs_row_sliceentrysourcepositive. dst_positive_code_row_sliceentrysource = ff_q_pvs_row_sliceentrysourcepositive * S ((S (((((0) + ((n) * (i)))) + ((1) * (srs_index_row_slice))))) * dst_positive_scale_row_sliceentrysource) + (dst_positive_row_sliceentrysource))) /\ (((((exists ff_h_pvs_row_sliceentrysourcenegative. ff_h_pvs_row_sliceentrysourcenegative + S (dst_negative_row_sliceentrysource) = S ((S (((((0) + ((n) * (i)))) + ((1) * (srs_index_row_slice))))) * dst_negative_scale_row_sliceentrysource)) /\ exists ff_q_pvs_row_sliceentrysourcenegative. dst_negative_code_row_sliceentrysource = ff_q_pvs_row_sliceentrysourcenegative * S ((S (((((0) + ((n) * (i)))) + ((1) * (srs_index_row_slice))))) * dst_negative_scale_row_sliceentrysource) + (dst_negative_row_sliceentrysource))) /\ (exists ge_balance_positive_row_sliceentrysourcevalue ge_balance_negative_row_sliceentrysourcevalue. (((((srs_value_row_slice) = 2 * (ge_balance_positive_row_sliceentrysourcevalue) /\ (ge_balance_negative_row_sliceentrysourcevalue) = 0) \/ exists ge_signed_half_row_sliceentrysourcevaluedecode. (((srs_value_row_slice) = 2 * ge_signed_half_row_sliceentrysourcevaluedecode + 1 /\ (ge_balance_positive_row_sliceentrysourcevalue) = 0) /\ (ge_balance_negative_row_sliceentrysourcevalue) = S ge_signed_half_row_sliceentrysourcevaluedecode))) /\ ((dst_positive_row_sliceentrysource) + ge_balance_negative_row_sliceentrysourcevalue = (dst_negative_row_sliceentrysource) + ge_balance_positive_row_sliceentrysourcevalue))))))))) /\ (exists dst_positive_code_row_sliceentryoutput dst_positive_scale_row_sliceentryoutput dst_negative_code_row_sliceentryoutput dst_negative_scale_row_sliceentryoutput dst_positive_row_sliceentryoutput dst_negative_row_sliceentryoutput. (((V) = (((((dst_positive_code_row_sliceentryoutput) + (dst_positive_scale_row_sliceentryoutput)) * S ((dst_positive_code_row_sliceentryoutput) + (dst_positive_scale_row_sliceentryoutput)) + ((dst_positive_scale_row_sliceentryoutput) + (dst_positive_scale_row_sliceentryoutput))) + (((dst_negative_code_row_sliceentryoutput) + (dst_negative_scale_row_sliceentryoutput)) * S ((dst_negative_code_row_sliceentryoutput) + (dst_negative_scale_row_sliceentryoutput)) + ((dst_negative_scale_row_sliceentryoutput) + (dst_negative_scale_row_sliceentryoutput)))) * S ((((dst_positive_code_row_sliceentryoutput) + (dst_positive_scale_row_sliceentryoutput)) * S ((dst_positive_code_row_sliceentryoutput) + (dst_positive_scale_row_sliceentryoutput)) + ((dst_positive_scale_row_sliceentryoutput) + (dst_positive_scale_row_sliceentryoutput))) + (((dst_negative_code_row_sliceentryoutput) + (dst_negative_scale_row_sliceentryoutput)) * S ((dst_negative_code_row_sliceentryoutput) + (dst_negative_scale_row_sliceentryoutput)) + ((dst_negative_scale_row_sliceentryoutput) + (dst_negative_scale_row_sliceentryoutput)))) + ((((dst_negative_code_row_sliceentryoutput) + (dst_negative_scale_row_sliceentryoutput)) * S ((dst_negative_code_row_sliceentryoutput) + (dst_negative_scale_row_sliceentryoutput)) + ((dst_negative_scale_row_sliceentryoutput) + (dst_negative_scale_row_sliceentryoutput))) + (((dst_negative_code_row_sliceentryoutput) + (dst_negative_scale_row_sliceentryoutput)) * S ((dst_negative_code_row_sliceentryoutput) + (dst_negative_scale_row_sliceentryoutput)) + ((dst_negative_scale_row_sliceentryoutput) + (dst_negative_scale_row_sliceentryoutput)))))) /\ (((((exists ff_h_pvs_row_sliceentryoutputpositive. ff_h_pvs_row_sliceentryoutputpositive + S (dst_positive_row_sliceentryoutput) = S ((S (srs_index_row_slice)) * dst_positive_scale_row_sliceentryoutput)) /\ exists ff_q_pvs_row_sliceentryoutputpositive. dst_positive_code_row_sliceentryoutput = ff_q_pvs_row_sliceentryoutputpositive * S ((S (srs_index_row_slice)) * dst_positive_scale_row_sliceentryoutput) + (dst_positive_row_sliceentryoutput))) /\ (((((exists ff_h_pvs_row_sliceentryoutputnegative. ff_h_pvs_row_sliceentryoutputnegative + S (dst_negative_row_sliceentryoutput) = S ((S (srs_index_row_slice)) * dst_negative_scale_row_sliceentryoutput)) /\ exists ff_q_pvs_row_sliceentryoutputnegative. dst_negative_code_row_sliceentryoutput = ff_q_pvs_row_sliceentryoutputnegative * S ((S (srs_index_row_slice)) * dst_negative_scale_row_sliceentryoutput) + (dst_negative_row_sliceentryoutput))) /\ (exists ge_balance_positive_row_sliceentryoutputvalue ge_balance_negative_row_sliceentryoutputvalue. (((((srs_value_row_slice) = 2 * (ge_balance_positive_row_sliceentryoutputvalue) /\ (ge_balance_negative_row_sliceentryoutputvalue) = 0) \/ exists ge_signed_half_row_sliceentryoutputvaluedecode. (((srs_value_row_slice) = 2 * ge_signed_half_row_sliceentryoutputvaluedecode + 1 /\ (ge_balance_positive_row_sliceentryoutputvalue) = 0) /\ (ge_balance_negative_row_sliceentryoutputvalue) = S ge_signed_half_row_sliceentryoutputvaluedecode))) /\ ((dst_positive_row_sliceentryoutput) + ge_balance_negative_row_sliceentryoutputvalue = (dst_negative_row_sliceentryoutput) + ge_balance_positive_row_sliceentryoutputvalue)))))))))))))))) -> (((exists dst_positive_code_row_resultinput_table dst_positive_scale_row_resultinput_table dst_negative_code_row_resultinput_table dst_negative_scale_row_resultinput_table. (((G) = (((((dst_positive_code_row_resultinput_table) + (dst_positive_scale_row_resultinput_table)) * S ((dst_positive_code_row_resultinput_table) + (dst_positive_scale_row_resultinput_table)) + ((dst_positive_scale_row_resultinput_table) + (dst_positive_scale_row_resultinput_table))) + (((dst_negative_code_row_resultinput_table) + (dst_negative_scale_row_resultinput_table)) * S ((dst_negative_code_row_resultinput_table) + (dst_negative_scale_row_resultinput_table)) + ((dst_negative_scale_row_resultinput_table) + (dst_negative_scale_row_resultinput_table)))) * S ((((dst_positive_code_row_resultinput_table) + (dst_positive_scale_row_resultinput_table)) * S ((dst_positive_code_row_resultinput_table) + (dst_positive_scale_row_resultinput_table)) + ((dst_positive_scale_row_resultinput_table) + (dst_positive_scale_row_resultinput_table))) + (((dst_negative_code_row_resultinput_table) + (dst_negative_scale_row_resultinput_table)) * S ((dst_negative_code_row_resultinput_table) + (dst_negative_scale_row_resultinput_table)) + ((dst_negative_scale_row_resultinput_table) + (dst_negative_scale_row_resultinput_table)))) + ((((dst_negative_code_row_resultinput_table) + (dst_negative_scale_row_resultinput_table)) * S ((dst_negative_code_row_resultinput_table) + (dst_negative_scale_row_resultinput_table)) + ((dst_negative_scale_row_resultinput_table) + (dst_negative_scale_row_resultinput_table))) + (((dst_negative_code_row_resultinput_table) + (dst_negative_scale_row_resultinput_table)) * S ((dst_negative_code_row_resultinput_table) + (dst_negative_scale_row_resultinput_table)) + ((dst_negative_scale_row_resultinput_table) + (dst_negative_scale_row_resultinput_table)))))) /\ (forall dst_index_row_resultinput_table. (exists pvs_le_gap_row_resultinput_tabledomain. pvs_le_gap_row_resultinput_tabledomain + (dst_index_row_resultinput_table) = (n)) -> exists dst_positive_row_resultinput_table dst_negative_row_resultinput_table dst_value_row_resultinput_table. ((((exists ff_h_pvs_row_resultinput_tableentrypositive. ff_h_pvs_row_resultinput_tableentrypositive + S (dst_positive_row_resultinput_table) = S ((S (dst_index_row_resultinput_table)) * dst_positive_scale_row_resultinput_table)) /\ exists ff_q_pvs_row_resultinput_tableentrypositive. dst_positive_code_row_resultinput_table = ff_q_pvs_row_resultinput_tableentrypositive * S ((S (dst_index_row_resultinput_table)) * dst_positive_scale_row_resultinput_table) + (dst_positive_row_resultinput_table))) /\ (((((exists ff_h_pvs_row_resultinput_tableentrynegative. ff_h_pvs_row_resultinput_tableentrynegative + S (dst_negative_row_resultinput_table) = S ((S (dst_index_row_resultinput_table)) * dst_negative_scale_row_resultinput_table)) /\ exists ff_q_pvs_row_resultinput_tableentrynegative. dst_negative_code_row_resultinput_table = ff_q_pvs_row_resultinput_tableentrynegative * S ((S (dst_index_row_resultinput_table)) * dst_negative_scale_row_resultinput_table) + (dst_negative_row_resultinput_table))) /\ (exists ge_balance_positive_row_resultinput_tableentryvalue ge_balance_negative_row_resultinput_tableentryvalue. (((((dst_value_row_resultinput_table) = 2 * (ge_balance_positive_row_resultinput_tableentryvalue) /\ (ge_balance_negative_row_resultinput_tableentryvalue) = 0) \/ exists ge_signed_half_row_resultinput_tableentryvaluedecode. (((dst_value_row_resultinput_table) = 2 * ge_signed_half_row_resultinput_tableentryvaluedecode + 1 /\ (ge_balance_positive_row_resultinput_tableentryvalue) = 0) /\ (ge_balance_negative_row_resultinput_tableentryvalue) = S ge_signed_half_row_resultinput_tableentryvaluedecode))) /\ ((dst_positive_row_resultinput_table) + ge_balance_negative_row_resultinput_tableentryvalue = (dst_negative_row_resultinput_table) + ge_balance_positive_row_resultinput_tableentryvalue))))))))) /\ (((exists dst_positive_code_row_resultoutput_table dst_positive_scale_row_resultoutput_table dst_negative_code_row_resultoutput_table dst_negative_scale_row_resultoutput_table. (((V) = (((((dst_positive_code_row_resultoutput_table) + (dst_positive_scale_row_resultoutput_table)) * S ((dst_positive_code_row_resultoutput_table) + (dst_positive_scale_row_resultoutput_table)) + ((dst_positive_scale_row_resultoutput_table) + (dst_positive_scale_row_resultoutput_table))) + (((dst_negative_code_row_resultoutput_table) + (dst_negative_scale_row_resultoutput_table)) * S ((dst_negative_code_row_resultoutput_table) + (dst_negative_scale_row_resultoutput_table)) + ((dst_negative_scale_row_resultoutput_table) + (dst_negative_scale_row_resultoutput_table)))) * S ((((dst_positive_code_row_resultoutput_table) + (dst_positive_scale_row_resultoutput_table)) * S ((dst_positive_code_row_resultoutput_table) + (dst_positive_scale_row_resultoutput_table)) + ((dst_positive_scale_row_resultoutput_table) + (dst_positive_scale_row_resultoutput_table))) + (((dst_negative_code_row_resultoutput_table) + (dst_negative_scale_row_resultoutput_table)) * S ((dst_negative_code_row_resultoutput_table) + (dst_negative_scale_row_resultoutput_table)) + ((dst_negative_scale_row_resultoutput_table) + (dst_negative_scale_row_resultoutput_table)))) + ((((dst_negative_code_row_resultoutput_table) + (dst_negative_scale_row_resultoutput_table)) * S ((dst_negative_code_row_resultoutput_table) + (dst_negative_scale_row_resultoutput_table)) + ((dst_negative_scale_row_resultoutput_table) + (dst_negative_scale_row_resultoutput_table))) + (((dst_negative_code_row_resultoutput_table) + (dst_negative_scale_row_resultoutput_table)) * S ((dst_negative_code_row_resultoutput_table) + (dst_negative_scale_row_resultoutput_table)) + ((dst_negative_scale_row_resultoutput_table) + (dst_negative_scale_row_resultoutput_table)))))) /\ (forall dst_index_row_resultoutput_table. (exists pvs_le_gap_row_resultoutput_tabledomain. pvs_le_gap_row_resultoutput_tabledomain + (dst_index_row_resultoutput_table) = (n)) -> exists dst_positive_row_resultoutput_table dst_negative_row_resultoutput_table dst_value_row_resultoutput_table. ((((exists ff_h_pvs_row_resultoutput_tableentrypositive. ff_h_pvs_row_resultoutput_tableentrypositive + S (dst_positive_row_resultoutput_table) = S ((S (dst_index_row_resultoutput_table)) * dst_positive_scale_row_resultoutput_table)) /\ exists ff_q_pvs_row_resultoutput_tableentrypositive. dst_positive_code_row_resultoutput_table = ff_q_pvs_row_resultoutput_tableentrypositive * S ((S (dst_index_row_resultoutput_table)) * dst_positive_scale_row_resultoutput_table) + (dst_positive_row_resultoutput_table))) /\ (((((exists ff_h_pvs_row_resultoutput_tableentrynegative. ff_h_pvs_row_resultoutput_tableentrynegative + S (dst_negative_row_resultoutput_table) = S ((S (dst_index_row_resultoutput_table)) * dst_negative_scale_row_resultoutput_table)) /\ exists ff_q_pvs_row_resultoutput_tableentrynegative. dst_negative_code_row_resultoutput_table = ff_q_pvs_row_resultoutput_tableentrynegative * S ((S (dst_index_row_resultoutput_table)) * dst_negative_scale_row_resultoutput_table) + (dst_negative_row_resultoutput_table))) /\ (exists ge_balance_positive_row_resultoutput_tableentryvalue ge_balance_negative_row_resultoutput_tableentryvalue. (((((dst_value_row_resultoutput_table) = 2 * (ge_balance_positive_row_resultoutput_tableentryvalue) /\ (ge_balance_negative_row_resultoutput_tableentryvalue) = 0) \/ exists ge_signed_half_row_resultoutput_tableentryvaluedecode. (((dst_value_row_resultoutput_table) = 2 * ge_signed_half_row_resultoutput_tableentryvaluedecode + 1 /\ (ge_balance_positive_row_resultoutput_tableentryvalue) = 0) /\ (ge_balance_negative_row_resultoutput_tableentryvalue) = S ge_signed_half_row_resultoutput_tableentryvaluedecode))) /\ ((dst_positive_row_resultoutput_table) + ge_balance_negative_row_resultoutput_tableentryvalue = (dst_negative_row_resultoutput_table) + ge_balance_positive_row_resultoutput_tableentryvalue))))))))) /\ (forall sto_index_row_resultentries. (exists pvs_gap_row_resultentriesbound. pvs_gap_row_resultentriesbound + S (sto_index_row_resultentries) = (n)) -> exists sto_input_row_resultentries sto_output_row_resultentries. ((exists dst_positive_code_row_resultentriesentryinput dst_positive_scale_row_resultentriesentryinput dst_negative_code_row_resultentriesentryinput dst_negative_scale_row_resultentriesentryinput dst_positive_row_resultentriesentryinput dst_negative_row_resultentriesentryinput. (((G) = (((((dst_positive_code_row_resultentriesentryinput) + (dst_positive_scale_row_resultentriesentryinput)) * S ((dst_positive_code_row_resultentriesentryinput) + (dst_positive_scale_row_resultentriesentryinput)) + ((dst_positive_scale_row_resultentriesentryinput) + (dst_positive_scale_row_resultentriesentryinput))) + (((dst_negative_code_row_resultentriesentryinput) + (dst_negative_scale_row_resultentriesentryinput)) * S ((dst_negative_code_row_resultentriesentryinput) + (dst_negative_scale_row_resultentriesentryinput)) + ((dst_negative_scale_row_resultentriesentryinput) + (dst_negative_scale_row_resultentriesentryinput)))) * S ((((dst_positive_code_row_resultentriesentryinput) + (dst_positive_scale_row_resultentriesentryinput)) * S ((dst_positive_code_row_resultentriesentryinput) + (dst_positive_scale_row_resultentriesentryinput)) + ((dst_positive_scale_row_resultentriesentryinput) + (dst_positive_scale_row_resultentriesentryinput))) + (((dst_negative_code_row_resultentriesentryinput) + (dst_negative_scale_row_resultentriesentryinput)) * S ((dst_negative_code_row_resultentriesentryinput) + (dst_negative_scale_row_resultentriesentryinput)) + ((dst_negative_scale_row_resultentriesentryinput) + (dst_negative_scale_row_resultentriesentryinput)))) + ((((dst_negative_code_row_resultentriesentryinput) + (dst_negative_scale_row_resultentriesentryinput)) * S ((dst_negative_code_row_resultentriesentryinput) + (dst_negative_scale_row_resultentriesentryinput)) + ((dst_negative_scale_row_resultentriesentryinput) + (dst_negative_scale_row_resultentriesentryinput))) + (((dst_negative_code_row_resultentriesentryinput) + (dst_negative_scale_row_resultentriesentryinput)) * S ((dst_negative_code_row_resultentriesentryinput) + (dst_negative_scale_row_resultentriesentryinput)) + ((dst_negative_scale_row_resultentriesentryinput) + (dst_negative_scale_row_resultentriesentryinput)))))) /\ (((((exists ff_h_pvs_row_resultentriesentryinputpositive. ff_h_pvs_row_resultentriesentryinputpositive + S (dst_positive_row_resultentriesentryinput) = S ((S (sto_index_row_resultentries)) * dst_positive_scale_row_resultentriesentryinput)) /\ exists ff_q_pvs_row_resultentriesentryinputpositive. dst_positive_code_row_resultentriesentryinput = ff_q_pvs_row_resultentriesentryinputpositive * S ((S (sto_index_row_resultentries)) * dst_positive_scale_row_resultentriesentryinput) + (dst_positive_row_resultentriesentryinput))) /\ (((((exists ff_h_pvs_row_resultentriesentryinputnegative. ff_h_pvs_row_resultentriesentryinputnegative + S (dst_negative_row_resultentriesentryinput) = S ((S (sto_index_row_resultentries)) * dst_negative_scale_row_resultentriesentryinput)) /\ exists ff_q_pvs_row_resultentriesentryinputnegative. dst_negative_code_row_resultentriesentryinput = ff_q_pvs_row_resultentriesentryinputnegative * S ((S (sto_index_row_resultentries)) * dst_negative_scale_row_resultentriesentryinput) + (dst_negative_row_resultentriesentryinput))) /\ (exists ge_balance_positive_row_resultentriesentryinputvalue ge_balance_negative_row_resultentriesentryinputvalue. (((((sto_input_row_resultentries) = 2 * (ge_balance_positive_row_resultentriesentryinputvalue) /\ (ge_balance_negative_row_resultentriesentryinputvalue) = 0) \/ exists ge_signed_half_row_resultentriesentryinputvaluedecode. (((sto_input_row_resultentries) = 2 * ge_signed_half_row_resultentriesentryinputvaluedecode + 1 /\ (ge_balance_positive_row_resultentriesentryinputvalue) = 0) /\ (ge_balance_negative_row_resultentriesentryinputvalue) = S ge_signed_half_row_resultentriesentryinputvaluedecode))) /\ ((dst_positive_row_resultentriesentryinput) + ge_balance_negative_row_resultentriesentryinputvalue = (dst_negative_row_resultentriesentryinput) + ge_balance_positive_row_resultentriesentryinputvalue))))))))) /\ (((exists dst_positive_code_row_resultentriesentryoutput dst_positive_scale_row_resultentriesentryoutput dst_negative_code_row_resultentriesentryoutput dst_negative_scale_row_resultentriesentryoutput dst_positive_row_resultentriesentryoutput dst_negative_row_resultentriesentryoutput. (((V) = (((((dst_positive_code_row_resultentriesentryoutput) + (dst_positive_scale_row_resultentriesentryoutput)) * S ((dst_positive_code_row_resultentriesentryoutput) + (dst_positive_scale_row_resultentriesentryoutput)) + ((dst_positive_scale_row_resultentriesentryoutput) + (dst_positive_scale_row_resultentriesentryoutput))) + (((dst_negative_code_row_resultentriesentryoutput) + (dst_negative_scale_row_resultentriesentryoutput)) * S ((dst_negative_code_row_resultentriesentryoutput) + (dst_negative_scale_row_resultentriesentryoutput)) + ((dst_negative_scale_row_resultentriesentryoutput) + (dst_negative_scale_row_resultentriesentryoutput)))) * S ((((dst_positive_code_row_resultentriesentryoutput) + (dst_positive_scale_row_resultentriesentryoutput)) * S ((dst_positive_code_row_resultentriesentryoutput) + (dst_positive_scale_row_resultentriesentryoutput)) + ((dst_positive_scale_row_resultentriesentryoutput) + (dst_positive_scale_row_resultentriesentryoutput))) + (((dst_negative_code_row_resultentriesentryoutput) + (dst_negative_scale_row_resultentriesentryoutput)) * S ((dst_negative_code_row_resultentriesentryoutput) + (dst_negative_scale_row_resultentriesentryoutput)) + ((dst_negative_scale_row_resultentriesentryoutput) + (dst_negative_scale_row_resultentriesentryoutput)))) + ((((dst_negative_code_row_resultentriesentryoutput) + (dst_negative_scale_row_resultentriesentryoutput)) * S ((dst_negative_code_row_resultentriesentryoutput) + (dst_negative_scale_row_resultentriesentryoutput)) + ((dst_negative_scale_row_resultentriesentryoutput) + (dst_negative_scale_row_resultentriesentryoutput))) + (((dst_negative_code_row_resultentriesentryoutput) + (dst_negative_scale_row_resultentriesentryoutput)) * S ((dst_negative_code_row_resultentriesentryoutput) + (dst_negative_scale_row_resultentriesentryoutput)) + ((dst_negative_scale_row_resultentriesentryoutput) + (dst_negative_scale_row_resultentriesentryoutput)))))) /\ (((((exists ff_h_pvs_row_resultentriesentryoutputpositive. ff_h_pvs_row_resultentriesentryoutputpositive + S (dst_positive_row_resultentriesentryoutput) = S ((S (sto_index_row_resultentries)) * dst_positive_scale_row_resultentriesentryoutput)) /\ exists ff_q_pvs_row_resultentriesentryoutputpositive. dst_positive_code_row_resultentriesentryoutput = ff_q_pvs_row_resultentriesentryoutputpositive * S ((S (sto_index_row_resultentries)) * dst_positive_scale_row_resultentriesentryoutput) + (dst_positive_row_resultentriesentryoutput))) /\ (((((exists ff_h_pvs_row_resultentriesentryoutputnegative. ff_h_pvs_row_resultentriesentryoutputnegative + S (dst_negative_row_resultentriesentryoutput) = S ((S (sto_index_row_resultentries)) * dst_negative_scale_row_resultentriesentryoutput)) /\ exists ff_q_pvs_row_resultentriesentryoutputnegative. dst_negative_code_row_resultentriesentryoutput = ff_q_pvs_row_resultentriesentryoutputnegative * S ((S (sto_index_row_resultentries)) * dst_negative_scale_row_resultentriesentryoutput) + (dst_negative_row_resultentriesentryoutput))) /\ (exists ge_balance_positive_row_resultentriesentryoutputvalue ge_balance_negative_row_resultentriesentryoutputvalue. (((((sto_output_row_resultentries) = 2 * (ge_balance_positive_row_resultentriesentryoutputvalue) /\ (ge_balance_negative_row_resultentriesentryoutputvalue) = 0) \/ exists ge_signed_half_row_resultentriesentryoutputvaluedecode. (((sto_output_row_resultentries) = 2 * ge_signed_half_row_resultentriesentryoutputvaluedecode + 1 /\ (ge_balance_positive_row_resultentriesentryoutputvalue) = 0) /\ (ge_balance_negative_row_resultentriesentryoutputvalue) = S ge_signed_half_row_resultentriesentryoutputvaluedecode))) /\ ((dst_positive_row_resultentriesentryoutput) + ge_balance_negative_row_resultentriesentryoutputvalue = (dst_negative_row_resultentriesentryoutput) + ge_balance_positive_row_resultentriesentryoutputvalue))))))))) /\ (exists sto_ap_row_resultentriesentryoperation sto_an_row_resultentriesentryoperation sto_bp_row_resultentriesentryoperation sto_bn_row_resultentriesentryoperation sto_cp_row_resultentriesentryoperation sto_cn_row_resultentriesentryoperation. (((((a) = 2 * (sto_ap_row_resultentriesentryoperation) /\ (sto_an_row_resultentriesentryoperation) = 0) \/ exists ge_signed_half_row_resultentriesentryoperationleft. (((a) = 2 * ge_signed_half_row_resultentriesentryoperationleft + 1 /\ (sto_ap_row_resultentriesentryoperation) = 0) /\ (sto_an_row_resultentriesentryoperation) = S ge_signed_half_row_resultentriesentryoperationleft))) /\ ((((((sto_input_row_resultentries) = 2 * (sto_bp_row_resultentriesentryoperation) /\ (sto_bn_row_resultentriesentryoperation) = 0) \/ exists ge_signed_half_row_resultentriesentryoperationright. (((sto_input_row_resultentries) = 2 * ge_signed_half_row_resultentriesentryoperationright + 1 /\ (sto_bp_row_resultentriesentryoperation) = 0) /\ (sto_bn_row_resultentriesentryoperation) = S ge_signed_half_row_resultentriesentryoperationright))) /\ ((((((sto_output_row_resultentries) = 2 * (sto_cp_row_resultentriesentryoperation) /\ (sto_cn_row_resultentriesentryoperation) = 0) \/ exists ge_signed_half_row_resultentriesentryoperationoutput. (((sto_output_row_resultentries) = 2 * ge_signed_half_row_resultentriesentryoperationoutput + 1 /\ (sto_cp_row_resultentriesentryoperation) = 0) /\ (sto_cn_row_resultentriesentryoperation) = S ge_signed_half_row_resultentriesentryoperationoutput))) /\ ((sto_ap_row_resultentriesentryoperation * sto_bp_row_resultentriesentryoperation + sto_an_row_resultentriesentryoperation * sto_bn_row_resultentriesentryoperation) + sto_cn_row_resultentriesentryoperation = (sto_ap_row_resultentriesentryoperation * sto_bn_row_resultentriesentryoperation + sto_an_row_resultentriesentryoperation * sto_bp_row_resultentriesentryoperation) + sto_cp_row_resultentriesentryoperation)))))))))))))))Constructive proof overview
Generated structural guide
Each actual row slice is a genuine pointwise scalar product by its actual first-input value.
The unchanged tactic script uses 5 declared prerequisites and contains 80 exact native proof lines.
Alpha v34 checked-use · first admitted v32 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
signed_table_domain_resize Alpha theorem; checked-use authorized signed_table_lookup_any Alpha theorem; checked-use authorized signed_rectangular_slice_lookup Alpha theorem; checked-use authorized zero_add Stable theorem; checked-use authorized one_mul Stable theorem; checked-use authorizedDirect dependents
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
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.
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–12
03Separate the logical casesL13–18
04Use earlier factsL19–23
05Separate the logical casesL24–24
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L24
split
06Use earlier factsL25–25
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L25
exact hv_right_left
07Fix variables and assumptionsL26–27
08Establish hbL28–33
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed table lookup any.
09Separate the logical casesL34–34
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L34
cases hb
10Establish hcL35–40
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed table lookup any.
11Separate the logical casesL41–41
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L41
cases hc
12Construct an explicit witnessL42–43
13Separate the logical casesL44–44
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L44
split
14Use earlier factsL45–45
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L45
exact hb_witness
15Separate the logical casesL46–46
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L46
split
16Use earlier factsL47–56
Instantiate or apply named facts and discharge the corresponding proof obligations.
17Use earlier factsL57–57
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L57
exact hb_witness
18Establish htL58–67
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed rectangular slice lookup.
- L58
have ht : ArithAt(T,0 + n · i + 1 · j,x1)Definitions: ArithAt - L59
specialize signed_rectangular_slice_lookup (T) - L60
specialize signed_rectangular_slice_lookup (V) - L61
specialize signed_rectangular_slice_lookup (((0) + ((n) * (i)))) - L62
specialize signed_rectangular_slice_lookup (1) - L63
specialize signed_rectangular_slice_lookup (n) - L64
specialize signed_rectangular_slice_lookup (j) - L65
specialize signed_rectangular_slice_lookup (x1) - L66
apply signed_rectangular_slice_lookup - L67
exact hv
19Use earlier factsL68–69
20Establish hindexL70–79
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply zero add.
21Use earlier factsL80–80
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L80
exact ht
Original exact command ledger · 80 lines
- 0001
intro F - 0002
intro G - 0003
intro T - 0004
intro V - 0005
intro m - 0006
intro n - 0007
intro i - 0008
intro a - 0009
intro hp - 0010
intro hi - 0011
intro ha - 0012
intro hv - 0013
cases hp - 0014
cases hp_right - 0015
cases hp_right_right - 0016
cases hv - 0017
cases hv_right - 0018
split - 0019
specialize signed_table_domain_resize (0) - 0020
specialize signed_table_domain_resize (n) - 0021
specialize signed_table_domain_resize (G) - 0022
apply signed_table_domain_resize - 0023
exact hp_right_left - 0024
split - 0025
exact hv_right_left - 0026
intro j - 0027
intro hj - 0028
have hb : exists b. (exists dst_positive_code_row_first dst_positive_scale_row_first dst_negative_code_row_first dst_negative_scale_row_first dst_positive_row_first dst_negative_row_first. (((G) = (((((dst_positive_code_row_first) + (dst_positive_scale_row_first)) * S ((dst_positive_code_row_first) + (dst_positive_scale_row_first)) + ((dst_positive_scale_row_first) + (dst_positive_scale_row_first))) + (((dst_negative_code_row_first) + (dst_negative_scale_row_first)) * S ((dst_negative_code_row_first) + (dst_negative_scale_row_first)) + ((dst_negative_scale_row_first) + (dst_negative_scale_row_first)))) * S ((((dst_positive_code_row_first) + (dst_positive_scale_row_first)) * S ((dst_positive_code_row_first) + (dst_positive_scale_row_first)) + ((dst_positive_scale_row_first) + (dst_positive_scale_row_first))) + (((dst_negative_code_row_first) + (dst_negative_scale_row_first)) * S ((dst_negative_code_row_first) + (dst_negative_scale_row_first)) + ((dst_negative_scale_row_first) + (dst_negative_scale_row_first)))) + ((((dst_negative_code_row_first) + (dst_negative_scale_row_first)) * S ((dst_negative_code_row_first) + (dst_negative_scale_row_first)) + ((dst_negative_scale_row_first) + (dst_negative_scale_row_first))) + (((dst_negative_code_row_first) + (dst_negative_scale_row_first)) * S ((dst_negative_code_row_first) + (dst_negative_scale_row_first)) + ((dst_negative_scale_row_first) + (dst_negative_scale_row_first)))))) /\ (((((exists ff_h_pvs_row_firstpositive. ff_h_pvs_row_firstpositive + S (dst_positive_row_first) = S ((S (j)) * dst_positive_scale_row_first)) /\ exists ff_q_pvs_row_firstpositive. dst_positive_code_row_first = ff_q_pvs_row_firstpositive * S ((S (j)) * dst_positive_scale_row_first) + (dst_positive_row_first))) /\ (((((exists ff_h_pvs_row_firstnegative. ff_h_pvs_row_firstnegative + S (dst_negative_row_first) = S ((S (j)) * dst_negative_scale_row_first)) /\ exists ff_q_pvs_row_firstnegative. dst_negative_code_row_first = ff_q_pvs_row_firstnegative * S ((S (j)) * dst_negative_scale_row_first) + (dst_negative_row_first))) /\ (exists ge_balance_positive_row_firstvalue ge_balance_negative_row_firstvalue. (((((b) = 2 * (ge_balance_positive_row_firstvalue) /\ (ge_balance_negative_row_firstvalue) = 0) \/ exists ge_signed_half_row_firstvaluedecode. (((b) = 2 * ge_signed_half_row_firstvaluedecode + 1 /\ (ge_balance_positive_row_firstvalue) = 0) /\ (ge_balance_negative_row_firstvalue) = S ge_signed_half_row_firstvaluedecode))) /\ ((dst_positive_row_first) + ge_balance_negative_row_firstvalue = (dst_negative_row_first) + ge_balance_positive_row_firstvalue))))))))) - 0029
specialize signed_table_lookup_any (0) - 0030
specialize signed_table_lookup_any (G) - 0031
specialize signed_table_lookup_any (j) - 0032
apply signed_table_lookup_any - 0033
exact hp_right_left - 0034
cases hb - 0035
have hc : exists c. (exists dst_positive_code_row_second dst_positive_scale_row_second dst_negative_code_row_second dst_negative_scale_row_second dst_positive_row_second dst_negative_row_second. (((V) = (((((dst_positive_code_row_second) + (dst_positive_scale_row_second)) * S ((dst_positive_code_row_second) + (dst_positive_scale_row_second)) + ((dst_positive_scale_row_second) + (dst_positive_scale_row_second))) + (((dst_negative_code_row_second) + (dst_negative_scale_row_second)) * S ((dst_negative_code_row_second) + (dst_negative_scale_row_second)) + ((dst_negative_scale_row_second) + (dst_negative_scale_row_second)))) * S ((((dst_positive_code_row_second) + (dst_positive_scale_row_second)) * S ((dst_positive_code_row_second) + (dst_positive_scale_row_second)) + ((dst_positive_scale_row_second) + (dst_positive_scale_row_second))) + (((dst_negative_code_row_second) + (dst_negative_scale_row_second)) * S ((dst_negative_code_row_second) + (dst_negative_scale_row_second)) + ((dst_negative_scale_row_second) + (dst_negative_scale_row_second)))) + ((((dst_negative_code_row_second) + (dst_negative_scale_row_second)) * S ((dst_negative_code_row_second) + (dst_negative_scale_row_second)) + ((dst_negative_scale_row_second) + (dst_negative_scale_row_second))) + (((dst_negative_code_row_second) + (dst_negative_scale_row_second)) * S ((dst_negative_code_row_second) + (dst_negative_scale_row_second)) + ((dst_negative_scale_row_second) + (dst_negative_scale_row_second)))))) /\ (((((exists ff_h_pvs_row_secondpositive. ff_h_pvs_row_secondpositive + S (dst_positive_row_second) = S ((S (j)) * dst_positive_scale_row_second)) /\ exists ff_q_pvs_row_secondpositive. dst_positive_code_row_second = ff_q_pvs_row_secondpositive * S ((S (j)) * dst_positive_scale_row_second) + (dst_positive_row_second))) /\ (((((exists ff_h_pvs_row_secondnegative. ff_h_pvs_row_secondnegative + S (dst_negative_row_second) = S ((S (j)) * dst_negative_scale_row_second)) /\ exists ff_q_pvs_row_secondnegative. dst_negative_code_row_second = ff_q_pvs_row_secondnegative * S ((S (j)) * dst_negative_scale_row_second) + (dst_negative_row_second))) /\ (exists ge_balance_positive_row_secondvalue ge_balance_negative_row_secondvalue. (((((c) = 2 * (ge_balance_positive_row_secondvalue) /\ (ge_balance_negative_row_secondvalue) = 0) \/ exists ge_signed_half_row_secondvaluedecode. (((c) = 2 * ge_signed_half_row_secondvaluedecode + 1 /\ (ge_balance_positive_row_secondvalue) = 0) /\ (ge_balance_negative_row_secondvalue) = S ge_signed_half_row_secondvaluedecode))) /\ ((dst_positive_row_second) + ge_balance_negative_row_secondvalue = (dst_negative_row_second) + ge_balance_positive_row_secondvalue))))))))) - 0036
specialize signed_table_lookup_any (n) - 0037
specialize signed_table_lookup_any (V) - 0038
specialize signed_table_lookup_any (j) - 0039
apply signed_table_lookup_any - 0040
exact hv_right_left - 0041
cases hc - 0042
exists x - 0043
exists x1 - 0044
split - 0045
exact hb_witness - 0046
split - 0047
exact hc_witness - 0048
specialize hp_right_right_right (i) - 0049
specialize hp_right_right_right (j) - 0050
specialize hp_right_right_right (a) - 0051
specialize hp_right_right_right (x) - 0052
specialize hp_right_right_right (x1) - 0053
apply hp_right_right_right - 0054
exact hi - 0055
exact hj - 0056
exact ha - 0057
exact hb_witness - 0058
have ht : exists dst_positive_code_row_source dst_positive_scale_row_source dst_negative_code_row_source dst_negative_scale_row_source dst_positive_row_source dst_negative_row_source. (((T) = (((((dst_positive_code_row_source) + (dst_positive_scale_row_source)) * S ((dst_positive_code_row_source) + (dst_positive_scale_row_source)) + ((dst_positive_scale_row_source) + (dst_positive_scale_row_source))) + (((dst_negative_code_row_source) + (dst_negative_scale_row_source)) * S ((dst_negative_code_row_source) + (dst_negative_scale_row_source)) + ((dst_negative_scale_row_source) + (dst_negative_scale_row_source)))) * S ((((dst_positive_code_row_source) + (dst_positive_scale_row_source)) * S ((dst_positive_code_row_source) + (dst_positive_scale_row_source)) + ((dst_positive_scale_row_source) + (dst_positive_scale_row_source))) + (((dst_negative_code_row_source) + (dst_negative_scale_row_source)) * S ((dst_negative_code_row_source) + (dst_negative_scale_row_source)) + ((dst_negative_scale_row_source) + (dst_negative_scale_row_source)))) + ((((dst_negative_code_row_source) + (dst_negative_scale_row_source)) * S ((dst_negative_code_row_source) + (dst_negative_scale_row_source)) + ((dst_negative_scale_row_source) + (dst_negative_scale_row_source))) + (((dst_negative_code_row_source) + (dst_negative_scale_row_source)) * S ((dst_negative_code_row_source) + (dst_negative_scale_row_source)) + ((dst_negative_scale_row_source) + (dst_negative_scale_row_source)))))) /\ (((((exists ff_h_pvs_row_sourcepositive. ff_h_pvs_row_sourcepositive + S (dst_positive_row_source) = S ((S (((((0) + ((n) * (i)))) + ((1) * (j))))) * dst_positive_scale_row_source)) /\ exists ff_q_pvs_row_sourcepositive. dst_positive_code_row_source = ff_q_pvs_row_sourcepositive * S ((S (((((0) + ((n) * (i)))) + ((1) * (j))))) * dst_positive_scale_row_source) + (dst_positive_row_source))) /\ (((((exists ff_h_pvs_row_sourcenegative. ff_h_pvs_row_sourcenegative + S (dst_negative_row_source) = S ((S (((((0) + ((n) * (i)))) + ((1) * (j))))) * dst_negative_scale_row_source)) /\ exists ff_q_pvs_row_sourcenegative. dst_negative_code_row_source = ff_q_pvs_row_sourcenegative * S ((S (((((0) + ((n) * (i)))) + ((1) * (j))))) * dst_negative_scale_row_source) + (dst_negative_row_source))) /\ (exists ge_balance_positive_row_sourcevalue ge_balance_negative_row_sourcevalue. (((((x1) = 2 * (ge_balance_positive_row_sourcevalue) /\ (ge_balance_negative_row_sourcevalue) = 0) \/ exists ge_signed_half_row_sourcevaluedecode. (((x1) = 2 * ge_signed_half_row_sourcevaluedecode + 1 /\ (ge_balance_positive_row_sourcevalue) = 0) /\ (ge_balance_negative_row_sourcevalue) = S ge_signed_half_row_sourcevaluedecode))) /\ ((dst_positive_row_source) + ge_balance_negative_row_sourcevalue = (dst_negative_row_source) + ge_balance_positive_row_sourcevalue)))))))) - 0059
specialize signed_rectangular_slice_lookup (T) - 0060
specialize signed_rectangular_slice_lookup (V) - 0061
specialize signed_rectangular_slice_lookup (((0) + ((n) * (i)))) - 0062
specialize signed_rectangular_slice_lookup (1) - 0063
specialize signed_rectangular_slice_lookup (n) - 0064
specialize signed_rectangular_slice_lookup (j) - 0065
specialize signed_rectangular_slice_lookup (x1) - 0066
apply signed_rectangular_slice_lookup - 0067
exact hv - 0068
exact hj - 0069
exact hc_witness - 0070
have hindex : ((((0) + ((n) * (i)))) + ((1) * (j))) = ((n)*(i)+(j)) - 0071
congr - 0072
specialize zero_add (n*i) - 0073
apply zero_add - 0074
specialize one_mul (j) - 0075
apply one_mul - 0076
rewrite hindex at ht - 0077
rewrite hindex at ht - 0078
rewrite hindex at ht - 0079
rewrite hindex at ht - 0080
exact ht