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 original first-admission records.
Exact expanded first-order arithmetic statement
forall d a z. (exists gr_quotient_transitive_first. (exists ge_first_rp_transitive_firstproduct ge_first_rn_transitive_firstproduct ge_first_ip_transitive_firstproduct ge_first_in_transitive_firstproduct ge_second_rp_transitive_firstproduct ge_second_rn_transitive_firstproduct ge_second_ip_transitive_firstproduct ge_second_in_transitive_firstproduct. ((exists ge_representation_real_code_transitive_firstproductfirst ge_representation_imaginary_code_transitive_firstproductfirst. (((d) = ((ge_representation_real_code_transitive_firstproductfirst) + (ge_representation_imaginary_code_transitive_firstproductfirst)) * S ((ge_representation_real_code_transitive_firstproductfirst) + (ge_representation_imaginary_code_transitive_firstproductfirst)) + ((ge_representation_imaginary_code_transitive_firstproductfirst) + (ge_representation_imaginary_code_transitive_firstproductfirst))) /\ ((exists ge_balance_positive_transitive_firstproductfirstreal ge_balance_negative_transitive_firstproductfirstreal. (((((ge_representation_real_code_transitive_firstproductfirst) = 2 * (ge_balance_positive_transitive_firstproductfirstreal) /\ (ge_balance_negative_transitive_firstproductfirstreal) = 0) \/ exists ge_signed_half_transitive_firstproductfirstrealdecode. (((ge_representation_real_code_transitive_firstproductfirst) = 2 * ge_signed_half_transitive_firstproductfirstrealdecode + 1 /\ (ge_balance_positive_transitive_firstproductfirstreal) = 0) /\ (ge_balance_negative_transitive_firstproductfirstreal) = S ge_signed_half_transitive_firstproductfirstrealdecode))) /\ ((ge_first_rp_transitive_firstproduct) + ge_balance_negative_transitive_firstproductfirstreal = (ge_first_rn_transitive_firstproduct) + ge_balance_positive_transitive_firstproductfirstreal))) /\ (exists ge_balance_positive_transitive_firstproductfirstimaginary ge_balance_negative_transitive_firstproductfirstimaginary. (((((ge_representation_imaginary_code_transitive_firstproductfirst) = 2 * (ge_balance_positive_transitive_firstproductfirstimaginary) /\ (ge_balance_negative_transitive_firstproductfirstimaginary) = 0) \/ exists ge_signed_half_transitive_firstproductfirstimaginarydecode. (((ge_representation_imaginary_code_transitive_firstproductfirst) = 2 * ge_signed_half_transitive_firstproductfirstimaginarydecode + 1 /\ (ge_balance_positive_transitive_firstproductfirstimaginary) = 0) /\ (ge_balance_negative_transitive_firstproductfirstimaginary) = S ge_signed_half_transitive_firstproductfirstimaginarydecode))) /\ ((ge_first_ip_transitive_firstproduct) + ge_balance_negative_transitive_firstproductfirstimaginary = (ge_first_in_transitive_firstproduct) + ge_balance_positive_transitive_firstproductfirstimaginary)))))) /\ ((exists ge_representation_real_code_transitive_firstproductsecond ge_representation_imaginary_code_transitive_firstproductsecond. (((gr_quotient_transitive_first) = ((ge_representation_real_code_transitive_firstproductsecond) + (ge_representation_imaginary_code_transitive_firstproductsecond)) * S ((ge_representation_real_code_transitive_firstproductsecond) + (ge_representation_imaginary_code_transitive_firstproductsecond)) + ((ge_representation_imaginary_code_transitive_firstproductsecond) + (ge_representation_imaginary_code_transitive_firstproductsecond))) /\ ((exists ge_balance_positive_transitive_firstproductsecondreal ge_balance_negative_transitive_firstproductsecondreal. (((((ge_representation_real_code_transitive_firstproductsecond) = 2 * (ge_balance_positive_transitive_firstproductsecondreal) /\ (ge_balance_negative_transitive_firstproductsecondreal) = 0) \/ exists ge_signed_half_transitive_firstproductsecondrealdecode. (((ge_representation_real_code_transitive_firstproductsecond) = 2 * ge_signed_half_transitive_firstproductsecondrealdecode + 1 /\ (ge_balance_positive_transitive_firstproductsecondreal) = 0) /\ (ge_balance_negative_transitive_firstproductsecondreal) = S ge_signed_half_transitive_firstproductsecondrealdecode))) /\ ((ge_second_rp_transitive_firstproduct) + ge_balance_negative_transitive_firstproductsecondreal = (ge_second_rn_transitive_firstproduct) + ge_balance_positive_transitive_firstproductsecondreal))) /\ (exists ge_balance_positive_transitive_firstproductsecondimaginary ge_balance_negative_transitive_firstproductsecondimaginary. (((((ge_representation_imaginary_code_transitive_firstproductsecond) = 2 * (ge_balance_positive_transitive_firstproductsecondimaginary) /\ (ge_balance_negative_transitive_firstproductsecondimaginary) = 0) \/ exists ge_signed_half_transitive_firstproductsecondimaginarydecode. (((ge_representation_imaginary_code_transitive_firstproductsecond) = 2 * ge_signed_half_transitive_firstproductsecondimaginarydecode + 1 /\ (ge_balance_positive_transitive_firstproductsecondimaginary) = 0) /\ (ge_balance_negative_transitive_firstproductsecondimaginary) = S ge_signed_half_transitive_firstproductsecondimaginarydecode))) /\ ((ge_second_ip_transitive_firstproduct) + ge_balance_negative_transitive_firstproductsecondimaginary = (ge_second_in_transitive_firstproduct) + ge_balance_positive_transitive_firstproductsecondimaginary)))))) /\ (exists ge_representation_real_code_transitive_firstproductoutput ge_representation_imaginary_code_transitive_firstproductoutput. (((a) = ((ge_representation_real_code_transitive_firstproductoutput) + (ge_representation_imaginary_code_transitive_firstproductoutput)) * S ((ge_representation_real_code_transitive_firstproductoutput) + (ge_representation_imaginary_code_transitive_firstproductoutput)) + ((ge_representation_imaginary_code_transitive_firstproductoutput) + (ge_representation_imaginary_code_transitive_firstproductoutput))) /\ ((exists ge_balance_positive_transitive_firstproductoutputreal ge_balance_negative_transitive_firstproductoutputreal. (((((ge_representation_real_code_transitive_firstproductoutput) = 2 * (ge_balance_positive_transitive_firstproductoutputreal) /\ (ge_balance_negative_transitive_firstproductoutputreal) = 0) \/ exists ge_signed_half_transitive_firstproductoutputrealdecode. (((ge_representation_real_code_transitive_firstproductoutput) = 2 * ge_signed_half_transitive_firstproductoutputrealdecode + 1 /\ (ge_balance_positive_transitive_firstproductoutputreal) = 0) /\ (ge_balance_negative_transitive_firstproductoutputreal) = S ge_signed_half_transitive_firstproductoutputrealdecode))) /\ ((((((((ge_first_rp_transitive_firstproduct) * (ge_second_rp_transitive_firstproduct))) + (((ge_first_rn_transitive_firstproduct) * (ge_second_rn_transitive_firstproduct))))) + (((((ge_first_ip_transitive_firstproduct) * (ge_second_in_transitive_firstproduct))) + (((ge_first_in_transitive_firstproduct) * (ge_second_ip_transitive_firstproduct))))))) + ge_balance_negative_transitive_firstproductoutputreal = (((((((ge_first_rp_transitive_firstproduct) * (ge_second_rn_transitive_firstproduct))) + (((ge_first_rn_transitive_firstproduct) * (ge_second_rp_transitive_firstproduct))))) + (((((ge_first_ip_transitive_firstproduct) * (ge_second_ip_transitive_firstproduct))) + (((ge_first_in_transitive_firstproduct) * (ge_second_in_transitive_firstproduct))))))) + ge_balance_positive_transitive_firstproductoutputreal))) /\ (exists ge_balance_positive_transitive_firstproductoutputimaginary ge_balance_negative_transitive_firstproductoutputimaginary. (((((ge_representation_imaginary_code_transitive_firstproductoutput) = 2 * (ge_balance_positive_transitive_firstproductoutputimaginary) /\ (ge_balance_negative_transitive_firstproductoutputimaginary) = 0) \/ exists ge_signed_half_transitive_firstproductoutputimaginarydecode. (((ge_representation_imaginary_code_transitive_firstproductoutput) = 2 * ge_signed_half_transitive_firstproductoutputimaginarydecode + 1 /\ (ge_balance_positive_transitive_firstproductoutputimaginary) = 0) /\ (ge_balance_negative_transitive_firstproductoutputimaginary) = S ge_signed_half_transitive_firstproductoutputimaginarydecode))) /\ ((((((((ge_first_rp_transitive_firstproduct) * (ge_second_ip_transitive_firstproduct))) + (((ge_first_rn_transitive_firstproduct) * (ge_second_in_transitive_firstproduct))))) + (((((ge_first_ip_transitive_firstproduct) * (ge_second_rp_transitive_firstproduct))) + (((ge_first_in_transitive_firstproduct) * (ge_second_rn_transitive_firstproduct))))))) + ge_balance_negative_transitive_firstproductoutputimaginary = (((((((ge_first_rp_transitive_firstproduct) * (ge_second_in_transitive_firstproduct))) + (((ge_first_rn_transitive_firstproduct) * (ge_second_ip_transitive_firstproduct))))) + (((((ge_first_ip_transitive_firstproduct) * (ge_second_rn_transitive_firstproduct))) + (((ge_first_in_transitive_firstproduct) * (ge_second_rp_transitive_firstproduct))))))) + ge_balance_positive_transitive_firstproductoutputimaginary)))))))))) -> (exists gr_quotient_transitive_second. (exists ge_first_rp_transitive_secondproduct ge_first_rn_transitive_secondproduct ge_first_ip_transitive_secondproduct ge_first_in_transitive_secondproduct ge_second_rp_transitive_secondproduct ge_second_rn_transitive_secondproduct ge_second_ip_transitive_secondproduct ge_second_in_transitive_secondproduct. ((exists ge_representation_real_code_transitive_secondproductfirst ge_representation_imaginary_code_transitive_secondproductfirst. (((a) = ((ge_representation_real_code_transitive_secondproductfirst) + (ge_representation_imaginary_code_transitive_secondproductfirst)) * S ((ge_representation_real_code_transitive_secondproductfirst) + (ge_representation_imaginary_code_transitive_secondproductfirst)) + ((ge_representation_imaginary_code_transitive_secondproductfirst) + (ge_representation_imaginary_code_transitive_secondproductfirst))) /\ ((exists ge_balance_positive_transitive_secondproductfirstreal ge_balance_negative_transitive_secondproductfirstreal. (((((ge_representation_real_code_transitive_secondproductfirst) = 2 * (ge_balance_positive_transitive_secondproductfirstreal) /\ (ge_balance_negative_transitive_secondproductfirstreal) = 0) \/ exists ge_signed_half_transitive_secondproductfirstrealdecode. (((ge_representation_real_code_transitive_secondproductfirst) = 2 * ge_signed_half_transitive_secondproductfirstrealdecode + 1 /\ (ge_balance_positive_transitive_secondproductfirstreal) = 0) /\ (ge_balance_negative_transitive_secondproductfirstreal) = S ge_signed_half_transitive_secondproductfirstrealdecode))) /\ ((ge_first_rp_transitive_secondproduct) + ge_balance_negative_transitive_secondproductfirstreal = (ge_first_rn_transitive_secondproduct) + ge_balance_positive_transitive_secondproductfirstreal))) /\ (exists ge_balance_positive_transitive_secondproductfirstimaginary ge_balance_negative_transitive_secondproductfirstimaginary. (((((ge_representation_imaginary_code_transitive_secondproductfirst) = 2 * (ge_balance_positive_transitive_secondproductfirstimaginary) /\ (ge_balance_negative_transitive_secondproductfirstimaginary) = 0) \/ exists ge_signed_half_transitive_secondproductfirstimaginarydecode. (((ge_representation_imaginary_code_transitive_secondproductfirst) = 2 * ge_signed_half_transitive_secondproductfirstimaginarydecode + 1 /\ (ge_balance_positive_transitive_secondproductfirstimaginary) = 0) /\ (ge_balance_negative_transitive_secondproductfirstimaginary) = S ge_signed_half_transitive_secondproductfirstimaginarydecode))) /\ ((ge_first_ip_transitive_secondproduct) + ge_balance_negative_transitive_secondproductfirstimaginary = (ge_first_in_transitive_secondproduct) + ge_balance_positive_transitive_secondproductfirstimaginary)))))) /\ ((exists ge_representation_real_code_transitive_secondproductsecond ge_representation_imaginary_code_transitive_secondproductsecond. (((gr_quotient_transitive_second) = ((ge_representation_real_code_transitive_secondproductsecond) + (ge_representation_imaginary_code_transitive_secondproductsecond)) * S ((ge_representation_real_code_transitive_secondproductsecond) + (ge_representation_imaginary_code_transitive_secondproductsecond)) + ((ge_representation_imaginary_code_transitive_secondproductsecond) + (ge_representation_imaginary_code_transitive_secondproductsecond))) /\ ((exists ge_balance_positive_transitive_secondproductsecondreal ge_balance_negative_transitive_secondproductsecondreal. (((((ge_representation_real_code_transitive_secondproductsecond) = 2 * (ge_balance_positive_transitive_secondproductsecondreal) /\ (ge_balance_negative_transitive_secondproductsecondreal) = 0) \/ exists ge_signed_half_transitive_secondproductsecondrealdecode. (((ge_representation_real_code_transitive_secondproductsecond) = 2 * ge_signed_half_transitive_secondproductsecondrealdecode + 1 /\ (ge_balance_positive_transitive_secondproductsecondreal) = 0) /\ (ge_balance_negative_transitive_secondproductsecondreal) = S ge_signed_half_transitive_secondproductsecondrealdecode))) /\ ((ge_second_rp_transitive_secondproduct) + ge_balance_negative_transitive_secondproductsecondreal = (ge_second_rn_transitive_secondproduct) + ge_balance_positive_transitive_secondproductsecondreal))) /\ (exists ge_balance_positive_transitive_secondproductsecondimaginary ge_balance_negative_transitive_secondproductsecondimaginary. (((((ge_representation_imaginary_code_transitive_secondproductsecond) = 2 * (ge_balance_positive_transitive_secondproductsecondimaginary) /\ (ge_balance_negative_transitive_secondproductsecondimaginary) = 0) \/ exists ge_signed_half_transitive_secondproductsecondimaginarydecode. (((ge_representation_imaginary_code_transitive_secondproductsecond) = 2 * ge_signed_half_transitive_secondproductsecondimaginarydecode + 1 /\ (ge_balance_positive_transitive_secondproductsecondimaginary) = 0) /\ (ge_balance_negative_transitive_secondproductsecondimaginary) = S ge_signed_half_transitive_secondproductsecondimaginarydecode))) /\ ((ge_second_ip_transitive_secondproduct) + ge_balance_negative_transitive_secondproductsecondimaginary = (ge_second_in_transitive_secondproduct) + ge_balance_positive_transitive_secondproductsecondimaginary)))))) /\ (exists ge_representation_real_code_transitive_secondproductoutput ge_representation_imaginary_code_transitive_secondproductoutput. (((z) = ((ge_representation_real_code_transitive_secondproductoutput) + (ge_representation_imaginary_code_transitive_secondproductoutput)) * S ((ge_representation_real_code_transitive_secondproductoutput) + (ge_representation_imaginary_code_transitive_secondproductoutput)) + ((ge_representation_imaginary_code_transitive_secondproductoutput) + (ge_representation_imaginary_code_transitive_secondproductoutput))) /\ ((exists ge_balance_positive_transitive_secondproductoutputreal ge_balance_negative_transitive_secondproductoutputreal. (((((ge_representation_real_code_transitive_secondproductoutput) = 2 * (ge_balance_positive_transitive_secondproductoutputreal) /\ (ge_balance_negative_transitive_secondproductoutputreal) = 0) \/ exists ge_signed_half_transitive_secondproductoutputrealdecode. (((ge_representation_real_code_transitive_secondproductoutput) = 2 * ge_signed_half_transitive_secondproductoutputrealdecode + 1 /\ (ge_balance_positive_transitive_secondproductoutputreal) = 0) /\ (ge_balance_negative_transitive_secondproductoutputreal) = S ge_signed_half_transitive_secondproductoutputrealdecode))) /\ ((((((((ge_first_rp_transitive_secondproduct) * (ge_second_rp_transitive_secondproduct))) + (((ge_first_rn_transitive_secondproduct) * (ge_second_rn_transitive_secondproduct))))) + (((((ge_first_ip_transitive_secondproduct) * (ge_second_in_transitive_secondproduct))) + (((ge_first_in_transitive_secondproduct) * (ge_second_ip_transitive_secondproduct))))))) + ge_balance_negative_transitive_secondproductoutputreal = (((((((ge_first_rp_transitive_secondproduct) * (ge_second_rn_transitive_secondproduct))) + (((ge_first_rn_transitive_secondproduct) * (ge_second_rp_transitive_secondproduct))))) + (((((ge_first_ip_transitive_secondproduct) * (ge_second_ip_transitive_secondproduct))) + (((ge_first_in_transitive_secondproduct) * (ge_second_in_transitive_secondproduct))))))) + ge_balance_positive_transitive_secondproductoutputreal))) /\ (exists ge_balance_positive_transitive_secondproductoutputimaginary ge_balance_negative_transitive_secondproductoutputimaginary. (((((ge_representation_imaginary_code_transitive_secondproductoutput) = 2 * (ge_balance_positive_transitive_secondproductoutputimaginary) /\ (ge_balance_negative_transitive_secondproductoutputimaginary) = 0) \/ exists ge_signed_half_transitive_secondproductoutputimaginarydecode. (((ge_representation_imaginary_code_transitive_secondproductoutput) = 2 * ge_signed_half_transitive_secondproductoutputimaginarydecode + 1 /\ (ge_balance_positive_transitive_secondproductoutputimaginary) = 0) /\ (ge_balance_negative_transitive_secondproductoutputimaginary) = S ge_signed_half_transitive_secondproductoutputimaginarydecode))) /\ ((((((((ge_first_rp_transitive_secondproduct) * (ge_second_ip_transitive_secondproduct))) + (((ge_first_rn_transitive_secondproduct) * (ge_second_in_transitive_secondproduct))))) + (((((ge_first_ip_transitive_secondproduct) * (ge_second_rp_transitive_secondproduct))) + (((ge_first_in_transitive_secondproduct) * (ge_second_rn_transitive_secondproduct))))))) + ge_balance_negative_transitive_secondproductoutputimaginary = (((((((ge_first_rp_transitive_secondproduct) * (ge_second_in_transitive_secondproduct))) + (((ge_first_rn_transitive_secondproduct) * (ge_second_ip_transitive_secondproduct))))) + (((((ge_first_ip_transitive_secondproduct) * (ge_second_rn_transitive_secondproduct))) + (((ge_first_in_transitive_secondproduct) * (ge_second_rp_transitive_secondproduct))))))) + ge_balance_positive_transitive_secondproductoutputimaginary)))))))))) -> (exists gr_quotient_transitive_result. (exists ge_first_rp_transitive_resultproduct ge_first_rn_transitive_resultproduct ge_first_ip_transitive_resultproduct ge_first_in_transitive_resultproduct ge_second_rp_transitive_resultproduct ge_second_rn_transitive_resultproduct ge_second_ip_transitive_resultproduct ge_second_in_transitive_resultproduct. ((exists ge_representation_real_code_transitive_resultproductfirst ge_representation_imaginary_code_transitive_resultproductfirst. (((d) = ((ge_representation_real_code_transitive_resultproductfirst) + (ge_representation_imaginary_code_transitive_resultproductfirst)) * S ((ge_representation_real_code_transitive_resultproductfirst) + (ge_representation_imaginary_code_transitive_resultproductfirst)) + ((ge_representation_imaginary_code_transitive_resultproductfirst) + (ge_representation_imaginary_code_transitive_resultproductfirst))) /\ ((exists ge_balance_positive_transitive_resultproductfirstreal ge_balance_negative_transitive_resultproductfirstreal. (((((ge_representation_real_code_transitive_resultproductfirst) = 2 * (ge_balance_positive_transitive_resultproductfirstreal) /\ (ge_balance_negative_transitive_resultproductfirstreal) = 0) \/ exists ge_signed_half_transitive_resultproductfirstrealdecode. (((ge_representation_real_code_transitive_resultproductfirst) = 2 * ge_signed_half_transitive_resultproductfirstrealdecode + 1 /\ (ge_balance_positive_transitive_resultproductfirstreal) = 0) /\ (ge_balance_negative_transitive_resultproductfirstreal) = S ge_signed_half_transitive_resultproductfirstrealdecode))) /\ ((ge_first_rp_transitive_resultproduct) + ge_balance_negative_transitive_resultproductfirstreal = (ge_first_rn_transitive_resultproduct) + ge_balance_positive_transitive_resultproductfirstreal))) /\ (exists ge_balance_positive_transitive_resultproductfirstimaginary ge_balance_negative_transitive_resultproductfirstimaginary. (((((ge_representation_imaginary_code_transitive_resultproductfirst) = 2 * (ge_balance_positive_transitive_resultproductfirstimaginary) /\ (ge_balance_negative_transitive_resultproductfirstimaginary) = 0) \/ exists ge_signed_half_transitive_resultproductfirstimaginarydecode. (((ge_representation_imaginary_code_transitive_resultproductfirst) = 2 * ge_signed_half_transitive_resultproductfirstimaginarydecode + 1 /\ (ge_balance_positive_transitive_resultproductfirstimaginary) = 0) /\ (ge_balance_negative_transitive_resultproductfirstimaginary) = S ge_signed_half_transitive_resultproductfirstimaginarydecode))) /\ ((ge_first_ip_transitive_resultproduct) + ge_balance_negative_transitive_resultproductfirstimaginary = (ge_first_in_transitive_resultproduct) + ge_balance_positive_transitive_resultproductfirstimaginary)))))) /\ ((exists ge_representation_real_code_transitive_resultproductsecond ge_representation_imaginary_code_transitive_resultproductsecond. (((gr_quotient_transitive_result) = ((ge_representation_real_code_transitive_resultproductsecond) + (ge_representation_imaginary_code_transitive_resultproductsecond)) * S ((ge_representation_real_code_transitive_resultproductsecond) + (ge_representation_imaginary_code_transitive_resultproductsecond)) + ((ge_representation_imaginary_code_transitive_resultproductsecond) + (ge_representation_imaginary_code_transitive_resultproductsecond))) /\ ((exists ge_balance_positive_transitive_resultproductsecondreal ge_balance_negative_transitive_resultproductsecondreal. (((((ge_representation_real_code_transitive_resultproductsecond) = 2 * (ge_balance_positive_transitive_resultproductsecondreal) /\ (ge_balance_negative_transitive_resultproductsecondreal) = 0) \/ exists ge_signed_half_transitive_resultproductsecondrealdecode. (((ge_representation_real_code_transitive_resultproductsecond) = 2 * ge_signed_half_transitive_resultproductsecondrealdecode + 1 /\ (ge_balance_positive_transitive_resultproductsecondreal) = 0) /\ (ge_balance_negative_transitive_resultproductsecondreal) = S ge_signed_half_transitive_resultproductsecondrealdecode))) /\ ((ge_second_rp_transitive_resultproduct) + ge_balance_negative_transitive_resultproductsecondreal = (ge_second_rn_transitive_resultproduct) + ge_balance_positive_transitive_resultproductsecondreal))) /\ (exists ge_balance_positive_transitive_resultproductsecondimaginary ge_balance_negative_transitive_resultproductsecondimaginary. (((((ge_representation_imaginary_code_transitive_resultproductsecond) = 2 * (ge_balance_positive_transitive_resultproductsecondimaginary) /\ (ge_balance_negative_transitive_resultproductsecondimaginary) = 0) \/ exists ge_signed_half_transitive_resultproductsecondimaginarydecode. (((ge_representation_imaginary_code_transitive_resultproductsecond) = 2 * ge_signed_half_transitive_resultproductsecondimaginarydecode + 1 /\ (ge_balance_positive_transitive_resultproductsecondimaginary) = 0) /\ (ge_balance_negative_transitive_resultproductsecondimaginary) = S ge_signed_half_transitive_resultproductsecondimaginarydecode))) /\ ((ge_second_ip_transitive_resultproduct) + ge_balance_negative_transitive_resultproductsecondimaginary = (ge_second_in_transitive_resultproduct) + ge_balance_positive_transitive_resultproductsecondimaginary)))))) /\ (exists ge_representation_real_code_transitive_resultproductoutput ge_representation_imaginary_code_transitive_resultproductoutput. (((z) = ((ge_representation_real_code_transitive_resultproductoutput) + (ge_representation_imaginary_code_transitive_resultproductoutput)) * S ((ge_representation_real_code_transitive_resultproductoutput) + (ge_representation_imaginary_code_transitive_resultproductoutput)) + ((ge_representation_imaginary_code_transitive_resultproductoutput) + (ge_representation_imaginary_code_transitive_resultproductoutput))) /\ ((exists ge_balance_positive_transitive_resultproductoutputreal ge_balance_negative_transitive_resultproductoutputreal. (((((ge_representation_real_code_transitive_resultproductoutput) = 2 * (ge_balance_positive_transitive_resultproductoutputreal) /\ (ge_balance_negative_transitive_resultproductoutputreal) = 0) \/ exists ge_signed_half_transitive_resultproductoutputrealdecode. (((ge_representation_real_code_transitive_resultproductoutput) = 2 * ge_signed_half_transitive_resultproductoutputrealdecode + 1 /\ (ge_balance_positive_transitive_resultproductoutputreal) = 0) /\ (ge_balance_negative_transitive_resultproductoutputreal) = S ge_signed_half_transitive_resultproductoutputrealdecode))) /\ ((((((((ge_first_rp_transitive_resultproduct) * (ge_second_rp_transitive_resultproduct))) + (((ge_first_rn_transitive_resultproduct) * (ge_second_rn_transitive_resultproduct))))) + (((((ge_first_ip_transitive_resultproduct) * (ge_second_in_transitive_resultproduct))) + (((ge_first_in_transitive_resultproduct) * (ge_second_ip_transitive_resultproduct))))))) + ge_balance_negative_transitive_resultproductoutputreal = (((((((ge_first_rp_transitive_resultproduct) * (ge_second_rn_transitive_resultproduct))) + (((ge_first_rn_transitive_resultproduct) * (ge_second_rp_transitive_resultproduct))))) + (((((ge_first_ip_transitive_resultproduct) * (ge_second_ip_transitive_resultproduct))) + (((ge_first_in_transitive_resultproduct) * (ge_second_in_transitive_resultproduct))))))) + ge_balance_positive_transitive_resultproductoutputreal))) /\ (exists ge_balance_positive_transitive_resultproductoutputimaginary ge_balance_negative_transitive_resultproductoutputimaginary. (((((ge_representation_imaginary_code_transitive_resultproductoutput) = 2 * (ge_balance_positive_transitive_resultproductoutputimaginary) /\ (ge_balance_negative_transitive_resultproductoutputimaginary) = 0) \/ exists ge_signed_half_transitive_resultproductoutputimaginarydecode. (((ge_representation_imaginary_code_transitive_resultproductoutput) = 2 * ge_signed_half_transitive_resultproductoutputimaginarydecode + 1 /\ (ge_balance_positive_transitive_resultproductoutputimaginary) = 0) /\ (ge_balance_negative_transitive_resultproductoutputimaginary) = S ge_signed_half_transitive_resultproductoutputimaginarydecode))) /\ ((((((((ge_first_rp_transitive_resultproduct) * (ge_second_ip_transitive_resultproduct))) + (((ge_first_rn_transitive_resultproduct) * (ge_second_in_transitive_resultproduct))))) + (((((ge_first_ip_transitive_resultproduct) * (ge_second_rp_transitive_resultproduct))) + (((ge_first_in_transitive_resultproduct) * (ge_second_rn_transitive_resultproduct))))))) + ge_balance_negative_transitive_resultproductoutputimaginary = (((((((ge_first_rp_transitive_resultproduct) * (ge_second_in_transitive_resultproduct))) + (((ge_first_rn_transitive_resultproduct) * (ge_second_ip_transitive_resultproduct))))) + (((((ge_first_ip_transitive_resultproduct) * (ge_second_rn_transitive_resultproduct))) + (((ge_first_in_transitive_resultproduct) * (ge_second_rp_transitive_resultproduct))))))) + ge_balance_positive_transitive_resultproductoutputimaginary))))))))))Constructive proof overview
Generated structural guide
Compose actual Gaussian quotient witnesses using the proved canonical multiplication law.
The unchanged tactic script uses 3 declared prerequisites and contains 33 exact native proof lines.
Alpha v34 checked-use · first admitted v30 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
gaussian_multiply_exists Alpha theorem; checked-use authorized GF0008 gaussian_multiply_input_right_valid GF0025 gaussian_multiply_associativeDirect 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.
Named ingredients (2)
01Fix variables and assumptionsL1–5
02Separate the logical casesL6–7
03Establish hqL8–17
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian multiply exists.
- L8
have hq : ∃ q. GMul(x,x1,q)Definitions: GMul - L9
specialize gaussian_multiply_exists (x) - L10
specialize gaussian_multiply_exists (x1) - L11
apply gaussian_multiply_exists - L12
specialize gaussian_multiply_input_right_valid (d) - L13
specialize gaussian_multiply_input_right_valid (x) - L14
specialize gaussian_multiply_input_right_valid (a) - L15
apply gaussian_multiply_input_right_valid - L16
exact hA_witness - L17
specialize gaussian_multiply_input_right_valid (a)
04Use earlier factsL18–21
05Separate the logical casesL22–22
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L22
cases hq
06Construct an explicit witnessL23–23
Supply the displayed value, then prove that it has the required property.
- L23
exists (x2)
07Use earlier factsL24–33
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L24
specialize gaussian_multiply_associative (d) - L25
specialize gaussian_multiply_associative (x) - L26
specialize gaussian_multiply_associative (x1) - L27
specialize gaussian_multiply_associative (a) - L28
specialize gaussian_multiply_associative (x2) - L29
specialize gaussian_multiply_associative (z) - L30
apply gaussian_multiply_associative - L31
exact hA_witness - L32
exact hZ_witness - L33
exact hq_witness
Original exact command ledger · 33 lines
- 0001
intro d - 0002
intro a - 0003
intro z - 0004
intro hA - 0005
intro hZ - 0006
cases hA - 0007
cases hZ - 0008
have hq : exists q. (exists ge_first_rp_transitive_quotient ge_first_rn_transitive_quotient ge_first_ip_transitive_quotient ge_first_in_transitive_quotient ge_second_rp_transitive_quotient ge_second_rn_transitive_quotient ge_second_ip_transitive_quotient ge_second_in_transitive_quotient. ((exists ge_representation_real_code_transitive_quotientfirst ge_representation_imaginary_code_transitive_quotientfirst. (((x) = ((ge_representation_real_code_transitive_quotientfirst) + (ge_representation_imaginary_code_transitive_quotientfirst)) * S ((ge_representation_real_code_transitive_quotientfirst) + (ge_representation_imaginary_code_transitive_quotientfirst)) + ((ge_representation_imaginary_code_transitive_quotientfirst) + (ge_representation_imaginary_code_transitive_quotientfirst))) /\ ((exists ge_balance_positive_transitive_quotientfirstreal ge_balance_negative_transitive_quotientfirstreal. (((((ge_representation_real_code_transitive_quotientfirst) = 2 * (ge_balance_positive_transitive_quotientfirstreal) /\ (ge_balance_negative_transitive_quotientfirstreal) = 0) \/ exists ge_signed_half_transitive_quotientfirstrealdecode. (((ge_representation_real_code_transitive_quotientfirst) = 2 * ge_signed_half_transitive_quotientfirstrealdecode + 1 /\ (ge_balance_positive_transitive_quotientfirstreal) = 0) /\ (ge_balance_negative_transitive_quotientfirstreal) = S ge_signed_half_transitive_quotientfirstrealdecode))) /\ ((ge_first_rp_transitive_quotient) + ge_balance_negative_transitive_quotientfirstreal = (ge_first_rn_transitive_quotient) + ge_balance_positive_transitive_quotientfirstreal))) /\ (exists ge_balance_positive_transitive_quotientfirstimaginary ge_balance_negative_transitive_quotientfirstimaginary. (((((ge_representation_imaginary_code_transitive_quotientfirst) = 2 * (ge_balance_positive_transitive_quotientfirstimaginary) /\ (ge_balance_negative_transitive_quotientfirstimaginary) = 0) \/ exists ge_signed_half_transitive_quotientfirstimaginarydecode. (((ge_representation_imaginary_code_transitive_quotientfirst) = 2 * ge_signed_half_transitive_quotientfirstimaginarydecode + 1 /\ (ge_balance_positive_transitive_quotientfirstimaginary) = 0) /\ (ge_balance_negative_transitive_quotientfirstimaginary) = S ge_signed_half_transitive_quotientfirstimaginarydecode))) /\ ((ge_first_ip_transitive_quotient) + ge_balance_negative_transitive_quotientfirstimaginary = (ge_first_in_transitive_quotient) + ge_balance_positive_transitive_quotientfirstimaginary)))))) /\ ((exists ge_representation_real_code_transitive_quotientsecond ge_representation_imaginary_code_transitive_quotientsecond. (((x1) = ((ge_representation_real_code_transitive_quotientsecond) + (ge_representation_imaginary_code_transitive_quotientsecond)) * S ((ge_representation_real_code_transitive_quotientsecond) + (ge_representation_imaginary_code_transitive_quotientsecond)) + ((ge_representation_imaginary_code_transitive_quotientsecond) + (ge_representation_imaginary_code_transitive_quotientsecond))) /\ ((exists ge_balance_positive_transitive_quotientsecondreal ge_balance_negative_transitive_quotientsecondreal. (((((ge_representation_real_code_transitive_quotientsecond) = 2 * (ge_balance_positive_transitive_quotientsecondreal) /\ (ge_balance_negative_transitive_quotientsecondreal) = 0) \/ exists ge_signed_half_transitive_quotientsecondrealdecode. (((ge_representation_real_code_transitive_quotientsecond) = 2 * ge_signed_half_transitive_quotientsecondrealdecode + 1 /\ (ge_balance_positive_transitive_quotientsecondreal) = 0) /\ (ge_balance_negative_transitive_quotientsecondreal) = S ge_signed_half_transitive_quotientsecondrealdecode))) /\ ((ge_second_rp_transitive_quotient) + ge_balance_negative_transitive_quotientsecondreal = (ge_second_rn_transitive_quotient) + ge_balance_positive_transitive_quotientsecondreal))) /\ (exists ge_balance_positive_transitive_quotientsecondimaginary ge_balance_negative_transitive_quotientsecondimaginary. (((((ge_representation_imaginary_code_transitive_quotientsecond) = 2 * (ge_balance_positive_transitive_quotientsecondimaginary) /\ (ge_balance_negative_transitive_quotientsecondimaginary) = 0) \/ exists ge_signed_half_transitive_quotientsecondimaginarydecode. (((ge_representation_imaginary_code_transitive_quotientsecond) = 2 * ge_signed_half_transitive_quotientsecondimaginarydecode + 1 /\ (ge_balance_positive_transitive_quotientsecondimaginary) = 0) /\ (ge_balance_negative_transitive_quotientsecondimaginary) = S ge_signed_half_transitive_quotientsecondimaginarydecode))) /\ ((ge_second_ip_transitive_quotient) + ge_balance_negative_transitive_quotientsecondimaginary = (ge_second_in_transitive_quotient) + ge_balance_positive_transitive_quotientsecondimaginary)))))) /\ (exists ge_representation_real_code_transitive_quotientoutput ge_representation_imaginary_code_transitive_quotientoutput. (((q) = ((ge_representation_real_code_transitive_quotientoutput) + (ge_representation_imaginary_code_transitive_quotientoutput)) * S ((ge_representation_real_code_transitive_quotientoutput) + (ge_representation_imaginary_code_transitive_quotientoutput)) + ((ge_representation_imaginary_code_transitive_quotientoutput) + (ge_representation_imaginary_code_transitive_quotientoutput))) /\ ((exists ge_balance_positive_transitive_quotientoutputreal ge_balance_negative_transitive_quotientoutputreal. (((((ge_representation_real_code_transitive_quotientoutput) = 2 * (ge_balance_positive_transitive_quotientoutputreal) /\ (ge_balance_negative_transitive_quotientoutputreal) = 0) \/ exists ge_signed_half_transitive_quotientoutputrealdecode. (((ge_representation_real_code_transitive_quotientoutput) = 2 * ge_signed_half_transitive_quotientoutputrealdecode + 1 /\ (ge_balance_positive_transitive_quotientoutputreal) = 0) /\ (ge_balance_negative_transitive_quotientoutputreal) = S ge_signed_half_transitive_quotientoutputrealdecode))) /\ ((((((((ge_first_rp_transitive_quotient) * (ge_second_rp_transitive_quotient))) + (((ge_first_rn_transitive_quotient) * (ge_second_rn_transitive_quotient))))) + (((((ge_first_ip_transitive_quotient) * (ge_second_in_transitive_quotient))) + (((ge_first_in_transitive_quotient) * (ge_second_ip_transitive_quotient))))))) + ge_balance_negative_transitive_quotientoutputreal = (((((((ge_first_rp_transitive_quotient) * (ge_second_rn_transitive_quotient))) + (((ge_first_rn_transitive_quotient) * (ge_second_rp_transitive_quotient))))) + (((((ge_first_ip_transitive_quotient) * (ge_second_ip_transitive_quotient))) + (((ge_first_in_transitive_quotient) * (ge_second_in_transitive_quotient))))))) + ge_balance_positive_transitive_quotientoutputreal))) /\ (exists ge_balance_positive_transitive_quotientoutputimaginary ge_balance_negative_transitive_quotientoutputimaginary. (((((ge_representation_imaginary_code_transitive_quotientoutput) = 2 * (ge_balance_positive_transitive_quotientoutputimaginary) /\ (ge_balance_negative_transitive_quotientoutputimaginary) = 0) \/ exists ge_signed_half_transitive_quotientoutputimaginarydecode. (((ge_representation_imaginary_code_transitive_quotientoutput) = 2 * ge_signed_half_transitive_quotientoutputimaginarydecode + 1 /\ (ge_balance_positive_transitive_quotientoutputimaginary) = 0) /\ (ge_balance_negative_transitive_quotientoutputimaginary) = S ge_signed_half_transitive_quotientoutputimaginarydecode))) /\ ((((((((ge_first_rp_transitive_quotient) * (ge_second_ip_transitive_quotient))) + (((ge_first_rn_transitive_quotient) * (ge_second_in_transitive_quotient))))) + (((((ge_first_ip_transitive_quotient) * (ge_second_rp_transitive_quotient))) + (((ge_first_in_transitive_quotient) * (ge_second_rn_transitive_quotient))))))) + ge_balance_negative_transitive_quotientoutputimaginary = (((((((ge_first_rp_transitive_quotient) * (ge_second_in_transitive_quotient))) + (((ge_first_rn_transitive_quotient) * (ge_second_ip_transitive_quotient))))) + (((((ge_first_ip_transitive_quotient) * (ge_second_rn_transitive_quotient))) + (((ge_first_in_transitive_quotient) * (ge_second_rp_transitive_quotient))))))) + ge_balance_positive_transitive_quotientoutputimaginary))))))))) - 0009
specialize gaussian_multiply_exists (x) - 0010
specialize gaussian_multiply_exists (x1) - 0011
apply gaussian_multiply_exists - 0012
specialize gaussian_multiply_input_right_valid (d) - 0013
specialize gaussian_multiply_input_right_valid (x) - 0014
specialize gaussian_multiply_input_right_valid (a) - 0015
apply gaussian_multiply_input_right_valid - 0016
exact hA_witness - 0017
specialize gaussian_multiply_input_right_valid (a) - 0018
specialize gaussian_multiply_input_right_valid (x1) - 0019
specialize gaussian_multiply_input_right_valid (z) - 0020
apply gaussian_multiply_input_right_valid - 0021
exact hZ_witness - 0022
cases hq - 0023
exists (x2) - 0024
specialize gaussian_multiply_associative (d) - 0025
specialize gaussian_multiply_associative (x) - 0026
specialize gaussian_multiply_associative (x1) - 0027
specialize gaussian_multiply_associative (a) - 0028
specialize gaussian_multiply_associative (x2) - 0029
specialize gaussian_multiply_associative (z) - 0030
apply gaussian_multiply_associative - 0031
exact hA_witness - 0032
exact hZ_witness - 0033
exact hq_witness