MX0022

signed_cartesian_flat_prefix_append

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

Actually recode both beta streams, preserve the old represented values, and install the next independently constructed flat product.

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 n l T z. (((exists dst_positive_code_prefix_append_beforetable dst_positive_scale_prefix_append_beforetable dst_negative_code_prefix_append_beforetable dst_negative_scale_prefix_append_beforetable. (((T) = (((((dst_positive_code_prefix_append_beforetable) + (dst_positive_scale_prefix_append_beforetable)) * S ((dst_positive_code_prefix_append_beforetable) + (dst_positive_scale_prefix_append_beforetable)) + ((dst_positive_scale_prefix_append_beforetable) + (dst_positive_scale_prefix_append_beforetable))) + (((dst_negative_code_prefix_append_beforetable) + (dst_negative_scale_prefix_append_beforetable)) * S ((dst_negative_code_prefix_append_beforetable) + (dst_negative_scale_prefix_append_beforetable)) + ((dst_negative_scale_prefix_append_beforetable) + (dst_negative_scale_prefix_append_beforetable)))) * S ((((dst_positive_code_prefix_append_beforetable) + (dst_positive_scale_prefix_append_beforetable)) * S ((dst_positive_code_prefix_append_beforetable) + (dst_positive_scale_prefix_append_beforetable)) + ((dst_positive_scale_prefix_append_beforetable) + (dst_positive_scale_prefix_append_beforetable))) + (((dst_negative_code_prefix_append_beforetable) + (dst_negative_scale_prefix_append_beforetable)) * S ((dst_negative_code_prefix_append_beforetable) + (dst_negative_scale_prefix_append_beforetable)) + ((dst_negative_scale_prefix_append_beforetable) + (dst_negative_scale_prefix_append_beforetable)))) + ((((dst_negative_code_prefix_append_beforetable) + (dst_negative_scale_prefix_append_beforetable)) * S ((dst_negative_code_prefix_append_beforetable) + (dst_negative_scale_prefix_append_beforetable)) + ((dst_negative_scale_prefix_append_beforetable) + (dst_negative_scale_prefix_append_beforetable))) + (((dst_negative_code_prefix_append_beforetable) + (dst_negative_scale_prefix_append_beforetable)) * S ((dst_negative_code_prefix_append_beforetable) + (dst_negative_scale_prefix_append_beforetable)) + ((dst_negative_scale_prefix_append_beforetable) + (dst_negative_scale_prefix_append_beforetable)))))) /\ (forall dst_index_prefix_append_beforetable. (exists pvs_le_gap_prefix_append_beforetabledomain. pvs_le_gap_prefix_append_beforetabledomain + (dst_index_prefix_append_beforetable) = (l)) -> exists dst_positive_prefix_append_beforetable dst_negative_prefix_append_beforetable dst_value_prefix_append_beforetable. ((((exists ff_h_pvs_prefix_append_beforetableentrypositive. ff_h_pvs_prefix_append_beforetableentrypositive + S (dst_positive_prefix_append_beforetable) = S ((S (dst_index_prefix_append_beforetable)) * dst_positive_scale_prefix_append_beforetable)) /\ exists ff_q_pvs_prefix_append_beforetableentrypositive. dst_positive_code_prefix_append_beforetable = ff_q_pvs_prefix_append_beforetableentrypositive * S ((S (dst_index_prefix_append_beforetable)) * dst_positive_scale_prefix_append_beforetable) + (dst_positive_prefix_append_beforetable))) /\ (((((exists ff_h_pvs_prefix_append_beforetableentrynegative. ff_h_pvs_prefix_append_beforetableentrynegative + S (dst_negative_prefix_append_beforetable) = S ((S (dst_index_prefix_append_beforetable)) * dst_negative_scale_prefix_append_beforetable)) /\ exists ff_q_pvs_prefix_append_beforetableentrynegative. dst_negative_code_prefix_append_beforetable = ff_q_pvs_prefix_append_beforetableentrynegative * S ((S (dst_index_prefix_append_beforetable)) * dst_negative_scale_prefix_append_beforetable) + (dst_negative_prefix_append_beforetable))) /\ (exists ge_balance_positive_prefix_append_beforetableentryvalue ge_balance_negative_prefix_append_beforetableentryvalue. (((((dst_value_prefix_append_beforetable) = 2 * (ge_balance_positive_prefix_append_beforetableentryvalue) /\ (ge_balance_negative_prefix_append_beforetableentryvalue) = 0) \/ exists ge_signed_half_prefix_append_beforetableentryvaluedecode. (((dst_value_prefix_append_beforetable) = 2 * ge_signed_half_prefix_append_beforetableentryvaluedecode + 1 /\ (ge_balance_positive_prefix_append_beforetableentryvalue) = 0) /\ (ge_balance_negative_prefix_append_beforetableentryvalue) = S ge_signed_half_prefix_append_beforetableentryvaluedecode))) /\ ((dst_positive_prefix_append_beforetable) + ge_balance_negative_prefix_append_beforetableentryvalue = (dst_negative_prefix_append_beforetable) + ge_balance_positive_prefix_append_beforetableentryvalue))))))))) /\ (forall scp_flat_index_prefix_append_before scp_flat_value_prefix_append_before. (exists pvs_le_gap_prefix_append_beforebound. pvs_le_gap_prefix_append_beforebound + (scp_flat_index_prefix_append_before) = (l)) -> (exists dst_positive_code_prefix_append_beforeentry dst_positive_scale_prefix_append_beforeentry dst_negative_code_prefix_append_beforeentry dst_negative_scale_prefix_append_beforeentry dst_positive_prefix_append_beforeentry dst_negative_prefix_append_beforeentry. (((T) = (((((dst_positive_code_prefix_append_beforeentry) + (dst_positive_scale_prefix_append_beforeentry)) * S ((dst_positive_code_prefix_append_beforeentry) + (dst_positive_scale_prefix_append_beforeentry)) + ((dst_positive_scale_prefix_append_beforeentry) + (dst_positive_scale_prefix_append_beforeentry))) + (((dst_negative_code_prefix_append_beforeentry) + (dst_negative_scale_prefix_append_beforeentry)) * S ((dst_negative_code_prefix_append_beforeentry) + (dst_negative_scale_prefix_append_beforeentry)) + ((dst_negative_scale_prefix_append_beforeentry) + (dst_negative_scale_prefix_append_beforeentry)))) * S ((((dst_positive_code_prefix_append_beforeentry) + (dst_positive_scale_prefix_append_beforeentry)) * S ((dst_positive_code_prefix_append_beforeentry) + (dst_positive_scale_prefix_append_beforeentry)) + ((dst_positive_scale_prefix_append_beforeentry) + (dst_positive_scale_prefix_append_beforeentry))) + (((dst_negative_code_prefix_append_beforeentry) + (dst_negative_scale_prefix_append_beforeentry)) * S ((dst_negative_code_prefix_append_beforeentry) + (dst_negative_scale_prefix_append_beforeentry)) + ((dst_negative_scale_prefix_append_beforeentry) + (dst_negative_scale_prefix_append_beforeentry)))) + ((((dst_negative_code_prefix_append_beforeentry) + (dst_negative_scale_prefix_append_beforeentry)) * S ((dst_negative_code_prefix_append_beforeentry) + (dst_negative_scale_prefix_append_beforeentry)) + ((dst_negative_scale_prefix_append_beforeentry) + (dst_negative_scale_prefix_append_beforeentry))) + (((dst_negative_code_prefix_append_beforeentry) + (dst_negative_scale_prefix_append_beforeentry)) * S ((dst_negative_code_prefix_append_beforeentry) + (dst_negative_scale_prefix_append_beforeentry)) + ((dst_negative_scale_prefix_append_beforeentry) + (dst_negative_scale_prefix_append_beforeentry)))))) /\ (((((exists ff_h_pvs_prefix_append_beforeentrypositive. ff_h_pvs_prefix_append_beforeentrypositive + S (dst_positive_prefix_append_beforeentry) = S ((S (scp_flat_index_prefix_append_before)) * dst_positive_scale_prefix_append_beforeentry)) /\ exists ff_q_pvs_prefix_append_beforeentrypositive. dst_positive_code_prefix_append_beforeentry = ff_q_pvs_prefix_append_beforeentrypositive * S ((S (scp_flat_index_prefix_append_before)) * dst_positive_scale_prefix_append_beforeentry) + (dst_positive_prefix_append_beforeentry))) /\ (((((exists ff_h_pvs_prefix_append_beforeentrynegative. ff_h_pvs_prefix_append_beforeentrynegative + S (dst_negative_prefix_append_beforeentry) = S ((S (scp_flat_index_prefix_append_before)) * dst_negative_scale_prefix_append_beforeentry)) /\ exists ff_q_pvs_prefix_append_beforeentrynegative. dst_negative_code_prefix_append_beforeentry = ff_q_pvs_prefix_append_beforeentrynegative * S ((S (scp_flat_index_prefix_append_before)) * dst_negative_scale_prefix_append_beforeentry) + (dst_negative_prefix_append_beforeentry))) /\ (exists ge_balance_positive_prefix_append_beforeentryvalue ge_balance_negative_prefix_append_beforeentryvalue. (((((scp_flat_value_prefix_append_before) = 2 * (ge_balance_positive_prefix_append_beforeentryvalue) /\ (ge_balance_negative_prefix_append_beforeentryvalue) = 0) \/ exists ge_signed_half_prefix_append_beforeentryvaluedecode. (((scp_flat_value_prefix_append_before) = 2 * ge_signed_half_prefix_append_beforeentryvaluedecode + 1 /\ (ge_balance_positive_prefix_append_beforeentryvalue) = 0) /\ (ge_balance_negative_prefix_append_beforeentryvalue) = S ge_signed_half_prefix_append_beforeentryvaluedecode))) /\ ((dst_positive_prefix_append_beforeentry) + ge_balance_negative_prefix_append_beforeentryvalue = (dst_negative_prefix_append_beforeentry) + ge_balance_positive_prefix_append_beforeentryvalue))))))))) -> (exists scp_flat_row_prefix_append_beforeproduct scp_flat_column_prefix_append_beforeproduct scp_flat_first_prefix_append_beforeproduct scp_flat_second_prefix_append_beforeproduct. (((scp_flat_index_prefix_append_before)=((n)*(scp_flat_row_prefix_append_beforeproduct)+(scp_flat_column_prefix_append_beforeproduct))) /\ (((exists pvs_gap_prefix_append_beforeproductremainder. pvs_gap_prefix_append_beforeproductremainder + S (scp_flat_column_prefix_append_beforeproduct) = (n)) /\ (((exists dst_positive_code_prefix_append_beforeproductF dst_positive_scale_prefix_append_beforeproductF dst_negative_code_prefix_append_beforeproductF dst_negative_scale_prefix_append_beforeproductF dst_positive_prefix_append_beforeproductF dst_negative_prefix_append_beforeproductF. (((F) = (((((dst_positive_code_prefix_append_beforeproductF) + (dst_positive_scale_prefix_append_beforeproductF)) * S ((dst_positive_code_prefix_append_beforeproductF) + (dst_positive_scale_prefix_append_beforeproductF)) + ((dst_positive_scale_prefix_append_beforeproductF) + (dst_positive_scale_prefix_append_beforeproductF))) + (((dst_negative_code_prefix_append_beforeproductF) + (dst_negative_scale_prefix_append_beforeproductF)) * S ((dst_negative_code_prefix_append_beforeproductF) + (dst_negative_scale_prefix_append_beforeproductF)) + ((dst_negative_scale_prefix_append_beforeproductF) + (dst_negative_scale_prefix_append_beforeproductF)))) * S ((((dst_positive_code_prefix_append_beforeproductF) + (dst_positive_scale_prefix_append_beforeproductF)) * S ((dst_positive_code_prefix_append_beforeproductF) + (dst_positive_scale_prefix_append_beforeproductF)) + ((dst_positive_scale_prefix_append_beforeproductF) + (dst_positive_scale_prefix_append_beforeproductF))) + (((dst_negative_code_prefix_append_beforeproductF) + (dst_negative_scale_prefix_append_beforeproductF)) * S ((dst_negative_code_prefix_append_beforeproductF) + (dst_negative_scale_prefix_append_beforeproductF)) + ((dst_negative_scale_prefix_append_beforeproductF) + (dst_negative_scale_prefix_append_beforeproductF)))) + ((((dst_negative_code_prefix_append_beforeproductF) + (dst_negative_scale_prefix_append_beforeproductF)) * S ((dst_negative_code_prefix_append_beforeproductF) + (dst_negative_scale_prefix_append_beforeproductF)) + ((dst_negative_scale_prefix_append_beforeproductF) + (dst_negative_scale_prefix_append_beforeproductF))) + (((dst_negative_code_prefix_append_beforeproductF) + (dst_negative_scale_prefix_append_beforeproductF)) * S ((dst_negative_code_prefix_append_beforeproductF) + (dst_negative_scale_prefix_append_beforeproductF)) + ((dst_negative_scale_prefix_append_beforeproductF) + (dst_negative_scale_prefix_append_beforeproductF)))))) /\ (((((exists ff_h_pvs_prefix_append_beforeproductFpositive. ff_h_pvs_prefix_append_beforeproductFpositive + S (dst_positive_prefix_append_beforeproductF) = S ((S (scp_flat_row_prefix_append_beforeproduct)) * dst_positive_scale_prefix_append_beforeproductF)) /\ exists ff_q_pvs_prefix_append_beforeproductFpositive. dst_positive_code_prefix_append_beforeproductF = ff_q_pvs_prefix_append_beforeproductFpositive * S ((S (scp_flat_row_prefix_append_beforeproduct)) * dst_positive_scale_prefix_append_beforeproductF) + (dst_positive_prefix_append_beforeproductF))) /\ (((((exists ff_h_pvs_prefix_append_beforeproductFnegative. ff_h_pvs_prefix_append_beforeproductFnegative + S (dst_negative_prefix_append_beforeproductF) = S ((S (scp_flat_row_prefix_append_beforeproduct)) * dst_negative_scale_prefix_append_beforeproductF)) /\ exists ff_q_pvs_prefix_append_beforeproductFnegative. dst_negative_code_prefix_append_beforeproductF = ff_q_pvs_prefix_append_beforeproductFnegative * S ((S (scp_flat_row_prefix_append_beforeproduct)) * dst_negative_scale_prefix_append_beforeproductF) + (dst_negative_prefix_append_beforeproductF))) /\ (exists ge_balance_positive_prefix_append_beforeproductFvalue ge_balance_negative_prefix_append_beforeproductFvalue. (((((scp_flat_first_prefix_append_beforeproduct) = 2 * (ge_balance_positive_prefix_append_beforeproductFvalue) /\ (ge_balance_negative_prefix_append_beforeproductFvalue) = 0) \/ exists ge_signed_half_prefix_append_beforeproductFvaluedecode. (((scp_flat_first_prefix_append_beforeproduct) = 2 * ge_signed_half_prefix_append_beforeproductFvaluedecode + 1 /\ (ge_balance_positive_prefix_append_beforeproductFvalue) = 0) /\ (ge_balance_negative_prefix_append_beforeproductFvalue) = S ge_signed_half_prefix_append_beforeproductFvaluedecode))) /\ ((dst_positive_prefix_append_beforeproductF) + ge_balance_negative_prefix_append_beforeproductFvalue = (dst_negative_prefix_append_beforeproductF) + ge_balance_positive_prefix_append_beforeproductFvalue))))))))) /\ (((exists dst_positive_code_prefix_append_beforeproductG dst_positive_scale_prefix_append_beforeproductG dst_negative_code_prefix_append_beforeproductG dst_negative_scale_prefix_append_beforeproductG dst_positive_prefix_append_beforeproductG dst_negative_prefix_append_beforeproductG. (((G) = (((((dst_positive_code_prefix_append_beforeproductG) + (dst_positive_scale_prefix_append_beforeproductG)) * S ((dst_positive_code_prefix_append_beforeproductG) + (dst_positive_scale_prefix_append_beforeproductG)) + ((dst_positive_scale_prefix_append_beforeproductG) + (dst_positive_scale_prefix_append_beforeproductG))) + (((dst_negative_code_prefix_append_beforeproductG) + (dst_negative_scale_prefix_append_beforeproductG)) * S ((dst_negative_code_prefix_append_beforeproductG) + (dst_negative_scale_prefix_append_beforeproductG)) + ((dst_negative_scale_prefix_append_beforeproductG) + (dst_negative_scale_prefix_append_beforeproductG)))) * S ((((dst_positive_code_prefix_append_beforeproductG) + (dst_positive_scale_prefix_append_beforeproductG)) * S ((dst_positive_code_prefix_append_beforeproductG) + (dst_positive_scale_prefix_append_beforeproductG)) + ((dst_positive_scale_prefix_append_beforeproductG) + (dst_positive_scale_prefix_append_beforeproductG))) + (((dst_negative_code_prefix_append_beforeproductG) + (dst_negative_scale_prefix_append_beforeproductG)) * S ((dst_negative_code_prefix_append_beforeproductG) + (dst_negative_scale_prefix_append_beforeproductG)) + ((dst_negative_scale_prefix_append_beforeproductG) + (dst_negative_scale_prefix_append_beforeproductG)))) + ((((dst_negative_code_prefix_append_beforeproductG) + (dst_negative_scale_prefix_append_beforeproductG)) * S ((dst_negative_code_prefix_append_beforeproductG) + (dst_negative_scale_prefix_append_beforeproductG)) + ((dst_negative_scale_prefix_append_beforeproductG) + (dst_negative_scale_prefix_append_beforeproductG))) + (((dst_negative_code_prefix_append_beforeproductG) + (dst_negative_scale_prefix_append_beforeproductG)) * S ((dst_negative_code_prefix_append_beforeproductG) + (dst_negative_scale_prefix_append_beforeproductG)) + ((dst_negative_scale_prefix_append_beforeproductG) + (dst_negative_scale_prefix_append_beforeproductG)))))) /\ (((((exists ff_h_pvs_prefix_append_beforeproductGpositive. ff_h_pvs_prefix_append_beforeproductGpositive + S (dst_positive_prefix_append_beforeproductG) = S ((S (scp_flat_column_prefix_append_beforeproduct)) * dst_positive_scale_prefix_append_beforeproductG)) /\ exists ff_q_pvs_prefix_append_beforeproductGpositive. dst_positive_code_prefix_append_beforeproductG = ff_q_pvs_prefix_append_beforeproductGpositive * S ((S (scp_flat_column_prefix_append_beforeproduct)) * dst_positive_scale_prefix_append_beforeproductG) + (dst_positive_prefix_append_beforeproductG))) /\ (((((exists ff_h_pvs_prefix_append_beforeproductGnegative. ff_h_pvs_prefix_append_beforeproductGnegative + S (dst_negative_prefix_append_beforeproductG) = S ((S (scp_flat_column_prefix_append_beforeproduct)) * dst_negative_scale_prefix_append_beforeproductG)) /\ exists ff_q_pvs_prefix_append_beforeproductGnegative. dst_negative_code_prefix_append_beforeproductG = ff_q_pvs_prefix_append_beforeproductGnegative * S ((S (scp_flat_column_prefix_append_beforeproduct)) * dst_negative_scale_prefix_append_beforeproductG) + (dst_negative_prefix_append_beforeproductG))) /\ (exists ge_balance_positive_prefix_append_beforeproductGvalue ge_balance_negative_prefix_append_beforeproductGvalue. (((((scp_flat_second_prefix_append_beforeproduct) = 2 * (ge_balance_positive_prefix_append_beforeproductGvalue) /\ (ge_balance_negative_prefix_append_beforeproductGvalue) = 0) \/ exists ge_signed_half_prefix_append_beforeproductGvaluedecode. (((scp_flat_second_prefix_append_beforeproduct) = 2 * ge_signed_half_prefix_append_beforeproductGvaluedecode + 1 /\ (ge_balance_positive_prefix_append_beforeproductGvalue) = 0) /\ (ge_balance_negative_prefix_append_beforeproductGvalue) = S ge_signed_half_prefix_append_beforeproductGvaluedecode))) /\ ((dst_positive_prefix_append_beforeproductG) + ge_balance_negative_prefix_append_beforeproductGvalue = (dst_negative_prefix_append_beforeproductG) + ge_balance_positive_prefix_append_beforeproductGvalue))))))))) /\ (exists sto_ap_prefix_append_beforeproductvalue sto_an_prefix_append_beforeproductvalue sto_bp_prefix_append_beforeproductvalue sto_bn_prefix_append_beforeproductvalue sto_cp_prefix_append_beforeproductvalue sto_cn_prefix_append_beforeproductvalue. (((((scp_flat_first_prefix_append_beforeproduct) = 2 * (sto_ap_prefix_append_beforeproductvalue) /\ (sto_an_prefix_append_beforeproductvalue) = 0) \/ exists ge_signed_half_prefix_append_beforeproductvalueleft. (((scp_flat_first_prefix_append_beforeproduct) = 2 * ge_signed_half_prefix_append_beforeproductvalueleft + 1 /\ (sto_ap_prefix_append_beforeproductvalue) = 0) /\ (sto_an_prefix_append_beforeproductvalue) = S ge_signed_half_prefix_append_beforeproductvalueleft))) /\ ((((((scp_flat_second_prefix_append_beforeproduct) = 2 * (sto_bp_prefix_append_beforeproductvalue) /\ (sto_bn_prefix_append_beforeproductvalue) = 0) \/ exists ge_signed_half_prefix_append_beforeproductvalueright. (((scp_flat_second_prefix_append_beforeproduct) = 2 * ge_signed_half_prefix_append_beforeproductvalueright + 1 /\ (sto_bp_prefix_append_beforeproductvalue) = 0) /\ (sto_bn_prefix_append_beforeproductvalue) = S ge_signed_half_prefix_append_beforeproductvalueright))) /\ ((((((scp_flat_value_prefix_append_before) = 2 * (sto_cp_prefix_append_beforeproductvalue) /\ (sto_cn_prefix_append_beforeproductvalue) = 0) \/ exists ge_signed_half_prefix_append_beforeproductvalueoutput. (((scp_flat_value_prefix_append_before) = 2 * ge_signed_half_prefix_append_beforeproductvalueoutput + 1 /\ (sto_cp_prefix_append_beforeproductvalue) = 0) /\ (sto_cn_prefix_append_beforeproductvalue) = S ge_signed_half_prefix_append_beforeproductvalueoutput))) /\ ((sto_ap_prefix_append_beforeproductvalue * sto_bp_prefix_append_beforeproductvalue + sto_an_prefix_append_beforeproductvalue * sto_bn_prefix_append_beforeproductvalue) + sto_cn_prefix_append_beforeproductvalue = (sto_ap_prefix_append_beforeproductvalue * sto_bn_prefix_append_beforeproductvalue + sto_an_prefix_append_beforeproductvalue * sto_bp_prefix_append_beforeproductvalue) + sto_cp_prefix_append_beforeproductvalue)))))))))))))))))) -> (exists scp_flat_row_prefix_append_value scp_flat_column_prefix_append_value scp_flat_first_prefix_append_value scp_flat_second_prefix_append_value. (((S l)=((n)*(scp_flat_row_prefix_append_value)+(scp_flat_column_prefix_append_value))) /\ (((exists pvs_gap_prefix_append_valueremainder. pvs_gap_prefix_append_valueremainder + S (scp_flat_column_prefix_append_value) = (n)) /\ (((exists dst_positive_code_prefix_append_valueF dst_positive_scale_prefix_append_valueF dst_negative_code_prefix_append_valueF dst_negative_scale_prefix_append_valueF dst_positive_prefix_append_valueF dst_negative_prefix_append_valueF. (((F) = (((((dst_positive_code_prefix_append_valueF) + (dst_positive_scale_prefix_append_valueF)) * S ((dst_positive_code_prefix_append_valueF) + (dst_positive_scale_prefix_append_valueF)) + ((dst_positive_scale_prefix_append_valueF) + (dst_positive_scale_prefix_append_valueF))) + (((dst_negative_code_prefix_append_valueF) + (dst_negative_scale_prefix_append_valueF)) * S ((dst_negative_code_prefix_append_valueF) + (dst_negative_scale_prefix_append_valueF)) + ((dst_negative_scale_prefix_append_valueF) + (dst_negative_scale_prefix_append_valueF)))) * S ((((dst_positive_code_prefix_append_valueF) + (dst_positive_scale_prefix_append_valueF)) * S ((dst_positive_code_prefix_append_valueF) + (dst_positive_scale_prefix_append_valueF)) + ((dst_positive_scale_prefix_append_valueF) + (dst_positive_scale_prefix_append_valueF))) + (((dst_negative_code_prefix_append_valueF) + (dst_negative_scale_prefix_append_valueF)) * S ((dst_negative_code_prefix_append_valueF) + (dst_negative_scale_prefix_append_valueF)) + ((dst_negative_scale_prefix_append_valueF) + (dst_negative_scale_prefix_append_valueF)))) + ((((dst_negative_code_prefix_append_valueF) + (dst_negative_scale_prefix_append_valueF)) * S ((dst_negative_code_prefix_append_valueF) + (dst_negative_scale_prefix_append_valueF)) + ((dst_negative_scale_prefix_append_valueF) + (dst_negative_scale_prefix_append_valueF))) + (((dst_negative_code_prefix_append_valueF) + (dst_negative_scale_prefix_append_valueF)) * S ((dst_negative_code_prefix_append_valueF) + (dst_negative_scale_prefix_append_valueF)) + ((dst_negative_scale_prefix_append_valueF) + (dst_negative_scale_prefix_append_valueF)))))) /\ (((((exists ff_h_pvs_prefix_append_valueFpositive. ff_h_pvs_prefix_append_valueFpositive + S (dst_positive_prefix_append_valueF) = S ((S (scp_flat_row_prefix_append_value)) * dst_positive_scale_prefix_append_valueF)) /\ exists ff_q_pvs_prefix_append_valueFpositive. dst_positive_code_prefix_append_valueF = ff_q_pvs_prefix_append_valueFpositive * S ((S (scp_flat_row_prefix_append_value)) * dst_positive_scale_prefix_append_valueF) + (dst_positive_prefix_append_valueF))) /\ (((((exists ff_h_pvs_prefix_append_valueFnegative. ff_h_pvs_prefix_append_valueFnegative + S (dst_negative_prefix_append_valueF) = S ((S (scp_flat_row_prefix_append_value)) * dst_negative_scale_prefix_append_valueF)) /\ exists ff_q_pvs_prefix_append_valueFnegative. dst_negative_code_prefix_append_valueF = ff_q_pvs_prefix_append_valueFnegative * S ((S (scp_flat_row_prefix_append_value)) * dst_negative_scale_prefix_append_valueF) + (dst_negative_prefix_append_valueF))) /\ (exists ge_balance_positive_prefix_append_valueFvalue ge_balance_negative_prefix_append_valueFvalue. (((((scp_flat_first_prefix_append_value) = 2 * (ge_balance_positive_prefix_append_valueFvalue) /\ (ge_balance_negative_prefix_append_valueFvalue) = 0) \/ exists ge_signed_half_prefix_append_valueFvaluedecode. (((scp_flat_first_prefix_append_value) = 2 * ge_signed_half_prefix_append_valueFvaluedecode + 1 /\ (ge_balance_positive_prefix_append_valueFvalue) = 0) /\ (ge_balance_negative_prefix_append_valueFvalue) = S ge_signed_half_prefix_append_valueFvaluedecode))) /\ ((dst_positive_prefix_append_valueF) + ge_balance_negative_prefix_append_valueFvalue = (dst_negative_prefix_append_valueF) + ge_balance_positive_prefix_append_valueFvalue))))))))) /\ (((exists dst_positive_code_prefix_append_valueG dst_positive_scale_prefix_append_valueG dst_negative_code_prefix_append_valueG dst_negative_scale_prefix_append_valueG dst_positive_prefix_append_valueG dst_negative_prefix_append_valueG. (((G) = (((((dst_positive_code_prefix_append_valueG) + (dst_positive_scale_prefix_append_valueG)) * S ((dst_positive_code_prefix_append_valueG) + (dst_positive_scale_prefix_append_valueG)) + ((dst_positive_scale_prefix_append_valueG) + (dst_positive_scale_prefix_append_valueG))) + (((dst_negative_code_prefix_append_valueG) + (dst_negative_scale_prefix_append_valueG)) * S ((dst_negative_code_prefix_append_valueG) + (dst_negative_scale_prefix_append_valueG)) + ((dst_negative_scale_prefix_append_valueG) + (dst_negative_scale_prefix_append_valueG)))) * S ((((dst_positive_code_prefix_append_valueG) + (dst_positive_scale_prefix_append_valueG)) * S ((dst_positive_code_prefix_append_valueG) + (dst_positive_scale_prefix_append_valueG)) + ((dst_positive_scale_prefix_append_valueG) + (dst_positive_scale_prefix_append_valueG))) + (((dst_negative_code_prefix_append_valueG) + (dst_negative_scale_prefix_append_valueG)) * S ((dst_negative_code_prefix_append_valueG) + (dst_negative_scale_prefix_append_valueG)) + ((dst_negative_scale_prefix_append_valueG) + (dst_negative_scale_prefix_append_valueG)))) + ((((dst_negative_code_prefix_append_valueG) + (dst_negative_scale_prefix_append_valueG)) * S ((dst_negative_code_prefix_append_valueG) + (dst_negative_scale_prefix_append_valueG)) + ((dst_negative_scale_prefix_append_valueG) + (dst_negative_scale_prefix_append_valueG))) + (((dst_negative_code_prefix_append_valueG) + (dst_negative_scale_prefix_append_valueG)) * S ((dst_negative_code_prefix_append_valueG) + (dst_negative_scale_prefix_append_valueG)) + ((dst_negative_scale_prefix_append_valueG) + (dst_negative_scale_prefix_append_valueG)))))) /\ (((((exists ff_h_pvs_prefix_append_valueGpositive. ff_h_pvs_prefix_append_valueGpositive + S (dst_positive_prefix_append_valueG) = S ((S (scp_flat_column_prefix_append_value)) * dst_positive_scale_prefix_append_valueG)) /\ exists ff_q_pvs_prefix_append_valueGpositive. dst_positive_code_prefix_append_valueG = ff_q_pvs_prefix_append_valueGpositive * S ((S (scp_flat_column_prefix_append_value)) * dst_positive_scale_prefix_append_valueG) + (dst_positive_prefix_append_valueG))) /\ (((((exists ff_h_pvs_prefix_append_valueGnegative. ff_h_pvs_prefix_append_valueGnegative + S (dst_negative_prefix_append_valueG) = S ((S (scp_flat_column_prefix_append_value)) * dst_negative_scale_prefix_append_valueG)) /\ exists ff_q_pvs_prefix_append_valueGnegative. dst_negative_code_prefix_append_valueG = ff_q_pvs_prefix_append_valueGnegative * S ((S (scp_flat_column_prefix_append_value)) * dst_negative_scale_prefix_append_valueG) + (dst_negative_prefix_append_valueG))) /\ (exists ge_balance_positive_prefix_append_valueGvalue ge_balance_negative_prefix_append_valueGvalue. (((((scp_flat_second_prefix_append_value) = 2 * (ge_balance_positive_prefix_append_valueGvalue) /\ (ge_balance_negative_prefix_append_valueGvalue) = 0) \/ exists ge_signed_half_prefix_append_valueGvaluedecode. (((scp_flat_second_prefix_append_value) = 2 * ge_signed_half_prefix_append_valueGvaluedecode + 1 /\ (ge_balance_positive_prefix_append_valueGvalue) = 0) /\ (ge_balance_negative_prefix_append_valueGvalue) = S ge_signed_half_prefix_append_valueGvaluedecode))) /\ ((dst_positive_prefix_append_valueG) + ge_balance_negative_prefix_append_valueGvalue = (dst_negative_prefix_append_valueG) + ge_balance_positive_prefix_append_valueGvalue))))))))) /\ (exists sto_ap_prefix_append_valuevalue sto_an_prefix_append_valuevalue sto_bp_prefix_append_valuevalue sto_bn_prefix_append_valuevalue sto_cp_prefix_append_valuevalue sto_cn_prefix_append_valuevalue. (((((scp_flat_first_prefix_append_value) = 2 * (sto_ap_prefix_append_valuevalue) /\ (sto_an_prefix_append_valuevalue) = 0) \/ exists ge_signed_half_prefix_append_valuevalueleft. (((scp_flat_first_prefix_append_value) = 2 * ge_signed_half_prefix_append_valuevalueleft + 1 /\ (sto_ap_prefix_append_valuevalue) = 0) /\ (sto_an_prefix_append_valuevalue) = S ge_signed_half_prefix_append_valuevalueleft))) /\ ((((((scp_flat_second_prefix_append_value) = 2 * (sto_bp_prefix_append_valuevalue) /\ (sto_bn_prefix_append_valuevalue) = 0) \/ exists ge_signed_half_prefix_append_valuevalueright. (((scp_flat_second_prefix_append_value) = 2 * ge_signed_half_prefix_append_valuevalueright + 1 /\ (sto_bp_prefix_append_valuevalue) = 0) /\ (sto_bn_prefix_append_valuevalue) = S ge_signed_half_prefix_append_valuevalueright))) /\ ((((((z) = 2 * (sto_cp_prefix_append_valuevalue) /\ (sto_cn_prefix_append_valuevalue) = 0) \/ exists ge_signed_half_prefix_append_valuevalueoutput. (((z) = 2 * ge_signed_half_prefix_append_valuevalueoutput + 1 /\ (sto_cp_prefix_append_valuevalue) = 0) /\ (sto_cn_prefix_append_valuevalue) = S ge_signed_half_prefix_append_valuevalueoutput))) /\ ((sto_ap_prefix_append_valuevalue * sto_bp_prefix_append_valuevalue + sto_an_prefix_append_valuevalue * sto_bn_prefix_append_valuevalue) + sto_cn_prefix_append_valuevalue = (sto_ap_prefix_append_valuevalue * sto_bn_prefix_append_valuevalue + sto_an_prefix_append_valuevalue * sto_bp_prefix_append_valuevalue) + sto_cp_prefix_append_valuevalue))))))))))))))) -> exists U. ((((exists dst_positive_code_prefix_append_aftertable dst_positive_scale_prefix_append_aftertable dst_negative_code_prefix_append_aftertable dst_negative_scale_prefix_append_aftertable. (((U) = (((((dst_positive_code_prefix_append_aftertable) + (dst_positive_scale_prefix_append_aftertable)) * S ((dst_positive_code_prefix_append_aftertable) + (dst_positive_scale_prefix_append_aftertable)) + ((dst_positive_scale_prefix_append_aftertable) + (dst_positive_scale_prefix_append_aftertable))) + (((dst_negative_code_prefix_append_aftertable) + (dst_negative_scale_prefix_append_aftertable)) * S ((dst_negative_code_prefix_append_aftertable) + (dst_negative_scale_prefix_append_aftertable)) + ((dst_negative_scale_prefix_append_aftertable) + (dst_negative_scale_prefix_append_aftertable)))) * S ((((dst_positive_code_prefix_append_aftertable) + (dst_positive_scale_prefix_append_aftertable)) * S ((dst_positive_code_prefix_append_aftertable) + (dst_positive_scale_prefix_append_aftertable)) + ((dst_positive_scale_prefix_append_aftertable) + (dst_positive_scale_prefix_append_aftertable))) + (((dst_negative_code_prefix_append_aftertable) + (dst_negative_scale_prefix_append_aftertable)) * S ((dst_negative_code_prefix_append_aftertable) + (dst_negative_scale_prefix_append_aftertable)) + ((dst_negative_scale_prefix_append_aftertable) + (dst_negative_scale_prefix_append_aftertable)))) + ((((dst_negative_code_prefix_append_aftertable) + (dst_negative_scale_prefix_append_aftertable)) * S ((dst_negative_code_prefix_append_aftertable) + (dst_negative_scale_prefix_append_aftertable)) + ((dst_negative_scale_prefix_append_aftertable) + (dst_negative_scale_prefix_append_aftertable))) + (((dst_negative_code_prefix_append_aftertable) + (dst_negative_scale_prefix_append_aftertable)) * S ((dst_negative_code_prefix_append_aftertable) + (dst_negative_scale_prefix_append_aftertable)) + ((dst_negative_scale_prefix_append_aftertable) + (dst_negative_scale_prefix_append_aftertable)))))) /\ (forall dst_index_prefix_append_aftertable. (exists pvs_le_gap_prefix_append_aftertabledomain. pvs_le_gap_prefix_append_aftertabledomain + (dst_index_prefix_append_aftertable) = (S l)) -> exists dst_positive_prefix_append_aftertable dst_negative_prefix_append_aftertable dst_value_prefix_append_aftertable. ((((exists ff_h_pvs_prefix_append_aftertableentrypositive. ff_h_pvs_prefix_append_aftertableentrypositive + S (dst_positive_prefix_append_aftertable) = S ((S (dst_index_prefix_append_aftertable)) * dst_positive_scale_prefix_append_aftertable)) /\ exists ff_q_pvs_prefix_append_aftertableentrypositive. dst_positive_code_prefix_append_aftertable = ff_q_pvs_prefix_append_aftertableentrypositive * S ((S (dst_index_prefix_append_aftertable)) * dst_positive_scale_prefix_append_aftertable) + (dst_positive_prefix_append_aftertable))) /\ (((((exists ff_h_pvs_prefix_append_aftertableentrynegative. ff_h_pvs_prefix_append_aftertableentrynegative + S (dst_negative_prefix_append_aftertable) = S ((S (dst_index_prefix_append_aftertable)) * dst_negative_scale_prefix_append_aftertable)) /\ exists ff_q_pvs_prefix_append_aftertableentrynegative. dst_negative_code_prefix_append_aftertable = ff_q_pvs_prefix_append_aftertableentrynegative * S ((S (dst_index_prefix_append_aftertable)) * dst_negative_scale_prefix_append_aftertable) + (dst_negative_prefix_append_aftertable))) /\ (exists ge_balance_positive_prefix_append_aftertableentryvalue ge_balance_negative_prefix_append_aftertableentryvalue. (((((dst_value_prefix_append_aftertable) = 2 * (ge_balance_positive_prefix_append_aftertableentryvalue) /\ (ge_balance_negative_prefix_append_aftertableentryvalue) = 0) \/ exists ge_signed_half_prefix_append_aftertableentryvaluedecode. (((dst_value_prefix_append_aftertable) = 2 * ge_signed_half_prefix_append_aftertableentryvaluedecode + 1 /\ (ge_balance_positive_prefix_append_aftertableentryvalue) = 0) /\ (ge_balance_negative_prefix_append_aftertableentryvalue) = S ge_signed_half_prefix_append_aftertableentryvaluedecode))) /\ ((dst_positive_prefix_append_aftertable) + ge_balance_negative_prefix_append_aftertableentryvalue = (dst_negative_prefix_append_aftertable) + ge_balance_positive_prefix_append_aftertableentryvalue))))))))) /\ (forall scp_flat_index_prefix_append_after scp_flat_value_prefix_append_after. (exists pvs_le_gap_prefix_append_afterbound. pvs_le_gap_prefix_append_afterbound + (scp_flat_index_prefix_append_after) = (S l)) -> (exists dst_positive_code_prefix_append_afterentry dst_positive_scale_prefix_append_afterentry dst_negative_code_prefix_append_afterentry dst_negative_scale_prefix_append_afterentry dst_positive_prefix_append_afterentry dst_negative_prefix_append_afterentry. (((U) = (((((dst_positive_code_prefix_append_afterentry) + (dst_positive_scale_prefix_append_afterentry)) * S ((dst_positive_code_prefix_append_afterentry) + (dst_positive_scale_prefix_append_afterentry)) + ((dst_positive_scale_prefix_append_afterentry) + (dst_positive_scale_prefix_append_afterentry))) + (((dst_negative_code_prefix_append_afterentry) + (dst_negative_scale_prefix_append_afterentry)) * S ((dst_negative_code_prefix_append_afterentry) + (dst_negative_scale_prefix_append_afterentry)) + ((dst_negative_scale_prefix_append_afterentry) + (dst_negative_scale_prefix_append_afterentry)))) * S ((((dst_positive_code_prefix_append_afterentry) + (dst_positive_scale_prefix_append_afterentry)) * S ((dst_positive_code_prefix_append_afterentry) + (dst_positive_scale_prefix_append_afterentry)) + ((dst_positive_scale_prefix_append_afterentry) + (dst_positive_scale_prefix_append_afterentry))) + (((dst_negative_code_prefix_append_afterentry) + (dst_negative_scale_prefix_append_afterentry)) * S ((dst_negative_code_prefix_append_afterentry) + (dst_negative_scale_prefix_append_afterentry)) + ((dst_negative_scale_prefix_append_afterentry) + (dst_negative_scale_prefix_append_afterentry)))) + ((((dst_negative_code_prefix_append_afterentry) + (dst_negative_scale_prefix_append_afterentry)) * S ((dst_negative_code_prefix_append_afterentry) + (dst_negative_scale_prefix_append_afterentry)) + ((dst_negative_scale_prefix_append_afterentry) + (dst_negative_scale_prefix_append_afterentry))) + (((dst_negative_code_prefix_append_afterentry) + (dst_negative_scale_prefix_append_afterentry)) * S ((dst_negative_code_prefix_append_afterentry) + (dst_negative_scale_prefix_append_afterentry)) + ((dst_negative_scale_prefix_append_afterentry) + (dst_negative_scale_prefix_append_afterentry)))))) /\ (((((exists ff_h_pvs_prefix_append_afterentrypositive. ff_h_pvs_prefix_append_afterentrypositive + S (dst_positive_prefix_append_afterentry) = S ((S (scp_flat_index_prefix_append_after)) * dst_positive_scale_prefix_append_afterentry)) /\ exists ff_q_pvs_prefix_append_afterentrypositive. dst_positive_code_prefix_append_afterentry = ff_q_pvs_prefix_append_afterentrypositive * S ((S (scp_flat_index_prefix_append_after)) * dst_positive_scale_prefix_append_afterentry) + (dst_positive_prefix_append_afterentry))) /\ (((((exists ff_h_pvs_prefix_append_afterentrynegative. ff_h_pvs_prefix_append_afterentrynegative + S (dst_negative_prefix_append_afterentry) = S ((S (scp_flat_index_prefix_append_after)) * dst_negative_scale_prefix_append_afterentry)) /\ exists ff_q_pvs_prefix_append_afterentrynegative. dst_negative_code_prefix_append_afterentry = ff_q_pvs_prefix_append_afterentrynegative * S ((S (scp_flat_index_prefix_append_after)) * dst_negative_scale_prefix_append_afterentry) + (dst_negative_prefix_append_afterentry))) /\ (exists ge_balance_positive_prefix_append_afterentryvalue ge_balance_negative_prefix_append_afterentryvalue. (((((scp_flat_value_prefix_append_after) = 2 * (ge_balance_positive_prefix_append_afterentryvalue) /\ (ge_balance_negative_prefix_append_afterentryvalue) = 0) \/ exists ge_signed_half_prefix_append_afterentryvaluedecode. (((scp_flat_value_prefix_append_after) = 2 * ge_signed_half_prefix_append_afterentryvaluedecode + 1 /\ (ge_balance_positive_prefix_append_afterentryvalue) = 0) /\ (ge_balance_negative_prefix_append_afterentryvalue) = S ge_signed_half_prefix_append_afterentryvaluedecode))) /\ ((dst_positive_prefix_append_afterentry) + ge_balance_negative_prefix_append_afterentryvalue = (dst_negative_prefix_append_afterentry) + ge_balance_positive_prefix_append_afterentryvalue))))))))) -> (exists scp_flat_row_prefix_append_afterproduct scp_flat_column_prefix_append_afterproduct scp_flat_first_prefix_append_afterproduct scp_flat_second_prefix_append_afterproduct. (((scp_flat_index_prefix_append_after)=((n)*(scp_flat_row_prefix_append_afterproduct)+(scp_flat_column_prefix_append_afterproduct))) /\ (((exists pvs_gap_prefix_append_afterproductremainder. pvs_gap_prefix_append_afterproductremainder + S (scp_flat_column_prefix_append_afterproduct) = (n)) /\ (((exists dst_positive_code_prefix_append_afterproductF dst_positive_scale_prefix_append_afterproductF dst_negative_code_prefix_append_afterproductF dst_negative_scale_prefix_append_afterproductF dst_positive_prefix_append_afterproductF dst_negative_prefix_append_afterproductF. (((F) = (((((dst_positive_code_prefix_append_afterproductF) + (dst_positive_scale_prefix_append_afterproductF)) * S ((dst_positive_code_prefix_append_afterproductF) + (dst_positive_scale_prefix_append_afterproductF)) + ((dst_positive_scale_prefix_append_afterproductF) + (dst_positive_scale_prefix_append_afterproductF))) + (((dst_negative_code_prefix_append_afterproductF) + (dst_negative_scale_prefix_append_afterproductF)) * S ((dst_negative_code_prefix_append_afterproductF) + (dst_negative_scale_prefix_append_afterproductF)) + ((dst_negative_scale_prefix_append_afterproductF) + (dst_negative_scale_prefix_append_afterproductF)))) * S ((((dst_positive_code_prefix_append_afterproductF) + (dst_positive_scale_prefix_append_afterproductF)) * S ((dst_positive_code_prefix_append_afterproductF) + (dst_positive_scale_prefix_append_afterproductF)) + ((dst_positive_scale_prefix_append_afterproductF) + (dst_positive_scale_prefix_append_afterproductF))) + (((dst_negative_code_prefix_append_afterproductF) + (dst_negative_scale_prefix_append_afterproductF)) * S ((dst_negative_code_prefix_append_afterproductF) + (dst_negative_scale_prefix_append_afterproductF)) + ((dst_negative_scale_prefix_append_afterproductF) + (dst_negative_scale_prefix_append_afterproductF)))) + ((((dst_negative_code_prefix_append_afterproductF) + (dst_negative_scale_prefix_append_afterproductF)) * S ((dst_negative_code_prefix_append_afterproductF) + (dst_negative_scale_prefix_append_afterproductF)) + ((dst_negative_scale_prefix_append_afterproductF) + (dst_negative_scale_prefix_append_afterproductF))) + (((dst_negative_code_prefix_append_afterproductF) + (dst_negative_scale_prefix_append_afterproductF)) * S ((dst_negative_code_prefix_append_afterproductF) + (dst_negative_scale_prefix_append_afterproductF)) + ((dst_negative_scale_prefix_append_afterproductF) + (dst_negative_scale_prefix_append_afterproductF)))))) /\ (((((exists ff_h_pvs_prefix_append_afterproductFpositive. ff_h_pvs_prefix_append_afterproductFpositive + S (dst_positive_prefix_append_afterproductF) = S ((S (scp_flat_row_prefix_append_afterproduct)) * dst_positive_scale_prefix_append_afterproductF)) /\ exists ff_q_pvs_prefix_append_afterproductFpositive. dst_positive_code_prefix_append_afterproductF = ff_q_pvs_prefix_append_afterproductFpositive * S ((S (scp_flat_row_prefix_append_afterproduct)) * dst_positive_scale_prefix_append_afterproductF) + (dst_positive_prefix_append_afterproductF))) /\ (((((exists ff_h_pvs_prefix_append_afterproductFnegative. ff_h_pvs_prefix_append_afterproductFnegative + S (dst_negative_prefix_append_afterproductF) = S ((S (scp_flat_row_prefix_append_afterproduct)) * dst_negative_scale_prefix_append_afterproductF)) /\ exists ff_q_pvs_prefix_append_afterproductFnegative. dst_negative_code_prefix_append_afterproductF = ff_q_pvs_prefix_append_afterproductFnegative * S ((S (scp_flat_row_prefix_append_afterproduct)) * dst_negative_scale_prefix_append_afterproductF) + (dst_negative_prefix_append_afterproductF))) /\ (exists ge_balance_positive_prefix_append_afterproductFvalue ge_balance_negative_prefix_append_afterproductFvalue. (((((scp_flat_first_prefix_append_afterproduct) = 2 * (ge_balance_positive_prefix_append_afterproductFvalue) /\ (ge_balance_negative_prefix_append_afterproductFvalue) = 0) \/ exists ge_signed_half_prefix_append_afterproductFvaluedecode. (((scp_flat_first_prefix_append_afterproduct) = 2 * ge_signed_half_prefix_append_afterproductFvaluedecode + 1 /\ (ge_balance_positive_prefix_append_afterproductFvalue) = 0) /\ (ge_balance_negative_prefix_append_afterproductFvalue) = S ge_signed_half_prefix_append_afterproductFvaluedecode))) /\ ((dst_positive_prefix_append_afterproductF) + ge_balance_negative_prefix_append_afterproductFvalue = (dst_negative_prefix_append_afterproductF) + ge_balance_positive_prefix_append_afterproductFvalue))))))))) /\ (((exists dst_positive_code_prefix_append_afterproductG dst_positive_scale_prefix_append_afterproductG dst_negative_code_prefix_append_afterproductG dst_negative_scale_prefix_append_afterproductG dst_positive_prefix_append_afterproductG dst_negative_prefix_append_afterproductG. (((G) = (((((dst_positive_code_prefix_append_afterproductG) + (dst_positive_scale_prefix_append_afterproductG)) * S ((dst_positive_code_prefix_append_afterproductG) + (dst_positive_scale_prefix_append_afterproductG)) + ((dst_positive_scale_prefix_append_afterproductG) + (dst_positive_scale_prefix_append_afterproductG))) + (((dst_negative_code_prefix_append_afterproductG) + (dst_negative_scale_prefix_append_afterproductG)) * S ((dst_negative_code_prefix_append_afterproductG) + (dst_negative_scale_prefix_append_afterproductG)) + ((dst_negative_scale_prefix_append_afterproductG) + (dst_negative_scale_prefix_append_afterproductG)))) * S ((((dst_positive_code_prefix_append_afterproductG) + (dst_positive_scale_prefix_append_afterproductG)) * S ((dst_positive_code_prefix_append_afterproductG) + (dst_positive_scale_prefix_append_afterproductG)) + ((dst_positive_scale_prefix_append_afterproductG) + (dst_positive_scale_prefix_append_afterproductG))) + (((dst_negative_code_prefix_append_afterproductG) + (dst_negative_scale_prefix_append_afterproductG)) * S ((dst_negative_code_prefix_append_afterproductG) + (dst_negative_scale_prefix_append_afterproductG)) + ((dst_negative_scale_prefix_append_afterproductG) + (dst_negative_scale_prefix_append_afterproductG)))) + ((((dst_negative_code_prefix_append_afterproductG) + (dst_negative_scale_prefix_append_afterproductG)) * S ((dst_negative_code_prefix_append_afterproductG) + (dst_negative_scale_prefix_append_afterproductG)) + ((dst_negative_scale_prefix_append_afterproductG) + (dst_negative_scale_prefix_append_afterproductG))) + (((dst_negative_code_prefix_append_afterproductG) + (dst_negative_scale_prefix_append_afterproductG)) * S ((dst_negative_code_prefix_append_afterproductG) + (dst_negative_scale_prefix_append_afterproductG)) + ((dst_negative_scale_prefix_append_afterproductG) + (dst_negative_scale_prefix_append_afterproductG)))))) /\ (((((exists ff_h_pvs_prefix_append_afterproductGpositive. ff_h_pvs_prefix_append_afterproductGpositive + S (dst_positive_prefix_append_afterproductG) = S ((S (scp_flat_column_prefix_append_afterproduct)) * dst_positive_scale_prefix_append_afterproductG)) /\ exists ff_q_pvs_prefix_append_afterproductGpositive. dst_positive_code_prefix_append_afterproductG = ff_q_pvs_prefix_append_afterproductGpositive * S ((S (scp_flat_column_prefix_append_afterproduct)) * dst_positive_scale_prefix_append_afterproductG) + (dst_positive_prefix_append_afterproductG))) /\ (((((exists ff_h_pvs_prefix_append_afterproductGnegative. ff_h_pvs_prefix_append_afterproductGnegative + S (dst_negative_prefix_append_afterproductG) = S ((S (scp_flat_column_prefix_append_afterproduct)) * dst_negative_scale_prefix_append_afterproductG)) /\ exists ff_q_pvs_prefix_append_afterproductGnegative. dst_negative_code_prefix_append_afterproductG = ff_q_pvs_prefix_append_afterproductGnegative * S ((S (scp_flat_column_prefix_append_afterproduct)) * dst_negative_scale_prefix_append_afterproductG) + (dst_negative_prefix_append_afterproductG))) /\ (exists ge_balance_positive_prefix_append_afterproductGvalue ge_balance_negative_prefix_append_afterproductGvalue. (((((scp_flat_second_prefix_append_afterproduct) = 2 * (ge_balance_positive_prefix_append_afterproductGvalue) /\ (ge_balance_negative_prefix_append_afterproductGvalue) = 0) \/ exists ge_signed_half_prefix_append_afterproductGvaluedecode. (((scp_flat_second_prefix_append_afterproduct) = 2 * ge_signed_half_prefix_append_afterproductGvaluedecode + 1 /\ (ge_balance_positive_prefix_append_afterproductGvalue) = 0) /\ (ge_balance_negative_prefix_append_afterproductGvalue) = S ge_signed_half_prefix_append_afterproductGvaluedecode))) /\ ((dst_positive_prefix_append_afterproductG) + ge_balance_negative_prefix_append_afterproductGvalue = (dst_negative_prefix_append_afterproductG) + ge_balance_positive_prefix_append_afterproductGvalue))))))))) /\ (exists sto_ap_prefix_append_afterproductvalue sto_an_prefix_append_afterproductvalue sto_bp_prefix_append_afterproductvalue sto_bn_prefix_append_afterproductvalue sto_cp_prefix_append_afterproductvalue sto_cn_prefix_append_afterproductvalue. (((((scp_flat_first_prefix_append_afterproduct) = 2 * (sto_ap_prefix_append_afterproductvalue) /\ (sto_an_prefix_append_afterproductvalue) = 0) \/ exists ge_signed_half_prefix_append_afterproductvalueleft. (((scp_flat_first_prefix_append_afterproduct) = 2 * ge_signed_half_prefix_append_afterproductvalueleft + 1 /\ (sto_ap_prefix_append_afterproductvalue) = 0) /\ (sto_an_prefix_append_afterproductvalue) = S ge_signed_half_prefix_append_afterproductvalueleft))) /\ ((((((scp_flat_second_prefix_append_afterproduct) = 2 * (sto_bp_prefix_append_afterproductvalue) /\ (sto_bn_prefix_append_afterproductvalue) = 0) \/ exists ge_signed_half_prefix_append_afterproductvalueright. (((scp_flat_second_prefix_append_afterproduct) = 2 * ge_signed_half_prefix_append_afterproductvalueright + 1 /\ (sto_bp_prefix_append_afterproductvalue) = 0) /\ (sto_bn_prefix_append_afterproductvalue) = S ge_signed_half_prefix_append_afterproductvalueright))) /\ ((((((scp_flat_value_prefix_append_after) = 2 * (sto_cp_prefix_append_afterproductvalue) /\ (sto_cn_prefix_append_afterproductvalue) = 0) \/ exists ge_signed_half_prefix_append_afterproductvalueoutput. (((scp_flat_value_prefix_append_after) = 2 * ge_signed_half_prefix_append_afterproductvalueoutput + 1 /\ (sto_cp_prefix_append_afterproductvalue) = 0) /\ (sto_cn_prefix_append_afterproductvalue) = S ge_signed_half_prefix_append_afterproductvalueoutput))) /\ ((sto_ap_prefix_append_afterproductvalue * sto_bp_prefix_append_afterproductvalue + sto_an_prefix_append_afterproductvalue * sto_bn_prefix_append_afterproductvalue) + sto_cn_prefix_append_afterproductvalue = (sto_ap_prefix_append_afterproductvalue * sto_bn_prefix_append_afterproductvalue + sto_an_prefix_append_afterproductvalue * sto_bp_prefix_append_afterproductvalue) + sto_cp_prefix_append_afterproductvalue)))))))))))))))))) /\ (forall dst_index_prefix_append_equal dst_first_prefix_append_equal dst_second_prefix_append_equal. (exists pvs_gap_prefix_append_equalbound. pvs_gap_prefix_append_equalbound + S (dst_index_prefix_append_equal) = (S l)) -> (exists dst_positive_code_prefix_append_equalfirst dst_positive_scale_prefix_append_equalfirst dst_negative_code_prefix_append_equalfirst dst_negative_scale_prefix_append_equalfirst dst_positive_prefix_append_equalfirst dst_negative_prefix_append_equalfirst. (((T) = (((((dst_positive_code_prefix_append_equalfirst) + (dst_positive_scale_prefix_append_equalfirst)) * S ((dst_positive_code_prefix_append_equalfirst) + (dst_positive_scale_prefix_append_equalfirst)) + ((dst_positive_scale_prefix_append_equalfirst) + (dst_positive_scale_prefix_append_equalfirst))) + (((dst_negative_code_prefix_append_equalfirst) + (dst_negative_scale_prefix_append_equalfirst)) * S ((dst_negative_code_prefix_append_equalfirst) + (dst_negative_scale_prefix_append_equalfirst)) + ((dst_negative_scale_prefix_append_equalfirst) + (dst_negative_scale_prefix_append_equalfirst)))) * S ((((dst_positive_code_prefix_append_equalfirst) + (dst_positive_scale_prefix_append_equalfirst)) * S ((dst_positive_code_prefix_append_equalfirst) + (dst_positive_scale_prefix_append_equalfirst)) + ((dst_positive_scale_prefix_append_equalfirst) + (dst_positive_scale_prefix_append_equalfirst))) + (((dst_negative_code_prefix_append_equalfirst) + (dst_negative_scale_prefix_append_equalfirst)) * S ((dst_negative_code_prefix_append_equalfirst) + (dst_negative_scale_prefix_append_equalfirst)) + ((dst_negative_scale_prefix_append_equalfirst) + (dst_negative_scale_prefix_append_equalfirst)))) + ((((dst_negative_code_prefix_append_equalfirst) + (dst_negative_scale_prefix_append_equalfirst)) * S ((dst_negative_code_prefix_append_equalfirst) + (dst_negative_scale_prefix_append_equalfirst)) + ((dst_negative_scale_prefix_append_equalfirst) + (dst_negative_scale_prefix_append_equalfirst))) + (((dst_negative_code_prefix_append_equalfirst) + (dst_negative_scale_prefix_append_equalfirst)) * S ((dst_negative_code_prefix_append_equalfirst) + (dst_negative_scale_prefix_append_equalfirst)) + ((dst_negative_scale_prefix_append_equalfirst) + (dst_negative_scale_prefix_append_equalfirst)))))) /\ (((((exists ff_h_pvs_prefix_append_equalfirstpositive. ff_h_pvs_prefix_append_equalfirstpositive + S (dst_positive_prefix_append_equalfirst) = S ((S (dst_index_prefix_append_equal)) * dst_positive_scale_prefix_append_equalfirst)) /\ exists ff_q_pvs_prefix_append_equalfirstpositive. dst_positive_code_prefix_append_equalfirst = ff_q_pvs_prefix_append_equalfirstpositive * S ((S (dst_index_prefix_append_equal)) * dst_positive_scale_prefix_append_equalfirst) + (dst_positive_prefix_append_equalfirst))) /\ (((((exists ff_h_pvs_prefix_append_equalfirstnegative. ff_h_pvs_prefix_append_equalfirstnegative + S (dst_negative_prefix_append_equalfirst) = S ((S (dst_index_prefix_append_equal)) * dst_negative_scale_prefix_append_equalfirst)) /\ exists ff_q_pvs_prefix_append_equalfirstnegative. dst_negative_code_prefix_append_equalfirst = ff_q_pvs_prefix_append_equalfirstnegative * S ((S (dst_index_prefix_append_equal)) * dst_negative_scale_prefix_append_equalfirst) + (dst_negative_prefix_append_equalfirst))) /\ (exists ge_balance_positive_prefix_append_equalfirstvalue ge_balance_negative_prefix_append_equalfirstvalue. (((((dst_first_prefix_append_equal) = 2 * (ge_balance_positive_prefix_append_equalfirstvalue) /\ (ge_balance_negative_prefix_append_equalfirstvalue) = 0) \/ exists ge_signed_half_prefix_append_equalfirstvaluedecode. (((dst_first_prefix_append_equal) = 2 * ge_signed_half_prefix_append_equalfirstvaluedecode + 1 /\ (ge_balance_positive_prefix_append_equalfirstvalue) = 0) /\ (ge_balance_negative_prefix_append_equalfirstvalue) = S ge_signed_half_prefix_append_equalfirstvaluedecode))) /\ ((dst_positive_prefix_append_equalfirst) + ge_balance_negative_prefix_append_equalfirstvalue = (dst_negative_prefix_append_equalfirst) + ge_balance_positive_prefix_append_equalfirstvalue))))))))) -> (exists dst_positive_code_prefix_append_equalsecond dst_positive_scale_prefix_append_equalsecond dst_negative_code_prefix_append_equalsecond dst_negative_scale_prefix_append_equalsecond dst_positive_prefix_append_equalsecond dst_negative_prefix_append_equalsecond. (((U) = (((((dst_positive_code_prefix_append_equalsecond) + (dst_positive_scale_prefix_append_equalsecond)) * S ((dst_positive_code_prefix_append_equalsecond) + (dst_positive_scale_prefix_append_equalsecond)) + ((dst_positive_scale_prefix_append_equalsecond) + (dst_positive_scale_prefix_append_equalsecond))) + (((dst_negative_code_prefix_append_equalsecond) + (dst_negative_scale_prefix_append_equalsecond)) * S ((dst_negative_code_prefix_append_equalsecond) + (dst_negative_scale_prefix_append_equalsecond)) + ((dst_negative_scale_prefix_append_equalsecond) + (dst_negative_scale_prefix_append_equalsecond)))) * S ((((dst_positive_code_prefix_append_equalsecond) + (dst_positive_scale_prefix_append_equalsecond)) * S ((dst_positive_code_prefix_append_equalsecond) + (dst_positive_scale_prefix_append_equalsecond)) + ((dst_positive_scale_prefix_append_equalsecond) + (dst_positive_scale_prefix_append_equalsecond))) + (((dst_negative_code_prefix_append_equalsecond) + (dst_negative_scale_prefix_append_equalsecond)) * S ((dst_negative_code_prefix_append_equalsecond) + (dst_negative_scale_prefix_append_equalsecond)) + ((dst_negative_scale_prefix_append_equalsecond) + (dst_negative_scale_prefix_append_equalsecond)))) + ((((dst_negative_code_prefix_append_equalsecond) + (dst_negative_scale_prefix_append_equalsecond)) * S ((dst_negative_code_prefix_append_equalsecond) + (dst_negative_scale_prefix_append_equalsecond)) + ((dst_negative_scale_prefix_append_equalsecond) + (dst_negative_scale_prefix_append_equalsecond))) + (((dst_negative_code_prefix_append_equalsecond) + (dst_negative_scale_prefix_append_equalsecond)) * S ((dst_negative_code_prefix_append_equalsecond) + (dst_negative_scale_prefix_append_equalsecond)) + ((dst_negative_scale_prefix_append_equalsecond) + (dst_negative_scale_prefix_append_equalsecond)))))) /\ (((((exists ff_h_pvs_prefix_append_equalsecondpositive. ff_h_pvs_prefix_append_equalsecondpositive + S (dst_positive_prefix_append_equalsecond) = S ((S (dst_index_prefix_append_equal)) * dst_positive_scale_prefix_append_equalsecond)) /\ exists ff_q_pvs_prefix_append_equalsecondpositive. dst_positive_code_prefix_append_equalsecond = ff_q_pvs_prefix_append_equalsecondpositive * S ((S (dst_index_prefix_append_equal)) * dst_positive_scale_prefix_append_equalsecond) + (dst_positive_prefix_append_equalsecond))) /\ (((((exists ff_h_pvs_prefix_append_equalsecondnegative. ff_h_pvs_prefix_append_equalsecondnegative + S (dst_negative_prefix_append_equalsecond) = S ((S (dst_index_prefix_append_equal)) * dst_negative_scale_prefix_append_equalsecond)) /\ exists ff_q_pvs_prefix_append_equalsecondnegative. dst_negative_code_prefix_append_equalsecond = ff_q_pvs_prefix_append_equalsecondnegative * S ((S (dst_index_prefix_append_equal)) * dst_negative_scale_prefix_append_equalsecond) + (dst_negative_prefix_append_equalsecond))) /\ (exists ge_balance_positive_prefix_append_equalsecondvalue ge_balance_negative_prefix_append_equalsecondvalue. (((((dst_second_prefix_append_equal) = 2 * (ge_balance_positive_prefix_append_equalsecondvalue) /\ (ge_balance_negative_prefix_append_equalsecondvalue) = 0) \/ exists ge_signed_half_prefix_append_equalsecondvaluedecode. (((dst_second_prefix_append_equal) = 2 * ge_signed_half_prefix_append_equalsecondvaluedecode + 1 /\ (ge_balance_positive_prefix_append_equalsecondvalue) = 0) /\ (ge_balance_negative_prefix_append_equalsecondvalue) = S ge_signed_half_prefix_append_equalsecondvaluedecode))) /\ ((dst_positive_prefix_append_equalsecond) + ge_balance_negative_prefix_append_equalsecondvalue = (dst_negative_prefix_append_equalsecond) + ge_balance_positive_prefix_append_equalsecondvalue))))))))) -> dst_first_prefix_append_equal = dst_second_prefix_append_equal))

