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 H K n d a b. ~(n=0) -> (forall dm_index_source_equal_left dm_first_value_source_equal_left dm_second_value_source_equal_left. ~(dm_index_source_equal_left=0) -> (exists pvs_le_gap_source_equal_leftdomain. pvs_le_gap_source_equal_leftdomain + (dm_index_source_equal_left) = (n)) -> (exists dst_positive_code_source_equal_leftfirst dst_positive_scale_source_equal_leftfirst dst_negative_code_source_equal_leftfirst dst_negative_scale_source_equal_leftfirst dst_positive_source_equal_leftfirst dst_negative_source_equal_leftfirst. (((F) = (((((dst_positive_code_source_equal_leftfirst) + (dst_positive_scale_source_equal_leftfirst)) * S ((dst_positive_code_source_equal_leftfirst) + (dst_positive_scale_source_equal_leftfirst)) + ((dst_positive_scale_source_equal_leftfirst) + (dst_positive_scale_source_equal_leftfirst))) + (((dst_negative_code_source_equal_leftfirst) + (dst_negative_scale_source_equal_leftfirst)) * S ((dst_negative_code_source_equal_leftfirst) + (dst_negative_scale_source_equal_leftfirst)) + ((dst_negative_scale_source_equal_leftfirst) + (dst_negative_scale_source_equal_leftfirst)))) * S ((((dst_positive_code_source_equal_leftfirst) + (dst_positive_scale_source_equal_leftfirst)) * S ((dst_positive_code_source_equal_leftfirst) + (dst_positive_scale_source_equal_leftfirst)) + ((dst_positive_scale_source_equal_leftfirst) + (dst_positive_scale_source_equal_leftfirst))) + (((dst_negative_code_source_equal_leftfirst) + (dst_negative_scale_source_equal_leftfirst)) * S ((dst_negative_code_source_equal_leftfirst) + (dst_negative_scale_source_equal_leftfirst)) + ((dst_negative_scale_source_equal_leftfirst) + (dst_negative_scale_source_equal_leftfirst)))) + ((((dst_negative_code_source_equal_leftfirst) + (dst_negative_scale_source_equal_leftfirst)) * S ((dst_negative_code_source_equal_leftfirst) + (dst_negative_scale_source_equal_leftfirst)) + ((dst_negative_scale_source_equal_leftfirst) + (dst_negative_scale_source_equal_leftfirst))) + (((dst_negative_code_source_equal_leftfirst) + (dst_negative_scale_source_equal_leftfirst)) * S ((dst_negative_code_source_equal_leftfirst) + (dst_negative_scale_source_equal_leftfirst)) + ((dst_negative_scale_source_equal_leftfirst) + (dst_negative_scale_source_equal_leftfirst)))))) /\ (((((exists ff_h_pvs_source_equal_leftfirstpositive. ff_h_pvs_source_equal_leftfirstpositive + S (dst_positive_source_equal_leftfirst) = S ((S (dm_index_source_equal_left)) * dst_positive_scale_source_equal_leftfirst)) /\ exists ff_q_pvs_source_equal_leftfirstpositive. dst_positive_code_source_equal_leftfirst = ff_q_pvs_source_equal_leftfirstpositive * S ((S (dm_index_source_equal_left)) * dst_positive_scale_source_equal_leftfirst) + (dst_positive_source_equal_leftfirst))) /\ (((((exists ff_h_pvs_source_equal_leftfirstnegative. ff_h_pvs_source_equal_leftfirstnegative + S (dst_negative_source_equal_leftfirst) = S ((S (dm_index_source_equal_left)) * dst_negative_scale_source_equal_leftfirst)) /\ exists ff_q_pvs_source_equal_leftfirstnegative. dst_negative_code_source_equal_leftfirst = ff_q_pvs_source_equal_leftfirstnegative * S ((S (dm_index_source_equal_left)) * dst_negative_scale_source_equal_leftfirst) + (dst_negative_source_equal_leftfirst))) /\ (exists ge_balance_positive_source_equal_leftfirstvalue ge_balance_negative_source_equal_leftfirstvalue. (((((dm_first_value_source_equal_left) = 2 * (ge_balance_positive_source_equal_leftfirstvalue) /\ (ge_balance_negative_source_equal_leftfirstvalue) = 0) \/ exists ge_signed_half_source_equal_leftfirstvaluedecode. (((dm_first_value_source_equal_left) = 2 * ge_signed_half_source_equal_leftfirstvaluedecode + 1 /\ (ge_balance_positive_source_equal_leftfirstvalue) = 0) /\ (ge_balance_negative_source_equal_leftfirstvalue) = S ge_signed_half_source_equal_leftfirstvaluedecode))) /\ ((dst_positive_source_equal_leftfirst) + ge_balance_negative_source_equal_leftfirstvalue = (dst_negative_source_equal_leftfirst) + ge_balance_positive_source_equal_leftfirstvalue))))))))) -> (exists dst_positive_code_source_equal_leftsecond dst_positive_scale_source_equal_leftsecond dst_negative_code_source_equal_leftsecond dst_negative_scale_source_equal_leftsecond dst_positive_source_equal_leftsecond dst_negative_source_equal_leftsecond. (((H) = (((((dst_positive_code_source_equal_leftsecond) + (dst_positive_scale_source_equal_leftsecond)) * S ((dst_positive_code_source_equal_leftsecond) + (dst_positive_scale_source_equal_leftsecond)) + ((dst_positive_scale_source_equal_leftsecond) + (dst_positive_scale_source_equal_leftsecond))) + (((dst_negative_code_source_equal_leftsecond) + (dst_negative_scale_source_equal_leftsecond)) * S ((dst_negative_code_source_equal_leftsecond) + (dst_negative_scale_source_equal_leftsecond)) + ((dst_negative_scale_source_equal_leftsecond) + (dst_negative_scale_source_equal_leftsecond)))) * S ((((dst_positive_code_source_equal_leftsecond) + (dst_positive_scale_source_equal_leftsecond)) * S ((dst_positive_code_source_equal_leftsecond) + (dst_positive_scale_source_equal_leftsecond)) + ((dst_positive_scale_source_equal_leftsecond) + (dst_positive_scale_source_equal_leftsecond))) + (((dst_negative_code_source_equal_leftsecond) + (dst_negative_scale_source_equal_leftsecond)) * S ((dst_negative_code_source_equal_leftsecond) + (dst_negative_scale_source_equal_leftsecond)) + ((dst_negative_scale_source_equal_leftsecond) + (dst_negative_scale_source_equal_leftsecond)))) + ((((dst_negative_code_source_equal_leftsecond) + (dst_negative_scale_source_equal_leftsecond)) * S ((dst_negative_code_source_equal_leftsecond) + (dst_negative_scale_source_equal_leftsecond)) + ((dst_negative_scale_source_equal_leftsecond) + (dst_negative_scale_source_equal_leftsecond))) + (((dst_negative_code_source_equal_leftsecond) + (dst_negative_scale_source_equal_leftsecond)) * S ((dst_negative_code_source_equal_leftsecond) + (dst_negative_scale_source_equal_leftsecond)) + ((dst_negative_scale_source_equal_leftsecond) + (dst_negative_scale_source_equal_leftsecond)))))) /\ (((((exists ff_h_pvs_source_equal_leftsecondpositive. ff_h_pvs_source_equal_leftsecondpositive + S (dst_positive_source_equal_leftsecond) = S ((S (dm_index_source_equal_left)) * dst_positive_scale_source_equal_leftsecond)) /\ exists ff_q_pvs_source_equal_leftsecondpositive. dst_positive_code_source_equal_leftsecond = ff_q_pvs_source_equal_leftsecondpositive * S ((S (dm_index_source_equal_left)) * dst_positive_scale_source_equal_leftsecond) + (dst_positive_source_equal_leftsecond))) /\ (((((exists ff_h_pvs_source_equal_leftsecondnegative. ff_h_pvs_source_equal_leftsecondnegative + S (dst_negative_source_equal_leftsecond) = S ((S (dm_index_source_equal_left)) * dst_negative_scale_source_equal_leftsecond)) /\ exists ff_q_pvs_source_equal_leftsecondnegative. dst_negative_code_source_equal_leftsecond = ff_q_pvs_source_equal_leftsecondnegative * S ((S (dm_index_source_equal_left)) * dst_negative_scale_source_equal_leftsecond) + (dst_negative_source_equal_leftsecond))) /\ (exists ge_balance_positive_source_equal_leftsecondvalue ge_balance_negative_source_equal_leftsecondvalue. (((((dm_second_value_source_equal_left) = 2 * (ge_balance_positive_source_equal_leftsecondvalue) /\ (ge_balance_negative_source_equal_leftsecondvalue) = 0) \/ exists ge_signed_half_source_equal_leftsecondvaluedecode. (((dm_second_value_source_equal_left) = 2 * ge_signed_half_source_equal_leftsecondvaluedecode + 1 /\ (ge_balance_positive_source_equal_leftsecondvalue) = 0) /\ (ge_balance_negative_source_equal_leftsecondvalue) = S ge_signed_half_source_equal_leftsecondvaluedecode))) /\ ((dst_positive_source_equal_leftsecond) + ge_balance_negative_source_equal_leftsecondvalue = (dst_negative_source_equal_leftsecond) + ge_balance_positive_source_equal_leftsecondvalue))))))))) -> dm_first_value_source_equal_left=dm_second_value_source_equal_left) -> (forall dm_index_source_equal_right dm_first_value_source_equal_right dm_second_value_source_equal_right. ~(dm_index_source_equal_right=0) -> (exists pvs_le_gap_source_equal_rightdomain. pvs_le_gap_source_equal_rightdomain + (dm_index_source_equal_right) = (n)) -> (exists dst_positive_code_source_equal_rightfirst dst_positive_scale_source_equal_rightfirst dst_negative_code_source_equal_rightfirst dst_negative_scale_source_equal_rightfirst dst_positive_source_equal_rightfirst dst_negative_source_equal_rightfirst. (((G) = (((((dst_positive_code_source_equal_rightfirst) + (dst_positive_scale_source_equal_rightfirst)) * S ((dst_positive_code_source_equal_rightfirst) + (dst_positive_scale_source_equal_rightfirst)) + ((dst_positive_scale_source_equal_rightfirst) + (dst_positive_scale_source_equal_rightfirst))) + (((dst_negative_code_source_equal_rightfirst) + (dst_negative_scale_source_equal_rightfirst)) * S ((dst_negative_code_source_equal_rightfirst) + (dst_negative_scale_source_equal_rightfirst)) + ((dst_negative_scale_source_equal_rightfirst) + (dst_negative_scale_source_equal_rightfirst)))) * S ((((dst_positive_code_source_equal_rightfirst) + (dst_positive_scale_source_equal_rightfirst)) * S ((dst_positive_code_source_equal_rightfirst) + (dst_positive_scale_source_equal_rightfirst)) + ((dst_positive_scale_source_equal_rightfirst) + (dst_positive_scale_source_equal_rightfirst))) + (((dst_negative_code_source_equal_rightfirst) + (dst_negative_scale_source_equal_rightfirst)) * S ((dst_negative_code_source_equal_rightfirst) + (dst_negative_scale_source_equal_rightfirst)) + ((dst_negative_scale_source_equal_rightfirst) + (dst_negative_scale_source_equal_rightfirst)))) + ((((dst_negative_code_source_equal_rightfirst) + (dst_negative_scale_source_equal_rightfirst)) * S ((dst_negative_code_source_equal_rightfirst) + (dst_negative_scale_source_equal_rightfirst)) + ((dst_negative_scale_source_equal_rightfirst) + (dst_negative_scale_source_equal_rightfirst))) + (((dst_negative_code_source_equal_rightfirst) + (dst_negative_scale_source_equal_rightfirst)) * S ((dst_negative_code_source_equal_rightfirst) + (dst_negative_scale_source_equal_rightfirst)) + ((dst_negative_scale_source_equal_rightfirst) + (dst_negative_scale_source_equal_rightfirst)))))) /\ (((((exists ff_h_pvs_source_equal_rightfirstpositive. ff_h_pvs_source_equal_rightfirstpositive + S (dst_positive_source_equal_rightfirst) = S ((S (dm_index_source_equal_right)) * dst_positive_scale_source_equal_rightfirst)) /\ exists ff_q_pvs_source_equal_rightfirstpositive. dst_positive_code_source_equal_rightfirst = ff_q_pvs_source_equal_rightfirstpositive * S ((S (dm_index_source_equal_right)) * dst_positive_scale_source_equal_rightfirst) + (dst_positive_source_equal_rightfirst))) /\ (((((exists ff_h_pvs_source_equal_rightfirstnegative. ff_h_pvs_source_equal_rightfirstnegative + S (dst_negative_source_equal_rightfirst) = S ((S (dm_index_source_equal_right)) * dst_negative_scale_source_equal_rightfirst)) /\ exists ff_q_pvs_source_equal_rightfirstnegative. dst_negative_code_source_equal_rightfirst = ff_q_pvs_source_equal_rightfirstnegative * S ((S (dm_index_source_equal_right)) * dst_negative_scale_source_equal_rightfirst) + (dst_negative_source_equal_rightfirst))) /\ (exists ge_balance_positive_source_equal_rightfirstvalue ge_balance_negative_source_equal_rightfirstvalue. (((((dm_first_value_source_equal_right) = 2 * (ge_balance_positive_source_equal_rightfirstvalue) /\ (ge_balance_negative_source_equal_rightfirstvalue) = 0) \/ exists ge_signed_half_source_equal_rightfirstvaluedecode. (((dm_first_value_source_equal_right) = 2 * ge_signed_half_source_equal_rightfirstvaluedecode + 1 /\ (ge_balance_positive_source_equal_rightfirstvalue) = 0) /\ (ge_balance_negative_source_equal_rightfirstvalue) = S ge_signed_half_source_equal_rightfirstvaluedecode))) /\ ((dst_positive_source_equal_rightfirst) + ge_balance_negative_source_equal_rightfirstvalue = (dst_negative_source_equal_rightfirst) + ge_balance_positive_source_equal_rightfirstvalue))))))))) -> (exists dst_positive_code_source_equal_rightsecond dst_positive_scale_source_equal_rightsecond dst_negative_code_source_equal_rightsecond dst_negative_scale_source_equal_rightsecond dst_positive_source_equal_rightsecond dst_negative_source_equal_rightsecond. (((K) = (((((dst_positive_code_source_equal_rightsecond) + (dst_positive_scale_source_equal_rightsecond)) * S ((dst_positive_code_source_equal_rightsecond) + (dst_positive_scale_source_equal_rightsecond)) + ((dst_positive_scale_source_equal_rightsecond) + (dst_positive_scale_source_equal_rightsecond))) + (((dst_negative_code_source_equal_rightsecond) + (dst_negative_scale_source_equal_rightsecond)) * S ((dst_negative_code_source_equal_rightsecond) + (dst_negative_scale_source_equal_rightsecond)) + ((dst_negative_scale_source_equal_rightsecond) + (dst_negative_scale_source_equal_rightsecond)))) * S ((((dst_positive_code_source_equal_rightsecond) + (dst_positive_scale_source_equal_rightsecond)) * S ((dst_positive_code_source_equal_rightsecond) + (dst_positive_scale_source_equal_rightsecond)) + ((dst_positive_scale_source_equal_rightsecond) + (dst_positive_scale_source_equal_rightsecond))) + (((dst_negative_code_source_equal_rightsecond) + (dst_negative_scale_source_equal_rightsecond)) * S ((dst_negative_code_source_equal_rightsecond) + (dst_negative_scale_source_equal_rightsecond)) + ((dst_negative_scale_source_equal_rightsecond) + (dst_negative_scale_source_equal_rightsecond)))) + ((((dst_negative_code_source_equal_rightsecond) + (dst_negative_scale_source_equal_rightsecond)) * S ((dst_negative_code_source_equal_rightsecond) + (dst_negative_scale_source_equal_rightsecond)) + ((dst_negative_scale_source_equal_rightsecond) + (dst_negative_scale_source_equal_rightsecond))) + (((dst_negative_code_source_equal_rightsecond) + (dst_negative_scale_source_equal_rightsecond)) * S ((dst_negative_code_source_equal_rightsecond) + (dst_negative_scale_source_equal_rightsecond)) + ((dst_negative_scale_source_equal_rightsecond) + (dst_negative_scale_source_equal_rightsecond)))))) /\ (((((exists ff_h_pvs_source_equal_rightsecondpositive. ff_h_pvs_source_equal_rightsecondpositive + S (dst_positive_source_equal_rightsecond) = S ((S (dm_index_source_equal_right)) * dst_positive_scale_source_equal_rightsecond)) /\ exists ff_q_pvs_source_equal_rightsecondpositive. dst_positive_code_source_equal_rightsecond = ff_q_pvs_source_equal_rightsecondpositive * S ((S (dm_index_source_equal_right)) * dst_positive_scale_source_equal_rightsecond) + (dst_positive_source_equal_rightsecond))) /\ (((((exists ff_h_pvs_source_equal_rightsecondnegative. ff_h_pvs_source_equal_rightsecondnegative + S (dst_negative_source_equal_rightsecond) = S ((S (dm_index_source_equal_right)) * dst_negative_scale_source_equal_rightsecond)) /\ exists ff_q_pvs_source_equal_rightsecondnegative. dst_negative_code_source_equal_rightsecond = ff_q_pvs_source_equal_rightsecondnegative * S ((S (dm_index_source_equal_right)) * dst_negative_scale_source_equal_rightsecond) + (dst_negative_source_equal_rightsecond))) /\ (exists ge_balance_positive_source_equal_rightsecondvalue ge_balance_negative_source_equal_rightsecondvalue. (((((dm_second_value_source_equal_right) = 2 * (ge_balance_positive_source_equal_rightsecondvalue) /\ (ge_balance_negative_source_equal_rightsecondvalue) = 0) \/ exists ge_signed_half_source_equal_rightsecondvaluedecode. (((dm_second_value_source_equal_right) = 2 * ge_signed_half_source_equal_rightsecondvaluedecode + 1 /\ (ge_balance_positive_source_equal_rightsecondvalue) = 0) /\ (ge_balance_negative_source_equal_rightsecondvalue) = S ge_signed_half_source_equal_rightsecondvaluedecode))) /\ ((dst_positive_source_equal_rightsecond) + ge_balance_negative_source_equal_rightsecondvalue = (dst_negative_source_equal_rightsecond) + ge_balance_positive_source_equal_rightsecondvalue))))))))) -> dm_first_value_source_equal_right=dm_second_value_source_equal_right) -> (exists pvs_le_gap_source_index_bound. pvs_le_gap_source_index_bound + (d) = (n)) -> ((((~((d)=0)) /\ (exists dc_quotient_source_entry_first dc_left_source_entry_first dc_right_source_entry_first. (((n)=(d)*dc_quotient_source_entry_first) /\ (((exists dst_positive_code_source_entry_firstleft dst_positive_scale_source_entry_firstleft dst_negative_code_source_entry_firstleft dst_negative_scale_source_entry_firstleft dst_positive_source_entry_firstleft dst_negative_source_entry_firstleft. (((F) = (((((dst_positive_code_source_entry_firstleft) + (dst_positive_scale_source_entry_firstleft)) * S ((dst_positive_code_source_entry_firstleft) + (dst_positive_scale_source_entry_firstleft)) + ((dst_positive_scale_source_entry_firstleft) + (dst_positive_scale_source_entry_firstleft))) + (((dst_negative_code_source_entry_firstleft) + (dst_negative_scale_source_entry_firstleft)) * S ((dst_negative_code_source_entry_firstleft) + (dst_negative_scale_source_entry_firstleft)) + ((dst_negative_scale_source_entry_firstleft) + (dst_negative_scale_source_entry_firstleft)))) * S ((((dst_positive_code_source_entry_firstleft) + (dst_positive_scale_source_entry_firstleft)) * S ((dst_positive_code_source_entry_firstleft) + (dst_positive_scale_source_entry_firstleft)) + ((dst_positive_scale_source_entry_firstleft) + (dst_positive_scale_source_entry_firstleft))) + (((dst_negative_code_source_entry_firstleft) + (dst_negative_scale_source_entry_firstleft)) * S ((dst_negative_code_source_entry_firstleft) + (dst_negative_scale_source_entry_firstleft)) + ((dst_negative_scale_source_entry_firstleft) + (dst_negative_scale_source_entry_firstleft)))) + ((((dst_negative_code_source_entry_firstleft) + (dst_negative_scale_source_entry_firstleft)) * S ((dst_negative_code_source_entry_firstleft) + (dst_negative_scale_source_entry_firstleft)) + ((dst_negative_scale_source_entry_firstleft) + (dst_negative_scale_source_entry_firstleft))) + (((dst_negative_code_source_entry_firstleft) + (dst_negative_scale_source_entry_firstleft)) * S ((dst_negative_code_source_entry_firstleft) + (dst_negative_scale_source_entry_firstleft)) + ((dst_negative_scale_source_entry_firstleft) + (dst_negative_scale_source_entry_firstleft)))))) /\ (((((exists ff_h_pvs_source_entry_firstleftpositive. ff_h_pvs_source_entry_firstleftpositive + S (dst_positive_source_entry_firstleft) = S ((S (d)) * dst_positive_scale_source_entry_firstleft)) /\ exists ff_q_pvs_source_entry_firstleftpositive. dst_positive_code_source_entry_firstleft = ff_q_pvs_source_entry_firstleftpositive * S ((S (d)) * dst_positive_scale_source_entry_firstleft) + (dst_positive_source_entry_firstleft))) /\ (((((exists ff_h_pvs_source_entry_firstleftnegative. ff_h_pvs_source_entry_firstleftnegative + S (dst_negative_source_entry_firstleft) = S ((S (d)) * dst_negative_scale_source_entry_firstleft)) /\ exists ff_q_pvs_source_entry_firstleftnegative. dst_negative_code_source_entry_firstleft = ff_q_pvs_source_entry_firstleftnegative * S ((S (d)) * dst_negative_scale_source_entry_firstleft) + (dst_negative_source_entry_firstleft))) /\ (exists ge_balance_positive_source_entry_firstleftvalue ge_balance_negative_source_entry_firstleftvalue. (((((dc_left_source_entry_first) = 2 * (ge_balance_positive_source_entry_firstleftvalue) /\ (ge_balance_negative_source_entry_firstleftvalue) = 0) \/ exists ge_signed_half_source_entry_firstleftvaluedecode. (((dc_left_source_entry_first) = 2 * ge_signed_half_source_entry_firstleftvaluedecode + 1 /\ (ge_balance_positive_source_entry_firstleftvalue) = 0) /\ (ge_balance_negative_source_entry_firstleftvalue) = S ge_signed_half_source_entry_firstleftvaluedecode))) /\ ((dst_positive_source_entry_firstleft) + ge_balance_negative_source_entry_firstleftvalue = (dst_negative_source_entry_firstleft) + ge_balance_positive_source_entry_firstleftvalue))))))))) /\ (((exists dst_positive_code_source_entry_firstright dst_positive_scale_source_entry_firstright dst_negative_code_source_entry_firstright dst_negative_scale_source_entry_firstright dst_positive_source_entry_firstright dst_negative_source_entry_firstright. (((G) = (((((dst_positive_code_source_entry_firstright) + (dst_positive_scale_source_entry_firstright)) * S ((dst_positive_code_source_entry_firstright) + (dst_positive_scale_source_entry_firstright)) + ((dst_positive_scale_source_entry_firstright) + (dst_positive_scale_source_entry_firstright))) + (((dst_negative_code_source_entry_firstright) + (dst_negative_scale_source_entry_firstright)) * S ((dst_negative_code_source_entry_firstright) + (dst_negative_scale_source_entry_firstright)) + ((dst_negative_scale_source_entry_firstright) + (dst_negative_scale_source_entry_firstright)))) * S ((((dst_positive_code_source_entry_firstright) + (dst_positive_scale_source_entry_firstright)) * S ((dst_positive_code_source_entry_firstright) + (dst_positive_scale_source_entry_firstright)) + ((dst_positive_scale_source_entry_firstright) + (dst_positive_scale_source_entry_firstright))) + (((dst_negative_code_source_entry_firstright) + (dst_negative_scale_source_entry_firstright)) * S ((dst_negative_code_source_entry_firstright) + (dst_negative_scale_source_entry_firstright)) + ((dst_negative_scale_source_entry_firstright) + (dst_negative_scale_source_entry_firstright)))) + ((((dst_negative_code_source_entry_firstright) + (dst_negative_scale_source_entry_firstright)) * S ((dst_negative_code_source_entry_firstright) + (dst_negative_scale_source_entry_firstright)) + ((dst_negative_scale_source_entry_firstright) + (dst_negative_scale_source_entry_firstright))) + (((dst_negative_code_source_entry_firstright) + (dst_negative_scale_source_entry_firstright)) * S ((dst_negative_code_source_entry_firstright) + (dst_negative_scale_source_entry_firstright)) + ((dst_negative_scale_source_entry_firstright) + (dst_negative_scale_source_entry_firstright)))))) /\ (((((exists ff_h_pvs_source_entry_firstrightpositive. ff_h_pvs_source_entry_firstrightpositive + S (dst_positive_source_entry_firstright) = S ((S (dc_quotient_source_entry_first)) * dst_positive_scale_source_entry_firstright)) /\ exists ff_q_pvs_source_entry_firstrightpositive. dst_positive_code_source_entry_firstright = ff_q_pvs_source_entry_firstrightpositive * S ((S (dc_quotient_source_entry_first)) * dst_positive_scale_source_entry_firstright) + (dst_positive_source_entry_firstright))) /\ (((((exists ff_h_pvs_source_entry_firstrightnegative. ff_h_pvs_source_entry_firstrightnegative + S (dst_negative_source_entry_firstright) = S ((S (dc_quotient_source_entry_first)) * dst_negative_scale_source_entry_firstright)) /\ exists ff_q_pvs_source_entry_firstrightnegative. dst_negative_code_source_entry_firstright = ff_q_pvs_source_entry_firstrightnegative * S ((S (dc_quotient_source_entry_first)) * dst_negative_scale_source_entry_firstright) + (dst_negative_source_entry_firstright))) /\ (exists ge_balance_positive_source_entry_firstrightvalue ge_balance_negative_source_entry_firstrightvalue. (((((dc_right_source_entry_first) = 2 * (ge_balance_positive_source_entry_firstrightvalue) /\ (ge_balance_negative_source_entry_firstrightvalue) = 0) \/ exists ge_signed_half_source_entry_firstrightvaluedecode. (((dc_right_source_entry_first) = 2 * ge_signed_half_source_entry_firstrightvaluedecode + 1 /\ (ge_balance_positive_source_entry_firstrightvalue) = 0) /\ (ge_balance_negative_source_entry_firstrightvalue) = S ge_signed_half_source_entry_firstrightvaluedecode))) /\ ((dst_positive_source_entry_firstright) + ge_balance_negative_source_entry_firstrightvalue = (dst_negative_source_entry_firstright) + ge_balance_positive_source_entry_firstrightvalue))))))))) /\ (exists sto_ap_source_entry_firstproduct sto_an_source_entry_firstproduct sto_bp_source_entry_firstproduct sto_bn_source_entry_firstproduct sto_cp_source_entry_firstproduct sto_cn_source_entry_firstproduct. (((((dc_left_source_entry_first) = 2 * (sto_ap_source_entry_firstproduct) /\ (sto_an_source_entry_firstproduct) = 0) \/ exists ge_signed_half_source_entry_firstproductleft. (((dc_left_source_entry_first) = 2 * ge_signed_half_source_entry_firstproductleft + 1 /\ (sto_ap_source_entry_firstproduct) = 0) /\ (sto_an_source_entry_firstproduct) = S ge_signed_half_source_entry_firstproductleft))) /\ ((((((dc_right_source_entry_first) = 2 * (sto_bp_source_entry_firstproduct) /\ (sto_bn_source_entry_firstproduct) = 0) \/ exists ge_signed_half_source_entry_firstproductright. (((dc_right_source_entry_first) = 2 * ge_signed_half_source_entry_firstproductright + 1 /\ (sto_bp_source_entry_firstproduct) = 0) /\ (sto_bn_source_entry_firstproduct) = S ge_signed_half_source_entry_firstproductright))) /\ ((((((a) = 2 * (sto_cp_source_entry_firstproduct) /\ (sto_cn_source_entry_firstproduct) = 0) \/ exists ge_signed_half_source_entry_firstproductoutput. (((a) = 2 * ge_signed_half_source_entry_firstproductoutput + 1 /\ (sto_cp_source_entry_firstproduct) = 0) /\ (sto_cn_source_entry_firstproduct) = S ge_signed_half_source_entry_firstproductoutput))) /\ ((sto_ap_source_entry_firstproduct * sto_bp_source_entry_firstproduct + sto_an_source_entry_firstproduct * sto_bn_source_entry_firstproduct) + sto_cn_source_entry_firstproduct = (sto_ap_source_entry_firstproduct * sto_bn_source_entry_firstproduct + sto_an_source_entry_firstproduct * sto_bp_source_entry_firstproduct) + sto_cp_source_entry_firstproduct))))))))))))))) \/ ((((d)=0 \/ ~(exists pvs_factor_source_entry_firstnondivisor. (n) = (d) * pvs_factor_source_entry_firstnondivisor)) /\ ((a)=0)))) -> ((((~((d)=0)) /\ (exists dc_quotient_source_entry_second dc_left_source_entry_second dc_right_source_entry_second. (((n)=(d)*dc_quotient_source_entry_second) /\ (((exists dst_positive_code_source_entry_secondleft dst_positive_scale_source_entry_secondleft dst_negative_code_source_entry_secondleft dst_negative_scale_source_entry_secondleft dst_positive_source_entry_secondleft dst_negative_source_entry_secondleft. (((H) = (((((dst_positive_code_source_entry_secondleft) + (dst_positive_scale_source_entry_secondleft)) * S ((dst_positive_code_source_entry_secondleft) + (dst_positive_scale_source_entry_secondleft)) + ((dst_positive_scale_source_entry_secondleft) + (dst_positive_scale_source_entry_secondleft))) + (((dst_negative_code_source_entry_secondleft) + (dst_negative_scale_source_entry_secondleft)) * S ((dst_negative_code_source_entry_secondleft) + (dst_negative_scale_source_entry_secondleft)) + ((dst_negative_scale_source_entry_secondleft) + (dst_negative_scale_source_entry_secondleft)))) * S ((((dst_positive_code_source_entry_secondleft) + (dst_positive_scale_source_entry_secondleft)) * S ((dst_positive_code_source_entry_secondleft) + (dst_positive_scale_source_entry_secondleft)) + ((dst_positive_scale_source_entry_secondleft) + (dst_positive_scale_source_entry_secondleft))) + (((dst_negative_code_source_entry_secondleft) + (dst_negative_scale_source_entry_secondleft)) * S ((dst_negative_code_source_entry_secondleft) + (dst_negative_scale_source_entry_secondleft)) + ((dst_negative_scale_source_entry_secondleft) + (dst_negative_scale_source_entry_secondleft)))) + ((((dst_negative_code_source_entry_secondleft) + (dst_negative_scale_source_entry_secondleft)) * S ((dst_negative_code_source_entry_secondleft) + (dst_negative_scale_source_entry_secondleft)) + ((dst_negative_scale_source_entry_secondleft) + (dst_negative_scale_source_entry_secondleft))) + (((dst_negative_code_source_entry_secondleft) + (dst_negative_scale_source_entry_secondleft)) * S ((dst_negative_code_source_entry_secondleft) + (dst_negative_scale_source_entry_secondleft)) + ((dst_negative_scale_source_entry_secondleft) + (dst_negative_scale_source_entry_secondleft)))))) /\ (((((exists ff_h_pvs_source_entry_secondleftpositive. ff_h_pvs_source_entry_secondleftpositive + S (dst_positive_source_entry_secondleft) = S ((S (d)) * dst_positive_scale_source_entry_secondleft)) /\ exists ff_q_pvs_source_entry_secondleftpositive. dst_positive_code_source_entry_secondleft = ff_q_pvs_source_entry_secondleftpositive * S ((S (d)) * dst_positive_scale_source_entry_secondleft) + (dst_positive_source_entry_secondleft))) /\ (((((exists ff_h_pvs_source_entry_secondleftnegative. ff_h_pvs_source_entry_secondleftnegative + S (dst_negative_source_entry_secondleft) = S ((S (d)) * dst_negative_scale_source_entry_secondleft)) /\ exists ff_q_pvs_source_entry_secondleftnegative. dst_negative_code_source_entry_secondleft = ff_q_pvs_source_entry_secondleftnegative * S ((S (d)) * dst_negative_scale_source_entry_secondleft) + (dst_negative_source_entry_secondleft))) /\ (exists ge_balance_positive_source_entry_secondleftvalue ge_balance_negative_source_entry_secondleftvalue. (((((dc_left_source_entry_second) = 2 * (ge_balance_positive_source_entry_secondleftvalue) /\ (ge_balance_negative_source_entry_secondleftvalue) = 0) \/ exists ge_signed_half_source_entry_secondleftvaluedecode. (((dc_left_source_entry_second) = 2 * ge_signed_half_source_entry_secondleftvaluedecode + 1 /\ (ge_balance_positive_source_entry_secondleftvalue) = 0) /\ (ge_balance_negative_source_entry_secondleftvalue) = S ge_signed_half_source_entry_secondleftvaluedecode))) /\ ((dst_positive_source_entry_secondleft) + ge_balance_negative_source_entry_secondleftvalue = (dst_negative_source_entry_secondleft) + ge_balance_positive_source_entry_secondleftvalue))))))))) /\ (((exists dst_positive_code_source_entry_secondright dst_positive_scale_source_entry_secondright dst_negative_code_source_entry_secondright dst_negative_scale_source_entry_secondright dst_positive_source_entry_secondright dst_negative_source_entry_secondright. (((K) = (((((dst_positive_code_source_entry_secondright) + (dst_positive_scale_source_entry_secondright)) * S ((dst_positive_code_source_entry_secondright) + (dst_positive_scale_source_entry_secondright)) + ((dst_positive_scale_source_entry_secondright) + (dst_positive_scale_source_entry_secondright))) + (((dst_negative_code_source_entry_secondright) + (dst_negative_scale_source_entry_secondright)) * S ((dst_negative_code_source_entry_secondright) + (dst_negative_scale_source_entry_secondright)) + ((dst_negative_scale_source_entry_secondright) + (dst_negative_scale_source_entry_secondright)))) * S ((((dst_positive_code_source_entry_secondright) + (dst_positive_scale_source_entry_secondright)) * S ((dst_positive_code_source_entry_secondright) + (dst_positive_scale_source_entry_secondright)) + ((dst_positive_scale_source_entry_secondright) + (dst_positive_scale_source_entry_secondright))) + (((dst_negative_code_source_entry_secondright) + (dst_negative_scale_source_entry_secondright)) * S ((dst_negative_code_source_entry_secondright) + (dst_negative_scale_source_entry_secondright)) + ((dst_negative_scale_source_entry_secondright) + (dst_negative_scale_source_entry_secondright)))) + ((((dst_negative_code_source_entry_secondright) + (dst_negative_scale_source_entry_secondright)) * S ((dst_negative_code_source_entry_secondright) + (dst_negative_scale_source_entry_secondright)) + ((dst_negative_scale_source_entry_secondright) + (dst_negative_scale_source_entry_secondright))) + (((dst_negative_code_source_entry_secondright) + (dst_negative_scale_source_entry_secondright)) * S ((dst_negative_code_source_entry_secondright) + (dst_negative_scale_source_entry_secondright)) + ((dst_negative_scale_source_entry_secondright) + (dst_negative_scale_source_entry_secondright)))))) /\ (((((exists ff_h_pvs_source_entry_secondrightpositive. ff_h_pvs_source_entry_secondrightpositive + S (dst_positive_source_entry_secondright) = S ((S (dc_quotient_source_entry_second)) * dst_positive_scale_source_entry_secondright)) /\ exists ff_q_pvs_source_entry_secondrightpositive. dst_positive_code_source_entry_secondright = ff_q_pvs_source_entry_secondrightpositive * S ((S (dc_quotient_source_entry_second)) * dst_positive_scale_source_entry_secondright) + (dst_positive_source_entry_secondright))) /\ (((((exists ff_h_pvs_source_entry_secondrightnegative. ff_h_pvs_source_entry_secondrightnegative + S (dst_negative_source_entry_secondright) = S ((S (dc_quotient_source_entry_second)) * dst_negative_scale_source_entry_secondright)) /\ exists ff_q_pvs_source_entry_secondrightnegative. dst_negative_code_source_entry_secondright = ff_q_pvs_source_entry_secondrightnegative * S ((S (dc_quotient_source_entry_second)) * dst_negative_scale_source_entry_secondright) + (dst_negative_source_entry_secondright))) /\ (exists ge_balance_positive_source_entry_secondrightvalue ge_balance_negative_source_entry_secondrightvalue. (((((dc_right_source_entry_second) = 2 * (ge_balance_positive_source_entry_secondrightvalue) /\ (ge_balance_negative_source_entry_secondrightvalue) = 0) \/ exists ge_signed_half_source_entry_secondrightvaluedecode. (((dc_right_source_entry_second) = 2 * ge_signed_half_source_entry_secondrightvaluedecode + 1 /\ (ge_balance_positive_source_entry_secondrightvalue) = 0) /\ (ge_balance_negative_source_entry_secondrightvalue) = S ge_signed_half_source_entry_secondrightvaluedecode))) /\ ((dst_positive_source_entry_secondright) + ge_balance_negative_source_entry_secondrightvalue = (dst_negative_source_entry_secondright) + ge_balance_positive_source_entry_secondrightvalue))))))))) /\ (exists sto_ap_source_entry_secondproduct sto_an_source_entry_secondproduct sto_bp_source_entry_secondproduct sto_bn_source_entry_secondproduct sto_cp_source_entry_secondproduct sto_cn_source_entry_secondproduct. (((((dc_left_source_entry_second) = 2 * (sto_ap_source_entry_secondproduct) /\ (sto_an_source_entry_secondproduct) = 0) \/ exists ge_signed_half_source_entry_secondproductleft. (((dc_left_source_entry_second) = 2 * ge_signed_half_source_entry_secondproductleft + 1 /\ (sto_ap_source_entry_secondproduct) = 0) /\ (sto_an_source_entry_secondproduct) = S ge_signed_half_source_entry_secondproductleft))) /\ ((((((dc_right_source_entry_second) = 2 * (sto_bp_source_entry_secondproduct) /\ (sto_bn_source_entry_secondproduct) = 0) \/ exists ge_signed_half_source_entry_secondproductright. (((dc_right_source_entry_second) = 2 * ge_signed_half_source_entry_secondproductright + 1 /\ (sto_bp_source_entry_secondproduct) = 0) /\ (sto_bn_source_entry_secondproduct) = S ge_signed_half_source_entry_secondproductright))) /\ ((((((b) = 2 * (sto_cp_source_entry_secondproduct) /\ (sto_cn_source_entry_secondproduct) = 0) \/ exists ge_signed_half_source_entry_secondproductoutput. (((b) = 2 * ge_signed_half_source_entry_secondproductoutput + 1 /\ (sto_cp_source_entry_secondproduct) = 0) /\ (sto_cn_source_entry_secondproduct) = S ge_signed_half_source_entry_secondproductoutput))) /\ ((sto_ap_source_entry_secondproduct * sto_bp_source_entry_secondproduct + sto_an_source_entry_secondproduct * sto_bn_source_entry_secondproduct) + sto_cn_source_entry_secondproduct = (sto_ap_source_entry_secondproduct * sto_bn_source_entry_secondproduct + sto_an_source_entry_secondproduct * sto_bp_source_entry_secondproduct) + sto_cp_source_entry_secondproduct))))))))))))))) \/ ((((d)=0 \/ ~(exists pvs_factor_source_entry_secondnondivisor. (n) = (d) * pvs_factor_source_entry_secondnondivisor)) /\ ((b)=0)))) -> a=bConstructive proof overview
Generated structural guide
Only positive in-domain source values matter: a genuine quotient is proved positive and bounded before either source equality is applied.
The unchanged tactic script uses 5 declared prerequisites and contains 120 exact native proof lines.
Alpha v34 checked-use · first admitted v31 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
mul_left_cancel_nonzero Stable theorem; checked-use authorized factor_nonzero_right Alpha theorem; checked-use authorized divisor_le_nonzero Stable theorem; checked-use authorized mul_comm Stable theorem; checked-use authorized signed_mul_functional 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–10
02Fix variables and assumptionsL11–14
03Separate the logical casesL15–24
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L15
cases ha - L16
cases ha_left - L17
cases ha_left_right - L18
cases ha_left_right_witness - L19
cases ha_left_right_witness_witness - L20
cases ha_left_right_witness_witness_witness - L21
cases ha_left_right_witness_witness_witness_right - L22
cases ha_left_right_witness_witness_witness_right_right - L23
cases hb - L24
cases hb_left
04Separate the logical casesL25–30
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
05Establish heqqL31–40
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul left cancel nonzero.
- L31
have heqq : x3=x - L32
specialize mul_left_cancel_nonzero (d) - L33
specialize mul_left_cancel_nonzero (x3) - L34
specialize mul_left_cancel_nonzero (x) - L35
apply mul_left_cancel_nonzero - L36
exact ha_left_left - L37
trans n - L38
symm - L39
exact hb_left_right_witness_witness_witness_left - L40
exact ha_left_right_witness_witness_witness_left
06Calculate and transport equalitiesL41–44
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
07Establish hqpositiveL45–53
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply factor nonzero right.
08Establish hqboundL54–58
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor le nonzero.
09Construct an explicit witnessL59–59
Supply the displayed value, then prove that it has the required property.
- L59
exists d
10Calculate and transport equalitiesL60–60
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L60
trans d*x
11Use earlier factsL61–62
12Establish heqaL63–71
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hF.
13Establish heqbL72–81
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hG.
- L72
have heqb : x2=x5 - L73
specialize hG (x) - L74
specialize hG (x2) - L75
specialize hG (x5) - L76
apply hG - L77
exact hqpositive - L78
exact hqbound - L79
exact ha_left_right_witness_witness_witness_right_right_left - L80
exact hb_left_right_witness_witness_witness_right_right_left - L81
rewrite heqa at ha_left_right_witness_witness_witness_right_right_right
14Calculate and transport equalitiesL82–84
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
15Use earlier factsL85–91
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L85
specialize signed_mul_functional (x4) - L86
specialize signed_mul_functional (x5) - L87
specialize signed_mul_functional (a) - L88
specialize signed_mul_functional (b) - L89
apply signed_mul_functional - L90
exact ha_left_right_witness_witness_witness_right_right_right - L91
exact hb_left_right_witness_witness_witness_right_right_right
16Separate the logical casesL92–94
17Use earlier factsL95–97
18Construct an explicit witnessL98–98
Supply the displayed value, then prove that it has the required property.
- L98
exists x
19Use earlier factsL99–99
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L99
exact ha_left_right_witness_witness_witness_left
20Separate the logical casesL100–109
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L100
cases ha_right - L101
cases hb - L102
cases hb_left - L103
cases hb_left_right - L104
cases hb_left_right_witness - L105
cases hb_left_right_witness_witness - L106
cases hb_left_right_witness_witness_witness - L107
cases hb_left_right_witness_witness_witness_right - L108
cases hb_left_right_witness_witness_witness_right_right - L109
exfalso
21Separate the logical casesL110–110
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L110
cases ha_right_left
22Use earlier factsL111–113
23Construct an explicit witnessL114–114
Supply the displayed value, then prove that it has the required property.
- L114
exists x
24Use earlier factsL115–115
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L115
exact hb_left_right_witness_witness_witness_left
25Separate the logical casesL116–116
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L116
cases hb_right
26Calculate and transport equalitiesL117–117
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L117
trans 0
27Use earlier factsL118–118
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L118
exact ha_right_right
28Calculate and transport equalitiesL119–119
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L119
symm
29Use earlier factsL120–120
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L120
exact hb_right_right
Original exact command ledger · 120 lines
- 0001
intro F - 0002
intro G - 0003
intro H - 0004
intro K - 0005
intro n - 0006
intro d - 0007
intro a - 0008
intro b - 0009
intro hn - 0010
intro hF - 0011
intro hG - 0012
intro hd - 0013
intro ha - 0014
intro hb - 0015
cases ha - 0016
cases ha_left - 0017
cases ha_left_right - 0018
cases ha_left_right_witness - 0019
cases ha_left_right_witness_witness - 0020
cases ha_left_right_witness_witness_witness - 0021
cases ha_left_right_witness_witness_witness_right - 0022
cases ha_left_right_witness_witness_witness_right_right - 0023
cases hb - 0024
cases hb_left - 0025
cases hb_left_right - 0026
cases hb_left_right_witness - 0027
cases hb_left_right_witness_witness - 0028
cases hb_left_right_witness_witness_witness - 0029
cases hb_left_right_witness_witness_witness_right - 0030
cases hb_left_right_witness_witness_witness_right_right - 0031
have heqq : x3=x - 0032
specialize mul_left_cancel_nonzero (d) - 0033
specialize mul_left_cancel_nonzero (x3) - 0034
specialize mul_left_cancel_nonzero (x) - 0035
apply mul_left_cancel_nonzero - 0036
exact ha_left_left - 0037
trans n - 0038
symm - 0039
exact hb_left_right_witness_witness_witness_left - 0040
exact ha_left_right_witness_witness_witness_left - 0041
rewrite heqq at hb_left_right_witness_witness_witness_right_right_left - 0042
rewrite heqq at hb_left_right_witness_witness_witness_right_right_left - 0043
rewrite heqq at hb_left_right_witness_witness_witness_right_right_left - 0044
rewrite heqq at hb_left_right_witness_witness_witness_right_right_left - 0045
have hqpositive : ~(x=0) - 0046
intro hxzero - 0047
specialize factor_nonzero_right (n) - 0048
specialize factor_nonzero_right (d) - 0049
specialize factor_nonzero_right (x) - 0050
apply factor_nonzero_right - 0051
exact hn - 0052
exact ha_left_right_witness_witness_witness_left - 0053
exact hxzero - 0054
have hqbound : exists pvs_le_gap_source_quotient_bound. pvs_le_gap_source_quotient_bound + (x) = (n) - 0055
specialize divisor_le_nonzero (x) - 0056
specialize divisor_le_nonzero (n) - 0057
apply divisor_le_nonzero - 0058
exact hn - 0059
exists d - 0060
trans d*x - 0061
exact ha_left_right_witness_witness_witness_left - 0062
apply mul_comm - 0063
have heqa : x1=x4 - 0064
specialize hF (d) - 0065
specialize hF (x1) - 0066
specialize hF (x4) - 0067
apply hF - 0068
exact ha_left_left - 0069
exact hd - 0070
exact ha_left_right_witness_witness_witness_right_left - 0071
exact hb_left_right_witness_witness_witness_right_left - 0072
have heqb : x2=x5 - 0073
specialize hG (x) - 0074
specialize hG (x2) - 0075
specialize hG (x5) - 0076
apply hG - 0077
exact hqpositive - 0078
exact hqbound - 0079
exact ha_left_right_witness_witness_witness_right_right_left - 0080
exact hb_left_right_witness_witness_witness_right_right_left - 0081
rewrite heqa at ha_left_right_witness_witness_witness_right_right_right - 0082
rewrite heqa at ha_left_right_witness_witness_witness_right_right_right - 0083
rewrite heqb at ha_left_right_witness_witness_witness_right_right_right - 0084
rewrite heqb at ha_left_right_witness_witness_witness_right_right_right - 0085
specialize signed_mul_functional (x4) - 0086
specialize signed_mul_functional (x5) - 0087
specialize signed_mul_functional (a) - 0088
specialize signed_mul_functional (b) - 0089
apply signed_mul_functional - 0090
exact ha_left_right_witness_witness_witness_right_right_right - 0091
exact hb_left_right_witness_witness_witness_right_right_right - 0092
cases hb_right - 0093
exfalso - 0094
cases hb_right_left - 0095
apply ha_left_left - 0096
exact hb_right_left_left - 0097
apply hb_right_left_right - 0098
exists x - 0099
exact ha_left_right_witness_witness_witness_left - 0100
cases ha_right - 0101
cases hb - 0102
cases hb_left - 0103
cases hb_left_right - 0104
cases hb_left_right_witness - 0105
cases hb_left_right_witness_witness - 0106
cases hb_left_right_witness_witness_witness - 0107
cases hb_left_right_witness_witness_witness_right - 0108
cases hb_left_right_witness_witness_witness_right_right - 0109
exfalso - 0110
cases ha_right_left - 0111
apply hb_left_left - 0112
exact ha_right_left_left - 0113
apply ha_right_left_right - 0114
exists x - 0115
exact hb_left_right_witness_witness_witness_left - 0116
cases hb_right - 0117
trans 0 - 0118
exact ha_right_right - 0119
symm - 0120
exact hb_right_right