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 N F a b. (((~((N)=0)) /\ (((exists dst_positive_code_values_sourcetable dst_positive_scale_values_sourcetable dst_negative_code_values_sourcetable dst_negative_scale_values_sourcetable. (((F) = (((((dst_positive_code_values_sourcetable) + (dst_positive_scale_values_sourcetable)) * S ((dst_positive_code_values_sourcetable) + (dst_positive_scale_values_sourcetable)) + ((dst_positive_scale_values_sourcetable) + (dst_positive_scale_values_sourcetable))) + (((dst_negative_code_values_sourcetable) + (dst_negative_scale_values_sourcetable)) * S ((dst_negative_code_values_sourcetable) + (dst_negative_scale_values_sourcetable)) + ((dst_negative_scale_values_sourcetable) + (dst_negative_scale_values_sourcetable)))) * S ((((dst_positive_code_values_sourcetable) + (dst_positive_scale_values_sourcetable)) * S ((dst_positive_code_values_sourcetable) + (dst_positive_scale_values_sourcetable)) + ((dst_positive_scale_values_sourcetable) + (dst_positive_scale_values_sourcetable))) + (((dst_negative_code_values_sourcetable) + (dst_negative_scale_values_sourcetable)) * S ((dst_negative_code_values_sourcetable) + (dst_negative_scale_values_sourcetable)) + ((dst_negative_scale_values_sourcetable) + (dst_negative_scale_values_sourcetable)))) + ((((dst_negative_code_values_sourcetable) + (dst_negative_scale_values_sourcetable)) * S ((dst_negative_code_values_sourcetable) + (dst_negative_scale_values_sourcetable)) + ((dst_negative_scale_values_sourcetable) + (dst_negative_scale_values_sourcetable))) + (((dst_negative_code_values_sourcetable) + (dst_negative_scale_values_sourcetable)) * S ((dst_negative_code_values_sourcetable) + (dst_negative_scale_values_sourcetable)) + ((dst_negative_scale_values_sourcetable) + (dst_negative_scale_values_sourcetable)))))) /\ (forall dst_index_values_sourcetable. (exists pvs_le_gap_values_sourcetabledomain. pvs_le_gap_values_sourcetabledomain + (dst_index_values_sourcetable) = (N)) -> exists dst_positive_values_sourcetable dst_negative_values_sourcetable dst_value_values_sourcetable. ((((exists ff_h_pvs_values_sourcetableentrypositive. ff_h_pvs_values_sourcetableentrypositive + S (dst_positive_values_sourcetable) = S ((S (dst_index_values_sourcetable)) * dst_positive_scale_values_sourcetable)) /\ exists ff_q_pvs_values_sourcetableentrypositive. dst_positive_code_values_sourcetable = ff_q_pvs_values_sourcetableentrypositive * S ((S (dst_index_values_sourcetable)) * dst_positive_scale_values_sourcetable) + (dst_positive_values_sourcetable))) /\ (((((exists ff_h_pvs_values_sourcetableentrynegative. ff_h_pvs_values_sourcetableentrynegative + S (dst_negative_values_sourcetable) = S ((S (dst_index_values_sourcetable)) * dst_negative_scale_values_sourcetable)) /\ exists ff_q_pvs_values_sourcetableentrynegative. dst_negative_code_values_sourcetable = ff_q_pvs_values_sourcetableentrynegative * S ((S (dst_index_values_sourcetable)) * dst_negative_scale_values_sourcetable) + (dst_negative_values_sourcetable))) /\ (exists ge_balance_positive_values_sourcetableentryvalue ge_balance_negative_values_sourcetableentryvalue. (((((dst_value_values_sourcetable) = 2 * (ge_balance_positive_values_sourcetableentryvalue) /\ (ge_balance_negative_values_sourcetableentryvalue) = 0) \/ exists ge_signed_half_values_sourcetableentryvaluedecode. (((dst_value_values_sourcetable) = 2 * ge_signed_half_values_sourcetableentryvaluedecode + 1 /\ (ge_balance_positive_values_sourcetableentryvalue) = 0) /\ (ge_balance_negative_values_sourcetableentryvalue) = S ge_signed_half_values_sourcetableentryvaluedecode))) /\ ((dst_positive_values_sourcetable) + ge_balance_negative_values_sourcetableentryvalue = (dst_negative_values_sourcetable) + ge_balance_positive_values_sourcetableentryvalue))))))))) /\ (((exists dst_positive_code_values_sourceone dst_positive_scale_values_sourceone dst_negative_code_values_sourceone dst_negative_scale_values_sourceone dst_positive_values_sourceone dst_negative_values_sourceone. (((F) = (((((dst_positive_code_values_sourceone) + (dst_positive_scale_values_sourceone)) * S ((dst_positive_code_values_sourceone) + (dst_positive_scale_values_sourceone)) + ((dst_positive_scale_values_sourceone) + (dst_positive_scale_values_sourceone))) + (((dst_negative_code_values_sourceone) + (dst_negative_scale_values_sourceone)) * S ((dst_negative_code_values_sourceone) + (dst_negative_scale_values_sourceone)) + ((dst_negative_scale_values_sourceone) + (dst_negative_scale_values_sourceone)))) * S ((((dst_positive_code_values_sourceone) + (dst_positive_scale_values_sourceone)) * S ((dst_positive_code_values_sourceone) + (dst_positive_scale_values_sourceone)) + ((dst_positive_scale_values_sourceone) + (dst_positive_scale_values_sourceone))) + (((dst_negative_code_values_sourceone) + (dst_negative_scale_values_sourceone)) * S ((dst_negative_code_values_sourceone) + (dst_negative_scale_values_sourceone)) + ((dst_negative_scale_values_sourceone) + (dst_negative_scale_values_sourceone)))) + ((((dst_negative_code_values_sourceone) + (dst_negative_scale_values_sourceone)) * S ((dst_negative_code_values_sourceone) + (dst_negative_scale_values_sourceone)) + ((dst_negative_scale_values_sourceone) + (dst_negative_scale_values_sourceone))) + (((dst_negative_code_values_sourceone) + (dst_negative_scale_values_sourceone)) * S ((dst_negative_code_values_sourceone) + (dst_negative_scale_values_sourceone)) + ((dst_negative_scale_values_sourceone) + (dst_negative_scale_values_sourceone)))))) /\ (((((exists ff_h_pvs_values_sourceonepositive. ff_h_pvs_values_sourceonepositive + S (dst_positive_values_sourceone) = S ((S (1)) * dst_positive_scale_values_sourceone)) /\ exists ff_q_pvs_values_sourceonepositive. dst_positive_code_values_sourceone = ff_q_pvs_values_sourceonepositive * S ((S (1)) * dst_positive_scale_values_sourceone) + (dst_positive_values_sourceone))) /\ (((((exists ff_h_pvs_values_sourceonenegative. ff_h_pvs_values_sourceonenegative + S (dst_negative_values_sourceone) = S ((S (1)) * dst_negative_scale_values_sourceone)) /\ exists ff_q_pvs_values_sourceonenegative. dst_negative_code_values_sourceone = ff_q_pvs_values_sourceonenegative * S ((S (1)) * dst_negative_scale_values_sourceone) + (dst_negative_values_sourceone))) /\ (exists ge_balance_positive_values_sourceonevalue ge_balance_negative_values_sourceonevalue. (((((2) = 2 * (ge_balance_positive_values_sourceonevalue) /\ (ge_balance_negative_values_sourceonevalue) = 0) \/ exists ge_signed_half_values_sourceonevaluedecode. (((2) = 2 * ge_signed_half_values_sourceonevaluedecode + 1 /\ (ge_balance_positive_values_sourceonevalue) = 0) /\ (ge_balance_negative_values_sourceonevalue) = S ge_signed_half_values_sourceonevaluedecode))) /\ ((dst_positive_values_sourceone) + ge_balance_negative_values_sourceonevalue = (dst_negative_values_sourceone) + ge_balance_positive_values_sourceonevalue))))))))) /\ (forall mp_a_values_source mp_b_values_source mp_x_values_source mp_y_values_source mp_z_values_source. ~(mp_a_values_source=0) -> ~(mp_b_values_source=0) -> (exists pvs_le_gap_values_sourcebound. pvs_le_gap_values_sourcebound + (mp_a_values_source*mp_b_values_source) = (N)) -> (forall frp_divisor_values_sourcecoprime. (exists frp_left_factor_values_sourcecoprime. mp_a_values_source = frp_divisor_values_sourcecoprime * frp_left_factor_values_sourcecoprime) -> (exists frp_right_factor_values_sourcecoprime. mp_b_values_source = frp_divisor_values_sourcecoprime * frp_right_factor_values_sourcecoprime) -> frp_divisor_values_sourcecoprime = 1) -> (exists dst_positive_code_values_sourcefirst dst_positive_scale_values_sourcefirst dst_negative_code_values_sourcefirst dst_negative_scale_values_sourcefirst dst_positive_values_sourcefirst dst_negative_values_sourcefirst. (((F) = (((((dst_positive_code_values_sourcefirst) + (dst_positive_scale_values_sourcefirst)) * S ((dst_positive_code_values_sourcefirst) + (dst_positive_scale_values_sourcefirst)) + ((dst_positive_scale_values_sourcefirst) + (dst_positive_scale_values_sourcefirst))) + (((dst_negative_code_values_sourcefirst) + (dst_negative_scale_values_sourcefirst)) * S ((dst_negative_code_values_sourcefirst) + (dst_negative_scale_values_sourcefirst)) + ((dst_negative_scale_values_sourcefirst) + (dst_negative_scale_values_sourcefirst)))) * S ((((dst_positive_code_values_sourcefirst) + (dst_positive_scale_values_sourcefirst)) * S ((dst_positive_code_values_sourcefirst) + (dst_positive_scale_values_sourcefirst)) + ((dst_positive_scale_values_sourcefirst) + (dst_positive_scale_values_sourcefirst))) + (((dst_negative_code_values_sourcefirst) + (dst_negative_scale_values_sourcefirst)) * S ((dst_negative_code_values_sourcefirst) + (dst_negative_scale_values_sourcefirst)) + ((dst_negative_scale_values_sourcefirst) + (dst_negative_scale_values_sourcefirst)))) + ((((dst_negative_code_values_sourcefirst) + (dst_negative_scale_values_sourcefirst)) * S ((dst_negative_code_values_sourcefirst) + (dst_negative_scale_values_sourcefirst)) + ((dst_negative_scale_values_sourcefirst) + (dst_negative_scale_values_sourcefirst))) + (((dst_negative_code_values_sourcefirst) + (dst_negative_scale_values_sourcefirst)) * S ((dst_negative_code_values_sourcefirst) + (dst_negative_scale_values_sourcefirst)) + ((dst_negative_scale_values_sourcefirst) + (dst_negative_scale_values_sourcefirst)))))) /\ (((((exists ff_h_pvs_values_sourcefirstpositive. ff_h_pvs_values_sourcefirstpositive + S (dst_positive_values_sourcefirst) = S ((S (mp_a_values_source)) * dst_positive_scale_values_sourcefirst)) /\ exists ff_q_pvs_values_sourcefirstpositive. dst_positive_code_values_sourcefirst = ff_q_pvs_values_sourcefirstpositive * S ((S (mp_a_values_source)) * dst_positive_scale_values_sourcefirst) + (dst_positive_values_sourcefirst))) /\ (((((exists ff_h_pvs_values_sourcefirstnegative. ff_h_pvs_values_sourcefirstnegative + S (dst_negative_values_sourcefirst) = S ((S (mp_a_values_source)) * dst_negative_scale_values_sourcefirst)) /\ exists ff_q_pvs_values_sourcefirstnegative. dst_negative_code_values_sourcefirst = ff_q_pvs_values_sourcefirstnegative * S ((S (mp_a_values_source)) * dst_negative_scale_values_sourcefirst) + (dst_negative_values_sourcefirst))) /\ (exists ge_balance_positive_values_sourcefirstvalue ge_balance_negative_values_sourcefirstvalue. (((((mp_x_values_source) = 2 * (ge_balance_positive_values_sourcefirstvalue) /\ (ge_balance_negative_values_sourcefirstvalue) = 0) \/ exists ge_signed_half_values_sourcefirstvaluedecode. (((mp_x_values_source) = 2 * ge_signed_half_values_sourcefirstvaluedecode + 1 /\ (ge_balance_positive_values_sourcefirstvalue) = 0) /\ (ge_balance_negative_values_sourcefirstvalue) = S ge_signed_half_values_sourcefirstvaluedecode))) /\ ((dst_positive_values_sourcefirst) + ge_balance_negative_values_sourcefirstvalue = (dst_negative_values_sourcefirst) + ge_balance_positive_values_sourcefirstvalue))))))))) -> (exists dst_positive_code_values_sourcesecond dst_positive_scale_values_sourcesecond dst_negative_code_values_sourcesecond dst_negative_scale_values_sourcesecond dst_positive_values_sourcesecond dst_negative_values_sourcesecond. (((F) = (((((dst_positive_code_values_sourcesecond) + (dst_positive_scale_values_sourcesecond)) * S ((dst_positive_code_values_sourcesecond) + (dst_positive_scale_values_sourcesecond)) + ((dst_positive_scale_values_sourcesecond) + (dst_positive_scale_values_sourcesecond))) + (((dst_negative_code_values_sourcesecond) + (dst_negative_scale_values_sourcesecond)) * S ((dst_negative_code_values_sourcesecond) + (dst_negative_scale_values_sourcesecond)) + ((dst_negative_scale_values_sourcesecond) + (dst_negative_scale_values_sourcesecond)))) * S ((((dst_positive_code_values_sourcesecond) + (dst_positive_scale_values_sourcesecond)) * S ((dst_positive_code_values_sourcesecond) + (dst_positive_scale_values_sourcesecond)) + ((dst_positive_scale_values_sourcesecond) + (dst_positive_scale_values_sourcesecond))) + (((dst_negative_code_values_sourcesecond) + (dst_negative_scale_values_sourcesecond)) * S ((dst_negative_code_values_sourcesecond) + (dst_negative_scale_values_sourcesecond)) + ((dst_negative_scale_values_sourcesecond) + (dst_negative_scale_values_sourcesecond)))) + ((((dst_negative_code_values_sourcesecond) + (dst_negative_scale_values_sourcesecond)) * S ((dst_negative_code_values_sourcesecond) + (dst_negative_scale_values_sourcesecond)) + ((dst_negative_scale_values_sourcesecond) + (dst_negative_scale_values_sourcesecond))) + (((dst_negative_code_values_sourcesecond) + (dst_negative_scale_values_sourcesecond)) * S ((dst_negative_code_values_sourcesecond) + (dst_negative_scale_values_sourcesecond)) + ((dst_negative_scale_values_sourcesecond) + (dst_negative_scale_values_sourcesecond)))))) /\ (((((exists ff_h_pvs_values_sourcesecondpositive. ff_h_pvs_values_sourcesecondpositive + S (dst_positive_values_sourcesecond) = S ((S (mp_b_values_source)) * dst_positive_scale_values_sourcesecond)) /\ exists ff_q_pvs_values_sourcesecondpositive. dst_positive_code_values_sourcesecond = ff_q_pvs_values_sourcesecondpositive * S ((S (mp_b_values_source)) * dst_positive_scale_values_sourcesecond) + (dst_positive_values_sourcesecond))) /\ (((((exists ff_h_pvs_values_sourcesecondnegative. ff_h_pvs_values_sourcesecondnegative + S (dst_negative_values_sourcesecond) = S ((S (mp_b_values_source)) * dst_negative_scale_values_sourcesecond)) /\ exists ff_q_pvs_values_sourcesecondnegative. dst_negative_code_values_sourcesecond = ff_q_pvs_values_sourcesecondnegative * S ((S (mp_b_values_source)) * dst_negative_scale_values_sourcesecond) + (dst_negative_values_sourcesecond))) /\ (exists ge_balance_positive_values_sourcesecondvalue ge_balance_negative_values_sourcesecondvalue. (((((mp_y_values_source) = 2 * (ge_balance_positive_values_sourcesecondvalue) /\ (ge_balance_negative_values_sourcesecondvalue) = 0) \/ exists ge_signed_half_values_sourcesecondvaluedecode. (((mp_y_values_source) = 2 * ge_signed_half_values_sourcesecondvaluedecode + 1 /\ (ge_balance_positive_values_sourcesecondvalue) = 0) /\ (ge_balance_negative_values_sourcesecondvalue) = S ge_signed_half_values_sourcesecondvaluedecode))) /\ ((dst_positive_values_sourcesecond) + ge_balance_negative_values_sourcesecondvalue = (dst_negative_values_sourcesecond) + ge_balance_positive_values_sourcesecondvalue))))))))) -> (exists dst_positive_code_values_sourceproduct dst_positive_scale_values_sourceproduct dst_negative_code_values_sourceproduct dst_negative_scale_values_sourceproduct dst_positive_values_sourceproduct dst_negative_values_sourceproduct. (((F) = (((((dst_positive_code_values_sourceproduct) + (dst_positive_scale_values_sourceproduct)) * S ((dst_positive_code_values_sourceproduct) + (dst_positive_scale_values_sourceproduct)) + ((dst_positive_scale_values_sourceproduct) + (dst_positive_scale_values_sourceproduct))) + (((dst_negative_code_values_sourceproduct) + (dst_negative_scale_values_sourceproduct)) * S ((dst_negative_code_values_sourceproduct) + (dst_negative_scale_values_sourceproduct)) + ((dst_negative_scale_values_sourceproduct) + (dst_negative_scale_values_sourceproduct)))) * S ((((dst_positive_code_values_sourceproduct) + (dst_positive_scale_values_sourceproduct)) * S ((dst_positive_code_values_sourceproduct) + (dst_positive_scale_values_sourceproduct)) + ((dst_positive_scale_values_sourceproduct) + (dst_positive_scale_values_sourceproduct))) + (((dst_negative_code_values_sourceproduct) + (dst_negative_scale_values_sourceproduct)) * S ((dst_negative_code_values_sourceproduct) + (dst_negative_scale_values_sourceproduct)) + ((dst_negative_scale_values_sourceproduct) + (dst_negative_scale_values_sourceproduct)))) + ((((dst_negative_code_values_sourceproduct) + (dst_negative_scale_values_sourceproduct)) * S ((dst_negative_code_values_sourceproduct) + (dst_negative_scale_values_sourceproduct)) + ((dst_negative_scale_values_sourceproduct) + (dst_negative_scale_values_sourceproduct))) + (((dst_negative_code_values_sourceproduct) + (dst_negative_scale_values_sourceproduct)) * S ((dst_negative_code_values_sourceproduct) + (dst_negative_scale_values_sourceproduct)) + ((dst_negative_scale_values_sourceproduct) + (dst_negative_scale_values_sourceproduct)))))) /\ (((((exists ff_h_pvs_values_sourceproductpositive. ff_h_pvs_values_sourceproductpositive + S (dst_positive_values_sourceproduct) = S ((S (mp_a_values_source*mp_b_values_source)) * dst_positive_scale_values_sourceproduct)) /\ exists ff_q_pvs_values_sourceproductpositive. dst_positive_code_values_sourceproduct = ff_q_pvs_values_sourceproductpositive * S ((S (mp_a_values_source*mp_b_values_source)) * dst_positive_scale_values_sourceproduct) + (dst_positive_values_sourceproduct))) /\ (((((exists ff_h_pvs_values_sourceproductnegative. ff_h_pvs_values_sourceproductnegative + S (dst_negative_values_sourceproduct) = S ((S (mp_a_values_source*mp_b_values_source)) * dst_negative_scale_values_sourceproduct)) /\ exists ff_q_pvs_values_sourceproductnegative. dst_negative_code_values_sourceproduct = ff_q_pvs_values_sourceproductnegative * S ((S (mp_a_values_source*mp_b_values_source)) * dst_negative_scale_values_sourceproduct) + (dst_negative_values_sourceproduct))) /\ (exists ge_balance_positive_values_sourceproductvalue ge_balance_negative_values_sourceproductvalue. (((((mp_z_values_source) = 2 * (ge_balance_positive_values_sourceproductvalue) /\ (ge_balance_negative_values_sourceproductvalue) = 0) \/ exists ge_signed_half_values_sourceproductvaluedecode. (((mp_z_values_source) = 2 * ge_signed_half_values_sourceproductvaluedecode + 1 /\ (ge_balance_positive_values_sourceproductvalue) = 0) /\ (ge_balance_negative_values_sourceproductvalue) = S ge_signed_half_values_sourceproductvaluedecode))) /\ ((dst_positive_values_sourceproduct) + ge_balance_negative_values_sourceproductvalue = (dst_negative_values_sourceproduct) + ge_balance_positive_values_sourceproductvalue))))))))) -> (exists sto_ap_values_sourcelaw sto_an_values_sourcelaw sto_bp_values_sourcelaw sto_bn_values_sourcelaw sto_cp_values_sourcelaw sto_cn_values_sourcelaw. (((((mp_x_values_source) = 2 * (sto_ap_values_sourcelaw) /\ (sto_an_values_sourcelaw) = 0) \/ exists ge_signed_half_values_sourcelawleft. (((mp_x_values_source) = 2 * ge_signed_half_values_sourcelawleft + 1 /\ (sto_ap_values_sourcelaw) = 0) /\ (sto_an_values_sourcelaw) = S ge_signed_half_values_sourcelawleft))) /\ ((((((mp_y_values_source) = 2 * (sto_bp_values_sourcelaw) /\ (sto_bn_values_sourcelaw) = 0) \/ exists ge_signed_half_values_sourcelawright. (((mp_y_values_source) = 2 * ge_signed_half_values_sourcelawright + 1 /\ (sto_bp_values_sourcelaw) = 0) /\ (sto_bn_values_sourcelaw) = S ge_signed_half_values_sourcelawright))) /\ ((((((mp_z_values_source) = 2 * (sto_cp_values_sourcelaw) /\ (sto_cn_values_sourcelaw) = 0) \/ exists ge_signed_half_values_sourcelawoutput. (((mp_z_values_source) = 2 * ge_signed_half_values_sourcelawoutput + 1 /\ (sto_cp_values_sourcelaw) = 0) /\ (sto_cn_values_sourcelaw) = S ge_signed_half_values_sourcelawoutput))) /\ ((sto_ap_values_sourcelaw * sto_bp_values_sourcelaw + sto_an_values_sourcelaw * sto_bn_values_sourcelaw) + sto_cn_values_sourcelaw = (sto_ap_values_sourcelaw * sto_bn_values_sourcelaw + sto_an_values_sourcelaw * sto_bp_values_sourcelaw) + sto_cp_values_sourcelaw)))))))))))))) -> ~(a=0) -> ~(b=0) -> (exists pvs_le_gap_values_bound. pvs_le_gap_values_bound + (a*b) = (N)) -> (forall frp_divisor_values_coprime. (exists frp_left_factor_values_coprime. a = frp_divisor_values_coprime * frp_left_factor_values_coprime) -> (exists frp_right_factor_values_coprime. b = frp_divisor_values_coprime * frp_right_factor_values_coprime) -> frp_divisor_values_coprime = 1) -> exists x y z. ((exists dst_positive_code_values_first dst_positive_scale_values_first dst_negative_code_values_first dst_negative_scale_values_first dst_positive_values_first dst_negative_values_first. (((F) = (((((dst_positive_code_values_first) + (dst_positive_scale_values_first)) * S ((dst_positive_code_values_first) + (dst_positive_scale_values_first)) + ((dst_positive_scale_values_first) + (dst_positive_scale_values_first))) + (((dst_negative_code_values_first) + (dst_negative_scale_values_first)) * S ((dst_negative_code_values_first) + (dst_negative_scale_values_first)) + ((dst_negative_scale_values_first) + (dst_negative_scale_values_first)))) * S ((((dst_positive_code_values_first) + (dst_positive_scale_values_first)) * S ((dst_positive_code_values_first) + (dst_positive_scale_values_first)) + ((dst_positive_scale_values_first) + (dst_positive_scale_values_first))) + (((dst_negative_code_values_first) + (dst_negative_scale_values_first)) * S ((dst_negative_code_values_first) + (dst_negative_scale_values_first)) + ((dst_negative_scale_values_first) + (dst_negative_scale_values_first)))) + ((((dst_negative_code_values_first) + (dst_negative_scale_values_first)) * S ((dst_negative_code_values_first) + (dst_negative_scale_values_first)) + ((dst_negative_scale_values_first) + (dst_negative_scale_values_first))) + (((dst_negative_code_values_first) + (dst_negative_scale_values_first)) * S ((dst_negative_code_values_first) + (dst_negative_scale_values_first)) + ((dst_negative_scale_values_first) + (dst_negative_scale_values_first)))))) /\ (((((exists ff_h_pvs_values_firstpositive. ff_h_pvs_values_firstpositive + S (dst_positive_values_first) = S ((S (a)) * dst_positive_scale_values_first)) /\ exists ff_q_pvs_values_firstpositive. dst_positive_code_values_first = ff_q_pvs_values_firstpositive * S ((S (a)) * dst_positive_scale_values_first) + (dst_positive_values_first))) /\ (((((exists ff_h_pvs_values_firstnegative. ff_h_pvs_values_firstnegative + S (dst_negative_values_first) = S ((S (a)) * dst_negative_scale_values_first)) /\ exists ff_q_pvs_values_firstnegative. dst_negative_code_values_first = ff_q_pvs_values_firstnegative * S ((S (a)) * dst_negative_scale_values_first) + (dst_negative_values_first))) /\ (exists ge_balance_positive_values_firstvalue ge_balance_negative_values_firstvalue. (((((x) = 2 * (ge_balance_positive_values_firstvalue) /\ (ge_balance_negative_values_firstvalue) = 0) \/ exists ge_signed_half_values_firstvaluedecode. (((x) = 2 * ge_signed_half_values_firstvaluedecode + 1 /\ (ge_balance_positive_values_firstvalue) = 0) /\ (ge_balance_negative_values_firstvalue) = S ge_signed_half_values_firstvaluedecode))) /\ ((dst_positive_values_first) + ge_balance_negative_values_firstvalue = (dst_negative_values_first) + ge_balance_positive_values_firstvalue))))))))) /\ (((exists dst_positive_code_values_second dst_positive_scale_values_second dst_negative_code_values_second dst_negative_scale_values_second dst_positive_values_second dst_negative_values_second. (((F) = (((((dst_positive_code_values_second) + (dst_positive_scale_values_second)) * S ((dst_positive_code_values_second) + (dst_positive_scale_values_second)) + ((dst_positive_scale_values_second) + (dst_positive_scale_values_second))) + (((dst_negative_code_values_second) + (dst_negative_scale_values_second)) * S ((dst_negative_code_values_second) + (dst_negative_scale_values_second)) + ((dst_negative_scale_values_second) + (dst_negative_scale_values_second)))) * S ((((dst_positive_code_values_second) + (dst_positive_scale_values_second)) * S ((dst_positive_code_values_second) + (dst_positive_scale_values_second)) + ((dst_positive_scale_values_second) + (dst_positive_scale_values_second))) + (((dst_negative_code_values_second) + (dst_negative_scale_values_second)) * S ((dst_negative_code_values_second) + (dst_negative_scale_values_second)) + ((dst_negative_scale_values_second) + (dst_negative_scale_values_second)))) + ((((dst_negative_code_values_second) + (dst_negative_scale_values_second)) * S ((dst_negative_code_values_second) + (dst_negative_scale_values_second)) + ((dst_negative_scale_values_second) + (dst_negative_scale_values_second))) + (((dst_negative_code_values_second) + (dst_negative_scale_values_second)) * S ((dst_negative_code_values_second) + (dst_negative_scale_values_second)) + ((dst_negative_scale_values_second) + (dst_negative_scale_values_second)))))) /\ (((((exists ff_h_pvs_values_secondpositive. ff_h_pvs_values_secondpositive + S (dst_positive_values_second) = S ((S (b)) * dst_positive_scale_values_second)) /\ exists ff_q_pvs_values_secondpositive. dst_positive_code_values_second = ff_q_pvs_values_secondpositive * S ((S (b)) * dst_positive_scale_values_second) + (dst_positive_values_second))) /\ (((((exists ff_h_pvs_values_secondnegative. ff_h_pvs_values_secondnegative + S (dst_negative_values_second) = S ((S (b)) * dst_negative_scale_values_second)) /\ exists ff_q_pvs_values_secondnegative. dst_negative_code_values_second = ff_q_pvs_values_secondnegative * S ((S (b)) * dst_negative_scale_values_second) + (dst_negative_values_second))) /\ (exists ge_balance_positive_values_secondvalue ge_balance_negative_values_secondvalue. (((((y) = 2 * (ge_balance_positive_values_secondvalue) /\ (ge_balance_negative_values_secondvalue) = 0) \/ exists ge_signed_half_values_secondvaluedecode. (((y) = 2 * ge_signed_half_values_secondvaluedecode + 1 /\ (ge_balance_positive_values_secondvalue) = 0) /\ (ge_balance_negative_values_secondvalue) = S ge_signed_half_values_secondvaluedecode))) /\ ((dst_positive_values_second) + ge_balance_negative_values_secondvalue = (dst_negative_values_second) + ge_balance_positive_values_secondvalue))))))))) /\ (((exists dst_positive_code_values_product dst_positive_scale_values_product dst_negative_code_values_product dst_negative_scale_values_product dst_positive_values_product dst_negative_values_product. (((F) = (((((dst_positive_code_values_product) + (dst_positive_scale_values_product)) * S ((dst_positive_code_values_product) + (dst_positive_scale_values_product)) + ((dst_positive_scale_values_product) + (dst_positive_scale_values_product))) + (((dst_negative_code_values_product) + (dst_negative_scale_values_product)) * S ((dst_negative_code_values_product) + (dst_negative_scale_values_product)) + ((dst_negative_scale_values_product) + (dst_negative_scale_values_product)))) * S ((((dst_positive_code_values_product) + (dst_positive_scale_values_product)) * S ((dst_positive_code_values_product) + (dst_positive_scale_values_product)) + ((dst_positive_scale_values_product) + (dst_positive_scale_values_product))) + (((dst_negative_code_values_product) + (dst_negative_scale_values_product)) * S ((dst_negative_code_values_product) + (dst_negative_scale_values_product)) + ((dst_negative_scale_values_product) + (dst_negative_scale_values_product)))) + ((((dst_negative_code_values_product) + (dst_negative_scale_values_product)) * S ((dst_negative_code_values_product) + (dst_negative_scale_values_product)) + ((dst_negative_scale_values_product) + (dst_negative_scale_values_product))) + (((dst_negative_code_values_product) + (dst_negative_scale_values_product)) * S ((dst_negative_code_values_product) + (dst_negative_scale_values_product)) + ((dst_negative_scale_values_product) + (dst_negative_scale_values_product)))))) /\ (((((exists ff_h_pvs_values_productpositive. ff_h_pvs_values_productpositive + S (dst_positive_values_product) = S ((S (a*b)) * dst_positive_scale_values_product)) /\ exists ff_q_pvs_values_productpositive. dst_positive_code_values_product = ff_q_pvs_values_productpositive * S ((S (a*b)) * dst_positive_scale_values_product) + (dst_positive_values_product))) /\ (((((exists ff_h_pvs_values_productnegative. ff_h_pvs_values_productnegative + S (dst_negative_values_product) = S ((S (a*b)) * dst_negative_scale_values_product)) /\ exists ff_q_pvs_values_productnegative. dst_negative_code_values_product = ff_q_pvs_values_productnegative * S ((S (a*b)) * dst_negative_scale_values_product) + (dst_negative_values_product))) /\ (exists ge_balance_positive_values_productvalue ge_balance_negative_values_productvalue. (((((z) = 2 * (ge_balance_positive_values_productvalue) /\ (ge_balance_negative_values_productvalue) = 0) \/ exists ge_signed_half_values_productvaluedecode. (((z) = 2 * ge_signed_half_values_productvaluedecode + 1 /\ (ge_balance_positive_values_productvalue) = 0) /\ (ge_balance_negative_values_productvalue) = S ge_signed_half_values_productvaluedecode))) /\ ((dst_positive_values_product) + ge_balance_negative_values_productvalue = (dst_negative_values_product) + ge_balance_positive_values_productvalue))))))))) /\ (exists sto_ap_values_law sto_an_values_law sto_bp_values_law sto_bn_values_law sto_cp_values_law sto_cn_values_law. (((((x) = 2 * (sto_ap_values_law) /\ (sto_an_values_law) = 0) \/ exists ge_signed_half_values_lawleft. (((x) = 2 * ge_signed_half_values_lawleft + 1 /\ (sto_ap_values_law) = 0) /\ (sto_an_values_law) = S ge_signed_half_values_lawleft))) /\ ((((((y) = 2 * (sto_bp_values_law) /\ (sto_bn_values_law) = 0) \/ exists ge_signed_half_values_lawright. (((y) = 2 * ge_signed_half_values_lawright + 1 /\ (sto_bp_values_law) = 0) /\ (sto_bn_values_law) = S ge_signed_half_values_lawright))) /\ ((((((z) = 2 * (sto_cp_values_law) /\ (sto_cn_values_law) = 0) \/ exists ge_signed_half_values_lawoutput. (((z) = 2 * ge_signed_half_values_lawoutput + 1 /\ (sto_cp_values_law) = 0) /\ (sto_cn_values_law) = S ge_signed_half_values_lawoutput))) /\ ((sto_ap_values_law * sto_bp_values_law + sto_an_values_law * sto_bn_values_law) + sto_cn_values_law = (sto_ap_values_law * sto_bn_values_law + sto_an_values_law * sto_bp_values_law) + sto_cp_values_law))))))))))))Constructive proof overview
Generated structural guide
Construct all three actual signed values and their multiplication witness; the law is not merely conditional on absent entries.
The unchanged tactic script uses 1 declared prerequisite and contains 55 exact native proof lines.
Alpha v34 checked-use · first admitted v32 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
signed_table_lookup_any Alpha 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–9
02Separate the logical casesL10–12
03Establish hxL13–18
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed table lookup any.
04Separate the logical casesL19–19
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L19
cases hx
05Establish hyL20–25
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed table lookup any.
06Separate the logical casesL26–26
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L26
cases hy
07Establish hzL27–32
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed table lookup any.
08Separate the logical casesL33–33
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L33
cases hz
09Construct an explicit witnessL34–36
10Separate the logical casesL37–37
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L37
split
11Use earlier factsL38–38
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L38
exact hx_witness
12Separate the logical casesL39–39
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L39
split
13Use earlier factsL40–40
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L40
exact hy_witness
14Separate the logical casesL41–41
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L41
split
15Use earlier factsL42–51
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original exact command ledger · 55 lines
- 0001
intro N - 0002
intro F - 0003
intro a - 0004
intro b - 0005
intro hm - 0006
intro ha - 0007
intro hb - 0008
intro hp - 0009
intro hc - 0010
cases hm - 0011
cases hm_right - 0012
cases hm_right_right - 0013
have hx : exists v. (exists dst_positive_code_hxactual dst_positive_scale_hxactual dst_negative_code_hxactual dst_negative_scale_hxactual dst_positive_hxactual dst_negative_hxactual. (((F) = (((((dst_positive_code_hxactual) + (dst_positive_scale_hxactual)) * S ((dst_positive_code_hxactual) + (dst_positive_scale_hxactual)) + ((dst_positive_scale_hxactual) + (dst_positive_scale_hxactual))) + (((dst_negative_code_hxactual) + (dst_negative_scale_hxactual)) * S ((dst_negative_code_hxactual) + (dst_negative_scale_hxactual)) + ((dst_negative_scale_hxactual) + (dst_negative_scale_hxactual)))) * S ((((dst_positive_code_hxactual) + (dst_positive_scale_hxactual)) * S ((dst_positive_code_hxactual) + (dst_positive_scale_hxactual)) + ((dst_positive_scale_hxactual) + (dst_positive_scale_hxactual))) + (((dst_negative_code_hxactual) + (dst_negative_scale_hxactual)) * S ((dst_negative_code_hxactual) + (dst_negative_scale_hxactual)) + ((dst_negative_scale_hxactual) + (dst_negative_scale_hxactual)))) + ((((dst_negative_code_hxactual) + (dst_negative_scale_hxactual)) * S ((dst_negative_code_hxactual) + (dst_negative_scale_hxactual)) + ((dst_negative_scale_hxactual) + (dst_negative_scale_hxactual))) + (((dst_negative_code_hxactual) + (dst_negative_scale_hxactual)) * S ((dst_negative_code_hxactual) + (dst_negative_scale_hxactual)) + ((dst_negative_scale_hxactual) + (dst_negative_scale_hxactual)))))) /\ (((((exists ff_h_pvs_hxactualpositive. ff_h_pvs_hxactualpositive + S (dst_positive_hxactual) = S ((S (a)) * dst_positive_scale_hxactual)) /\ exists ff_q_pvs_hxactualpositive. dst_positive_code_hxactual = ff_q_pvs_hxactualpositive * S ((S (a)) * dst_positive_scale_hxactual) + (dst_positive_hxactual))) /\ (((((exists ff_h_pvs_hxactualnegative. ff_h_pvs_hxactualnegative + S (dst_negative_hxactual) = S ((S (a)) * dst_negative_scale_hxactual)) /\ exists ff_q_pvs_hxactualnegative. dst_negative_code_hxactual = ff_q_pvs_hxactualnegative * S ((S (a)) * dst_negative_scale_hxactual) + (dst_negative_hxactual))) /\ (exists ge_balance_positive_hxactualvalue ge_balance_negative_hxactualvalue. (((((v) = 2 * (ge_balance_positive_hxactualvalue) /\ (ge_balance_negative_hxactualvalue) = 0) \/ exists ge_signed_half_hxactualvaluedecode. (((v) = 2 * ge_signed_half_hxactualvaluedecode + 1 /\ (ge_balance_positive_hxactualvalue) = 0) /\ (ge_balance_negative_hxactualvalue) = S ge_signed_half_hxactualvaluedecode))) /\ ((dst_positive_hxactual) + ge_balance_negative_hxactualvalue = (dst_negative_hxactual) + ge_balance_positive_hxactualvalue))))))))) - 0014
specialize signed_table_lookup_any (N) - 0015
specialize signed_table_lookup_any (F) - 0016
specialize signed_table_lookup_any (a) - 0017
apply signed_table_lookup_any - 0018
exact hm_right_left - 0019
cases hx - 0020
have hy : exists v. (exists dst_positive_code_hyactual dst_positive_scale_hyactual dst_negative_code_hyactual dst_negative_scale_hyactual dst_positive_hyactual dst_negative_hyactual. (((F) = (((((dst_positive_code_hyactual) + (dst_positive_scale_hyactual)) * S ((dst_positive_code_hyactual) + (dst_positive_scale_hyactual)) + ((dst_positive_scale_hyactual) + (dst_positive_scale_hyactual))) + (((dst_negative_code_hyactual) + (dst_negative_scale_hyactual)) * S ((dst_negative_code_hyactual) + (dst_negative_scale_hyactual)) + ((dst_negative_scale_hyactual) + (dst_negative_scale_hyactual)))) * S ((((dst_positive_code_hyactual) + (dst_positive_scale_hyactual)) * S ((dst_positive_code_hyactual) + (dst_positive_scale_hyactual)) + ((dst_positive_scale_hyactual) + (dst_positive_scale_hyactual))) + (((dst_negative_code_hyactual) + (dst_negative_scale_hyactual)) * S ((dst_negative_code_hyactual) + (dst_negative_scale_hyactual)) + ((dst_negative_scale_hyactual) + (dst_negative_scale_hyactual)))) + ((((dst_negative_code_hyactual) + (dst_negative_scale_hyactual)) * S ((dst_negative_code_hyactual) + (dst_negative_scale_hyactual)) + ((dst_negative_scale_hyactual) + (dst_negative_scale_hyactual))) + (((dst_negative_code_hyactual) + (dst_negative_scale_hyactual)) * S ((dst_negative_code_hyactual) + (dst_negative_scale_hyactual)) + ((dst_negative_scale_hyactual) + (dst_negative_scale_hyactual)))))) /\ (((((exists ff_h_pvs_hyactualpositive. ff_h_pvs_hyactualpositive + S (dst_positive_hyactual) = S ((S (b)) * dst_positive_scale_hyactual)) /\ exists ff_q_pvs_hyactualpositive. dst_positive_code_hyactual = ff_q_pvs_hyactualpositive * S ((S (b)) * dst_positive_scale_hyactual) + (dst_positive_hyactual))) /\ (((((exists ff_h_pvs_hyactualnegative. ff_h_pvs_hyactualnegative + S (dst_negative_hyactual) = S ((S (b)) * dst_negative_scale_hyactual)) /\ exists ff_q_pvs_hyactualnegative. dst_negative_code_hyactual = ff_q_pvs_hyactualnegative * S ((S (b)) * dst_negative_scale_hyactual) + (dst_negative_hyactual))) /\ (exists ge_balance_positive_hyactualvalue ge_balance_negative_hyactualvalue. (((((v) = 2 * (ge_balance_positive_hyactualvalue) /\ (ge_balance_negative_hyactualvalue) = 0) \/ exists ge_signed_half_hyactualvaluedecode. (((v) = 2 * ge_signed_half_hyactualvaluedecode + 1 /\ (ge_balance_positive_hyactualvalue) = 0) /\ (ge_balance_negative_hyactualvalue) = S ge_signed_half_hyactualvaluedecode))) /\ ((dst_positive_hyactual) + ge_balance_negative_hyactualvalue = (dst_negative_hyactual) + ge_balance_positive_hyactualvalue))))))))) - 0021
specialize signed_table_lookup_any (N) - 0022
specialize signed_table_lookup_any (F) - 0023
specialize signed_table_lookup_any (b) - 0024
apply signed_table_lookup_any - 0025
exact hm_right_left - 0026
cases hy - 0027
have hz : exists v. (exists dst_positive_code_hzactual dst_positive_scale_hzactual dst_negative_code_hzactual dst_negative_scale_hzactual dst_positive_hzactual dst_negative_hzactual. (((F) = (((((dst_positive_code_hzactual) + (dst_positive_scale_hzactual)) * S ((dst_positive_code_hzactual) + (dst_positive_scale_hzactual)) + ((dst_positive_scale_hzactual) + (dst_positive_scale_hzactual))) + (((dst_negative_code_hzactual) + (dst_negative_scale_hzactual)) * S ((dst_negative_code_hzactual) + (dst_negative_scale_hzactual)) + ((dst_negative_scale_hzactual) + (dst_negative_scale_hzactual)))) * S ((((dst_positive_code_hzactual) + (dst_positive_scale_hzactual)) * S ((dst_positive_code_hzactual) + (dst_positive_scale_hzactual)) + ((dst_positive_scale_hzactual) + (dst_positive_scale_hzactual))) + (((dst_negative_code_hzactual) + (dst_negative_scale_hzactual)) * S ((dst_negative_code_hzactual) + (dst_negative_scale_hzactual)) + ((dst_negative_scale_hzactual) + (dst_negative_scale_hzactual)))) + ((((dst_negative_code_hzactual) + (dst_negative_scale_hzactual)) * S ((dst_negative_code_hzactual) + (dst_negative_scale_hzactual)) + ((dst_negative_scale_hzactual) + (dst_negative_scale_hzactual))) + (((dst_negative_code_hzactual) + (dst_negative_scale_hzactual)) * S ((dst_negative_code_hzactual) + (dst_negative_scale_hzactual)) + ((dst_negative_scale_hzactual) + (dst_negative_scale_hzactual)))))) /\ (((((exists ff_h_pvs_hzactualpositive. ff_h_pvs_hzactualpositive + S (dst_positive_hzactual) = S ((S (a*b)) * dst_positive_scale_hzactual)) /\ exists ff_q_pvs_hzactualpositive. dst_positive_code_hzactual = ff_q_pvs_hzactualpositive * S ((S (a*b)) * dst_positive_scale_hzactual) + (dst_positive_hzactual))) /\ (((((exists ff_h_pvs_hzactualnegative. ff_h_pvs_hzactualnegative + S (dst_negative_hzactual) = S ((S (a*b)) * dst_negative_scale_hzactual)) /\ exists ff_q_pvs_hzactualnegative. dst_negative_code_hzactual = ff_q_pvs_hzactualnegative * S ((S (a*b)) * dst_negative_scale_hzactual) + (dst_negative_hzactual))) /\ (exists ge_balance_positive_hzactualvalue ge_balance_negative_hzactualvalue. (((((v) = 2 * (ge_balance_positive_hzactualvalue) /\ (ge_balance_negative_hzactualvalue) = 0) \/ exists ge_signed_half_hzactualvaluedecode. (((v) = 2 * ge_signed_half_hzactualvaluedecode + 1 /\ (ge_balance_positive_hzactualvalue) = 0) /\ (ge_balance_negative_hzactualvalue) = S ge_signed_half_hzactualvaluedecode))) /\ ((dst_positive_hzactual) + ge_balance_negative_hzactualvalue = (dst_negative_hzactual) + ge_balance_positive_hzactualvalue))))))))) - 0028
specialize signed_table_lookup_any (N) - 0029
specialize signed_table_lookup_any (F) - 0030
specialize signed_table_lookup_any (a*b) - 0031
apply signed_table_lookup_any - 0032
exact hm_right_left - 0033
cases hz - 0034
exists x - 0035
exists x1 - 0036
exists x2 - 0037
split - 0038
exact hx_witness - 0039
split - 0040
exact hy_witness - 0041
split - 0042
exact hz_witness - 0043
specialize hm_right_right_right (a) - 0044
specialize hm_right_right_right (b) - 0045
specialize hm_right_right_right (x) - 0046
specialize hm_right_right_right (x1) - 0047
specialize hm_right_right_right (x2) - 0048
apply hm_right_right_right - 0049
exact ha - 0050
exact hb - 0051
exact hp - 0052
exact hc - 0053
exact hx_witness - 0054
exact hy_witness - 0055
exact hz_witness