Constructive proof overview

Generated structural guide

Actually recode both beta streams, preserve the old represented values, and install the next independently constructed flat product.

The unchanged tactic script uses 5 declared prerequisites and contains 77 exact native proof lines.

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

Proof neighborhood

Direct dependencies

arithmetic_signed_table_append Alpha theorem; checked-use authorized le_eq_or_lt Stable theorem; checked-use authorized le_of_succ_le_succ Stable theorem; checked-use authorized divisor_signed_table_at_functional Alpha theorem; checked-use authorized divisor_signed_table_lookup Alpha theorem; checked-use authorized

Direct 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

77 script commands · 19 reading checkpoints · 6 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.

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–8

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

  1. L1
    intro F
  2. L2
    intro G
  3. L3
    intro n
  4. L4
    intro l
  5. L5
    intro T
  6. L6
    intro z
  7. L7
    intro ht
  8. L8
    intro hz
02Separate the logical casesL9–9

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

  1. L9
    cases ht
03Establish hxL10–15

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

  1. L10
    have hx : ∃ U. ArithTable(S l,U) ∧ (ArithTableEqual(T,U,S l) ∧ ArithAt(U,S l,z))Definitions: ArithTableArithAtArithTableEqual
  2. L11
    specialize arithmetic_signed_table_append (l)
  3. L12
    specialize arithmetic_signed_table_append (T)
  4. L13
    specialize arithmetic_signed_table_append (z)
  5. L14
    apply arithmetic_signed_table_append
  6. L15
    exact ht_left
04Separate the logical casesL16–18

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

  1. L16
    cases hx
  2. L17
    cases hx_witness
  3. L18
    cases hx_witness_right
05Construct an explicit witnessL19–19

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

  1. L19
    exists x
06Separate the logical casesL20–21

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

  1. L20
    split
  2. L21
    split
07Use earlier factsL22–22

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

  1. L22
    exact hx_witness_left
08Fix variables and assumptionsL23–26

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

  1. L23
    intro i
  2. L24
    intro u
  3. L25
    intro hi
  4. L26
    intro hu
09Establish hcL27–31

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

  1. L27
    have hc : i=S l \/ (exists pvs_gap_prefix_append_cases. pvs_gap_prefix_append_cases + S (i) = (S l))
  2. L28
    specialize le_eq_or_lt (i)
  3. L29
    specialize le_eq_or_lt (S l)
  4. L30
    apply le_eq_or_lt
  5. L31
    exact hi
10Separate the logical casesL32–32

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

  1. L32
    cases hc
11Calculate and transport equalitiesL33–36

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

  1. L33
    rewrite hc_left at hu
  2. L34
    rewrite hc_left at hu
  3. L35
    rewrite hc_left at hu
  4. L36
    rewrite hc_left at hu
12Establish heqL37–46

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed table at functional.

  1. L37
    have heq : z=u
  2. L38
    specialize divisor_signed_table_at_functional (x)
  3. L39
    specialize divisor_signed_table_at_functional (S l)
  4. L40
    specialize divisor_signed_table_at_functional (z)
  5. L41
    specialize divisor_signed_table_at_functional (u)
  6. L42
    apply divisor_signed_table_at_functional
  7. L43
    exact hx_witness_right_right
  8. L44
    exact hu
  9. L45
    rewrite heq at hz
  10. L46
    rewrite heq at hz
13Calculate and transport equalitiesL47–47

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

  1. L47
    rewrite hc_left
14Use earlier factsL48–48

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

  1. L48
    exact hz
15Establish hibL49–53

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le of succ le succ.

  1. L49
    have hib : exists pvs_le_gap_prefix_append_old_bound. pvs_le_gap_prefix_append_old_bound + (i) = (l)
  2. L50
    specialize le_of_succ_le_succ (i)
  3. L51
    specialize le_of_succ_le_succ (l)
  4. L52
    apply le_of_succ_le_succ
  5. L53
    exact hc_right
16Establish hvL54–60

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed table lookup.

  1. L54
    have hv : ∃ v. ArithAt(T,i,v)Definitions: ArithAt
  2. L55
    specialize divisor_signed_table_lookup (l)
  3. L56
    specialize divisor_signed_table_lookup (T)
  4. L57
    specialize divisor_signed_table_lookup (i)
  5. L58
    apply divisor_signed_table_lookup
  6. L59
    exact ht_left
  7. L60
    exact hib
17Separate the logical casesL61–61

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

  1. L61
    cases hv
18Establish heqL62–71

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

  1. L62
    have heq : x1=u
  2. L63
    specialize hx_witness_right_left (i)
  3. L64
    specialize hx_witness_right_left (x1)
  4. L65
    specialize hx_witness_right_left (u)
  5. L66
    apply hx_witness_right_left
  6. L67
    exact hc_right
  7. L68
    exact hv_witness
  8. L69
    exact hu
  9. L70
    rewrite heq at hv_witness
  10. L71
    rewrite heq at hv_witness
19Use earlier factsL72–77

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

  1. L72
    specialize ht_right (i)
  2. L73
    specialize ht_right (u)
  3. L74
    apply ht_right
  4. L75
    exact hib
  5. L76
    exact hv_witness
  6. L77
    exact hx_witness_right_left

Library-wide reading audit

Original exact command ledger · 77 lines
  1. 0001intro F
  2. 0002intro G
  3. 0003intro n
  4. 0004intro l
  5. 0005intro T
  6. 0006intro z
  7. 0007intro ht
  8. 0008intro hz
  9. 0009cases ht
  10. 0010have hx : exists U. (((exists dst_positive_code_prefix_append_actualtable dst_positive_scale_prefix_append_actualtable dst_negative_code_prefix_append_actualtable dst_negative_scale_prefix_append_actualtable. (((U) = (((((dst_positive_code_prefix_append_actualtable) + (dst_positive_scale_prefix_append_actualtable)) * S ((dst_positive_code_prefix_append_actualtable) + (dst_positive_scale_prefix_append_actualtable)) + ((dst_positive_scale_prefix_append_actualtable) + (dst_positive_scale_prefix_append_actualtable))) + (((dst_negative_code_prefix_append_actualtable) + (dst_negative_scale_prefix_append_actualtable)) * S ((dst_negative_code_prefix_append_actualtable) + (dst_negative_scale_prefix_append_actualtable)) + ((dst_negative_scale_prefix_append_actualtable) + (dst_negative_scale_prefix_append_actualtable)))) * S ((((dst_positive_code_prefix_append_actualtable) + (dst_positive_scale_prefix_append_actualtable)) * S ((dst_positive_code_prefix_append_actualtable) + (dst_positive_scale_prefix_append_actualtable)) + ((dst_positive_scale_prefix_append_actualtable) + (dst_positive_scale_prefix_append_actualtable))) + (((dst_negative_code_prefix_append_actualtable) + (dst_negative_scale_prefix_append_actualtable)) * S ((dst_negative_code_prefix_append_actualtable) + (dst_negative_scale_prefix_append_actualtable)) + ((dst_negative_scale_prefix_append_actualtable) + (dst_negative_scale_prefix_append_actualtable)))) + ((((dst_negative_code_prefix_append_actualtable) + (dst_negative_scale_prefix_append_actualtable)) * S ((dst_negative_code_prefix_append_actualtable) + (dst_negative_scale_prefix_append_actualtable)) + ((dst_negative_scale_prefix_append_actualtable) + (dst_negative_scale_prefix_append_actualtable))) + (((dst_negative_code_prefix_append_actualtable) + (dst_negative_scale_prefix_append_actualtable)) * S ((dst_negative_code_prefix_append_actualtable) + (dst_negative_scale_prefix_append_actualtable)) + ((dst_negative_scale_prefix_append_actualtable) + (dst_negative_scale_prefix_append_actualtable)))))) /\ (forall dst_index_prefix_append_actualtable. (exists pvs_le_gap_prefix_append_actualtabledomain. pvs_le_gap_prefix_append_actualtabledomain + (dst_index_prefix_append_actualtable) = (S l)) -> exists dst_positive_prefix_append_actualtable dst_negative_prefix_append_actualtable dst_value_prefix_append_actualtable. ((((exists ff_h_pvs_prefix_append_actualtableentrypositive. ff_h_pvs_prefix_append_actualtableentrypositive + S (dst_positive_prefix_append_actualtable) = S ((S (dst_index_prefix_append_actualtable)) * dst_positive_scale_prefix_append_actualtable)) /\ exists ff_q_pvs_prefix_append_actualtableentrypositive. dst_positive_code_prefix_append_actualtable = ff_q_pvs_prefix_append_actualtableentrypositive * S ((S (dst_index_prefix_append_actualtable)) * dst_positive_scale_prefix_append_actualtable) + (dst_positive_prefix_append_actualtable))) /\ (((((exists ff_h_pvs_prefix_append_actualtableentrynegative. ff_h_pvs_prefix_append_actualtableentrynegative + S (dst_negative_prefix_append_actualtable) = S ((S (dst_index_prefix_append_actualtable)) * dst_negative_scale_prefix_append_actualtable)) /\ exists ff_q_pvs_prefix_append_actualtableentrynegative. dst_negative_code_prefix_append_actualtable = ff_q_pvs_prefix_append_actualtableentrynegative * S ((S (dst_index_prefix_append_actualtable)) * dst_negative_scale_prefix_append_actualtable) + (dst_negative_prefix_append_actualtable))) /\ (exists ge_balance_positive_prefix_append_actualtableentryvalue ge_balance_negative_prefix_append_actualtableentryvalue. (((((dst_value_prefix_append_actualtable) = 2 * (ge_balance_positive_prefix_append_actualtableentryvalue) /\ (ge_balance_negative_prefix_append_actualtableentryvalue) = 0) \/ exists ge_signed_half_prefix_append_actualtableentryvaluedecode. (((dst_value_prefix_append_actualtable) = 2 * ge_signed_half_prefix_append_actualtableentryvaluedecode + 1 /\ (ge_balance_positive_prefix_append_actualtableentryvalue) = 0) /\ (ge_balance_negative_prefix_append_actualtableentryvalue) = S ge_signed_half_prefix_append_actualtableentryvaluedecode))) /\ ((dst_positive_prefix_append_actualtable) + ge_balance_negative_prefix_append_actualtableentryvalue = (dst_negative_prefix_append_actualtable) + ge_balance_positive_prefix_append_actualtableentryvalue))))))))) /\ (((forall dst_index_prefix_append_actualprefix dst_first_prefix_append_actualprefix dst_second_prefix_append_actualprefix. (exists pvs_gap_prefix_append_actualprefixbound. pvs_gap_prefix_append_actualprefixbound + S (dst_index_prefix_append_actualprefix) = (S l)) -> (exists dst_positive_code_prefix_append_actualprefixfirst dst_positive_scale_prefix_append_actualprefixfirst dst_negative_code_prefix_append_actualprefixfirst dst_negative_scale_prefix_append_actualprefixfirst dst_positive_prefix_append_actualprefixfirst dst_negative_prefix_append_actualprefixfirst. (((T) = (((((dst_positive_code_prefix_append_actualprefixfirst) + (dst_positive_scale_prefix_append_actualprefixfirst)) * S ((dst_positive_code_prefix_append_actualprefixfirst) + (dst_positive_scale_prefix_append_actualprefixfirst)) + ((dst_positive_scale_prefix_append_actualprefixfirst) + (dst_positive_scale_prefix_append_actualprefixfirst))) + (((dst_negative_code_prefix_append_actualprefixfirst) + (dst_negative_scale_prefix_append_actualprefixfirst)) * S ((dst_negative_code_prefix_append_actualprefixfirst) + (dst_negative_scale_prefix_append_actualprefixfirst)) + ((dst_negative_scale_prefix_append_actualprefixfirst) + (dst_negative_scale_prefix_append_actualprefixfirst)))) * S ((((dst_positive_code_prefix_append_actualprefixfirst) + (dst_positive_scale_prefix_append_actualprefixfirst)) * S ((dst_positive_code_prefix_append_actualprefixfirst) + (dst_positive_scale_prefix_append_actualprefixfirst)) + ((dst_positive_scale_prefix_append_actualprefixfirst) + (dst_positive_scale_prefix_append_actualprefixfirst))) + (((dst_negative_code_prefix_append_actualprefixfirst) + (dst_negative_scale_prefix_append_actualprefixfirst)) * S ((dst_negative_code_prefix_append_actualprefixfirst) + (dst_negative_scale_prefix_append_actualprefixfirst)) + ((dst_negative_scale_prefix_append_actualprefixfirst) + (dst_negative_scale_prefix_append_actualprefixfirst)))) + ((((dst_negative_code_prefix_append_actualprefixfirst) + (dst_negative_scale_prefix_append_actualprefixfirst)) * S ((dst_negative_code_prefix_append_actualprefixfirst) + (dst_negative_scale_prefix_append_actualprefixfirst)) + ((dst_negative_scale_prefix_append_actualprefixfirst) + (dst_negative_scale_prefix_append_actualprefixfirst))) + (((dst_negative_code_prefix_append_actualprefixfirst) + (dst_negative_scale_prefix_append_actualprefixfirst)) * S ((dst_negative_code_prefix_append_actualprefixfirst) + (dst_negative_scale_prefix_append_actualprefixfirst)) + ((dst_negative_scale_prefix_append_actualprefixfirst) + (dst_negative_scale_prefix_append_actualprefixfirst)))))) /\ (((((exists ff_h_pvs_prefix_append_actualprefixfirstpositive. ff_h_pvs_prefix_append_actualprefixfirstpositive + S (dst_positive_prefix_append_actualprefixfirst) = S ((S (dst_index_prefix_append_actualprefix)) * dst_positive_scale_prefix_append_actualprefixfirst)) /\ exists ff_q_pvs_prefix_append_actualprefixfirstpositive. dst_positive_code_prefix_append_actualprefixfirst = ff_q_pvs_prefix_append_actualprefixfirstpositive * S ((S (dst_index_prefix_append_actualprefix)) * dst_positive_scale_prefix_append_actualprefixfirst) + (dst_positive_prefix_append_actualprefixfirst))) /\ (((((exists ff_h_pvs_prefix_append_actualprefixfirstnegative. ff_h_pvs_prefix_append_actualprefixfirstnegative + S (dst_negative_prefix_append_actualprefixfirst) = S ((S (dst_index_prefix_append_actualprefix)) * dst_negative_scale_prefix_append_actualprefixfirst)) /\ exists ff_q_pvs_prefix_append_actualprefixfirstnegative. dst_negative_code_prefix_append_actualprefixfirst = ff_q_pvs_prefix_append_actualprefixfirstnegative * S ((S (dst_index_prefix_append_actualprefix)) * dst_negative_scale_prefix_append_actualprefixfirst) + (dst_negative_prefix_append_actualprefixfirst))) /\ (exists ge_balance_positive_prefix_append_actualprefixfirstvalue ge_balance_negative_prefix_append_actualprefixfirstvalue. (((((dst_first_prefix_append_actualprefix) = 2 * (ge_balance_positive_prefix_append_actualprefixfirstvalue) /\ (ge_balance_negative_prefix_append_actualprefixfirstvalue) = 0) \/ exists ge_signed_half_prefix_append_actualprefixfirstvaluedecode. (((dst_first_prefix_append_actualprefix) = 2 * ge_signed_half_prefix_append_actualprefixfirstvaluedecode + 1 /\ (ge_balance_positive_prefix_append_actualprefixfirstvalue) = 0) /\ (ge_balance_negative_prefix_append_actualprefixfirstvalue) = S ge_signed_half_prefix_append_actualprefixfirstvaluedecode))) /\ ((dst_positive_prefix_append_actualprefixfirst) + ge_balance_negative_prefix_append_actualprefixfirstvalue = (dst_negative_prefix_append_actualprefixfirst) + ge_balance_positive_prefix_append_actualprefixfirstvalue))))))))) -> (exists dst_positive_code_prefix_append_actualprefixsecond dst_positive_scale_prefix_append_actualprefixsecond dst_negative_code_prefix_append_actualprefixsecond dst_negative_scale_prefix_append_actualprefixsecond dst_positive_prefix_append_actualprefixsecond dst_negative_prefix_append_actualprefixsecond. (((U) = (((((dst_positive_code_prefix_append_actualprefixsecond) + (dst_positive_scale_prefix_append_actualprefixsecond)) * S ((dst_positive_code_prefix_append_actualprefixsecond) + (dst_positive_scale_prefix_append_actualprefixsecond)) + ((dst_positive_scale_prefix_append_actualprefixsecond) + (dst_positive_scale_prefix_append_actualprefixsecond))) + (((dst_negative_code_prefix_append_actualprefixsecond) + (dst_negative_scale_prefix_append_actualprefixsecond)) * S ((dst_negative_code_prefix_append_actualprefixsecond) + (dst_negative_scale_prefix_append_actualprefixsecond)) + ((dst_negative_scale_prefix_append_actualprefixsecond) + (dst_negative_scale_prefix_append_actualprefixsecond)))) * S ((((dst_positive_code_prefix_append_actualprefixsecond) + (dst_positive_scale_prefix_append_actualprefixsecond)) * S ((dst_positive_code_prefix_append_actualprefixsecond) + (dst_positive_scale_prefix_append_actualprefixsecond)) + ((dst_positive_scale_prefix_append_actualprefixsecond) + (dst_positive_scale_prefix_append_actualprefixsecond))) + (((dst_negative_code_prefix_append_actualprefixsecond) + (dst_negative_scale_prefix_append_actualprefixsecond)) * S ((dst_negative_code_prefix_append_actualprefixsecond) + (dst_negative_scale_prefix_append_actualprefixsecond)) + ((dst_negative_scale_prefix_append_actualprefixsecond) + (dst_negative_scale_prefix_append_actualprefixsecond)))) + ((((dst_negative_code_prefix_append_actualprefixsecond) + (dst_negative_scale_prefix_append_actualprefixsecond)) * S ((dst_negative_code_prefix_append_actualprefixsecond) + (dst_negative_scale_prefix_append_actualprefixsecond)) + ((dst_negative_scale_prefix_append_actualprefixsecond) + (dst_negative_scale_prefix_append_actualprefixsecond))) + (((dst_negative_code_prefix_append_actualprefixsecond) + (dst_negative_scale_prefix_append_actualprefixsecond)) * S ((dst_negative_code_prefix_append_actualprefixsecond) + (dst_negative_scale_prefix_append_actualprefixsecond)) + ((dst_negative_scale_prefix_append_actualprefixsecond) + (dst_negative_scale_prefix_append_actualprefixsecond)))))) /\ (((((exists ff_h_pvs_prefix_append_actualprefixsecondpositive. ff_h_pvs_prefix_append_actualprefixsecondpositive + S (dst_positive_prefix_append_actualprefixsecond) = S ((S (dst_index_prefix_append_actualprefix)) * dst_positive_scale_prefix_append_actualprefixsecond)) /\ exists ff_q_pvs_prefix_append_actualprefixsecondpositive. dst_positive_code_prefix_append_actualprefixsecond = ff_q_pvs_prefix_append_actualprefixsecondpositive * S ((S (dst_index_prefix_append_actualprefix)) * dst_positive_scale_prefix_append_actualprefixsecond) + (dst_positive_prefix_append_actualprefixsecond))) /\ (((((exists ff_h_pvs_prefix_append_actualprefixsecondnegative. ff_h_pvs_prefix_append_actualprefixsecondnegative + S (dst_negative_prefix_append_actualprefixsecond) = S ((S (dst_index_prefix_append_actualprefix)) * dst_negative_scale_prefix_append_actualprefixsecond)) /\ exists ff_q_pvs_prefix_append_actualprefixsecondnegative. dst_negative_code_prefix_append_actualprefixsecond = ff_q_pvs_prefix_append_actualprefixsecondnegative * S ((S (dst_index_prefix_append_actualprefix)) * dst_negative_scale_prefix_append_actualprefixsecond) + (dst_negative_prefix_append_actualprefixsecond))) /\ (exists ge_balance_positive_prefix_append_actualprefixsecondvalue ge_balance_negative_prefix_append_actualprefixsecondvalue. (((((dst_second_prefix_append_actualprefix) = 2 * (ge_balance_positive_prefix_append_actualprefixsecondvalue) /\ (ge_balance_negative_prefix_append_actualprefixsecondvalue) = 0) \/ exists ge_signed_half_prefix_append_actualprefixsecondvaluedecode. (((dst_second_prefix_append_actualprefix) = 2 * ge_signed_half_prefix_append_actualprefixsecondvaluedecode + 1 /\ (ge_balance_positive_prefix_append_actualprefixsecondvalue) = 0) /\ (ge_balance_negative_prefix_append_actualprefixsecondvalue) = S ge_signed_half_prefix_append_actualprefixsecondvaluedecode))) /\ ((dst_positive_prefix_append_actualprefixsecond) + ge_balance_negative_prefix_append_actualprefixsecondvalue = (dst_negative_prefix_append_actualprefixsecond) + ge_balance_positive_prefix_append_actualprefixsecondvalue))))))))) -> dst_first_prefix_append_actualprefix = dst_second_prefix_append_actualprefix) /\ (exists dst_positive_code_prefix_append_actuallast dst_positive_scale_prefix_append_actuallast dst_negative_code_prefix_append_actuallast dst_negative_scale_prefix_append_actuallast dst_positive_prefix_append_actuallast dst_negative_prefix_append_actuallast. (((U) = (((((dst_positive_code_prefix_append_actuallast) + (dst_positive_scale_prefix_append_actuallast)) * S ((dst_positive_code_prefix_append_actuallast) + (dst_positive_scale_prefix_append_actuallast)) + ((dst_positive_scale_prefix_append_actuallast) + (dst_positive_scale_prefix_append_actuallast))) + (((dst_negative_code_prefix_append_actuallast) + (dst_negative_scale_prefix_append_actuallast)) * S ((dst_negative_code_prefix_append_actuallast) + (dst_negative_scale_prefix_append_actuallast)) + ((dst_negative_scale_prefix_append_actuallast) + (dst_negative_scale_prefix_append_actuallast)))) * S ((((dst_positive_code_prefix_append_actuallast) + (dst_positive_scale_prefix_append_actuallast)) * S ((dst_positive_code_prefix_append_actuallast) + (dst_positive_scale_prefix_append_actuallast)) + ((dst_positive_scale_prefix_append_actuallast) + (dst_positive_scale_prefix_append_actuallast))) + (((dst_negative_code_prefix_append_actuallast) + (dst_negative_scale_prefix_append_actuallast)) * S ((dst_negative_code_prefix_append_actuallast) + (dst_negative_scale_prefix_append_actuallast)) + ((dst_negative_scale_prefix_append_actuallast) + (dst_negative_scale_prefix_append_actuallast)))) + ((((dst_negative_code_prefix_append_actuallast) + (dst_negative_scale_prefix_append_actuallast)) * S ((dst_negative_code_prefix_append_actuallast) + (dst_negative_scale_prefix_append_actuallast)) + ((dst_negative_scale_prefix_append_actuallast) + (dst_negative_scale_prefix_append_actuallast))) + (((dst_negative_code_prefix_append_actuallast) + (dst_negative_scale_prefix_append_actuallast)) * S ((dst_negative_code_prefix_append_actuallast) + (dst_negative_scale_prefix_append_actuallast)) + ((dst_negative_scale_prefix_append_actuallast) + (dst_negative_scale_prefix_append_actuallast)))))) /\ (((((exists ff_h_pvs_prefix_append_actuallastpositive. ff_h_pvs_prefix_append_actuallastpositive + S (dst_positive_prefix_append_actuallast) = S ((S (S l)) * dst_positive_scale_prefix_append_actuallast)) /\ exists ff_q_pvs_prefix_append_actuallastpositive. dst_positive_code_prefix_append_actuallast = ff_q_pvs_prefix_append_actuallastpositive * S ((S (S l)) * dst_positive_scale_prefix_append_actuallast) + (dst_positive_prefix_append_actuallast))) /\ (((((exists ff_h_pvs_prefix_append_actuallastnegative. ff_h_pvs_prefix_append_actuallastnegative + S (dst_negative_prefix_append_actuallast) = S ((S (S l)) * dst_negative_scale_prefix_append_actuallast)) /\ exists ff_q_pvs_prefix_append_actuallastnegative. dst_negative_code_prefix_append_actuallast = ff_q_pvs_prefix_append_actuallastnegative * S ((S (S l)) * dst_negative_scale_prefix_append_actuallast) + (dst_negative_prefix_append_actuallast))) /\ (exists ge_balance_positive_prefix_append_actuallastvalue ge_balance_negative_prefix_append_actuallastvalue. (((((z) = 2 * (ge_balance_positive_prefix_append_actuallastvalue) /\ (ge_balance_negative_prefix_append_actuallastvalue) = 0) \/ exists ge_signed_half_prefix_append_actuallastvaluedecode. (((z) = 2 * ge_signed_half_prefix_append_actuallastvaluedecode + 1 /\ (ge_balance_positive_prefix_append_actuallastvalue) = 0) /\ (ge_balance_negative_prefix_append_actuallastvalue) = S ge_signed_half_prefix_append_actuallastvaluedecode))) /\ ((dst_positive_prefix_append_actuallast) + ge_balance_negative_prefix_append_actuallastvalue = (dst_negative_prefix_append_actuallast) + ge_balance_positive_prefix_append_actuallastvalue)))))))))))))
  11. 0011specialize arithmetic_signed_table_append (l)
  12. 0012specialize arithmetic_signed_table_append (T)
  13. 0013specialize arithmetic_signed_table_append (z)
  14. 0014apply arithmetic_signed_table_append
  15. 0015exact ht_left
  16. 0016cases hx
  17. 0017cases hx_witness
  18. 0018cases hx_witness_right
  19. 0019exists x
  20. 0020split
  21. 0021split
  22. 0022exact hx_witness_left
  23. 0023intro i
  24. 0024intro u
  25. 0025intro hi
  26. 0026intro hu
  27. 0027have hc : i=S l \/ (exists pvs_gap_prefix_append_cases. pvs_gap_prefix_append_cases + S (i) = (S l))
  28. 0028specialize le_eq_or_lt (i)
  29. 0029specialize le_eq_or_lt (S l)
  30. 0030apply le_eq_or_lt
  31. 0031exact hi
  32. 0032cases hc
  33. 0033rewrite hc_left at hu
  34. 0034rewrite hc_left at hu
  35. 0035rewrite hc_left at hu
  36. 0036rewrite hc_left at hu
  37. 0037have heq : z=u
  38. 0038specialize divisor_signed_table_at_functional (x)
  39. 0039specialize divisor_signed_table_at_functional (S l)
  40. 0040specialize divisor_signed_table_at_functional (z)
  41. 0041specialize divisor_signed_table_at_functional (u)
  42. 0042apply divisor_signed_table_at_functional
  43. 0043exact hx_witness_right_right
  44. 0044exact hu
  45. 0045rewrite heq at hz
  46. 0046rewrite heq at hz
  47. 0047rewrite hc_left
  48. 0048exact hz
  49. 0049have hib : exists pvs_le_gap_prefix_append_old_bound. pvs_le_gap_prefix_append_old_bound + (i) = (l)
  50. 0050specialize le_of_succ_le_succ (i)
  51. 0051specialize le_of_succ_le_succ (l)
  52. 0052apply le_of_succ_le_succ
  53. 0053exact hc_right
  54. 0054have hv : exists v. (exists dst_positive_code_prefix_append_old_value dst_positive_scale_prefix_append_old_value dst_negative_code_prefix_append_old_value dst_negative_scale_prefix_append_old_value dst_positive_prefix_append_old_value dst_negative_prefix_append_old_value. (((T) = (((((dst_positive_code_prefix_append_old_value) + (dst_positive_scale_prefix_append_old_value)) * S ((dst_positive_code_prefix_append_old_value) + (dst_positive_scale_prefix_append_old_value)) + ((dst_positive_scale_prefix_append_old_value) + (dst_positive_scale_prefix_append_old_value))) + (((dst_negative_code_prefix_append_old_value) + (dst_negative_scale_prefix_append_old_value)) * S ((dst_negative_code_prefix_append_old_value) + (dst_negative_scale_prefix_append_old_value)) + ((dst_negative_scale_prefix_append_old_value) + (dst_negative_scale_prefix_append_old_value)))) * S ((((dst_positive_code_prefix_append_old_value) + (dst_positive_scale_prefix_append_old_value)) * S ((dst_positive_code_prefix_append_old_value) + (dst_positive_scale_prefix_append_old_value)) + ((dst_positive_scale_prefix_append_old_value) + (dst_positive_scale_prefix_append_old_value))) + (((dst_negative_code_prefix_append_old_value) + (dst_negative_scale_prefix_append_old_value)) * S ((dst_negative_code_prefix_append_old_value) + (dst_negative_scale_prefix_append_old_value)) + ((dst_negative_scale_prefix_append_old_value) + (dst_negative_scale_prefix_append_old_value)))) + ((((dst_negative_code_prefix_append_old_value) + (dst_negative_scale_prefix_append_old_value)) * S ((dst_negative_code_prefix_append_old_value) + (dst_negative_scale_prefix_append_old_value)) + ((dst_negative_scale_prefix_append_old_value) + (dst_negative_scale_prefix_append_old_value))) + (((dst_negative_code_prefix_append_old_value) + (dst_negative_scale_prefix_append_old_value)) * S ((dst_negative_code_prefix_append_old_value) + (dst_negative_scale_prefix_append_old_value)) + ((dst_negative_scale_prefix_append_old_value) + (dst_negative_scale_prefix_append_old_value)))))) /\ (((((exists ff_h_pvs_prefix_append_old_valuepositive. ff_h_pvs_prefix_append_old_valuepositive + S (dst_positive_prefix_append_old_value) = S ((S (i)) * dst_positive_scale_prefix_append_old_value)) /\ exists ff_q_pvs_prefix_append_old_valuepositive. dst_positive_code_prefix_append_old_value = ff_q_pvs_prefix_append_old_valuepositive * S ((S (i)) * dst_positive_scale_prefix_append_old_value) + (dst_positive_prefix_append_old_value))) /\ (((((exists ff_h_pvs_prefix_append_old_valuenegative. ff_h_pvs_prefix_append_old_valuenegative + S (dst_negative_prefix_append_old_value) = S ((S (i)) * dst_negative_scale_prefix_append_old_value)) /\ exists ff_q_pvs_prefix_append_old_valuenegative. dst_negative_code_prefix_append_old_value = ff_q_pvs_prefix_append_old_valuenegative * S ((S (i)) * dst_negative_scale_prefix_append_old_value) + (dst_negative_prefix_append_old_value))) /\ (exists ge_balance_positive_prefix_append_old_valuevalue ge_balance_negative_prefix_append_old_valuevalue. (((((v) = 2 * (ge_balance_positive_prefix_append_old_valuevalue) /\ (ge_balance_negative_prefix_append_old_valuevalue) = 0) \/ exists ge_signed_half_prefix_append_old_valuevaluedecode. (((v) = 2 * ge_signed_half_prefix_append_old_valuevaluedecode + 1 /\ (ge_balance_positive_prefix_append_old_valuevalue) = 0) /\ (ge_balance_negative_prefix_append_old_valuevalue) = S ge_signed_half_prefix_append_old_valuevaluedecode))) /\ ((dst_positive_prefix_append_old_value) + ge_balance_negative_prefix_append_old_valuevalue = (dst_negative_prefix_append_old_value) + ge_balance_positive_prefix_append_old_valuevalue)))))))))
  55. 0055specialize divisor_signed_table_lookup (l)
  56. 0056specialize divisor_signed_table_lookup (T)
  57. 0057specialize divisor_signed_table_lookup (i)
  58. 0058apply divisor_signed_table_lookup
  59. 0059exact ht_left
  60. 0060exact hib
  61. 0061cases hv
  62. 0062have heq : x1=u
  63. 0063specialize hx_witness_right_left (i)
  64. 0064specialize hx_witness_right_left (x1)
  65. 0065specialize hx_witness_right_left (u)
  66. 0066apply hx_witness_right_left
  67. 0067exact hc_right
  68. 0068exact hv_witness
  69. 0069exact hu
  70. 0070rewrite heq at hv_witness
  71. 0071rewrite heq at hv_witness
  72. 0072specialize ht_right (i)
  73. 0073specialize ht_right (u)
  74. 0074apply ht_right
  75. 0075exact hib
  76. 0076exact hv_witness
  77. 0077exact hx_witness_right_left