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 p a b c g u v. (exists ge_first_rp_gauss_given_product ge_first_rn_gauss_given_product ge_first_ip_gauss_given_product ge_first_in_gauss_given_product ge_second_rp_gauss_given_product ge_second_rn_gauss_given_product ge_second_ip_gauss_given_product ge_second_in_gauss_given_product. ((exists ge_representation_real_code_gauss_given_productfirst ge_representation_imaginary_code_gauss_given_productfirst. (((a) = ((ge_representation_real_code_gauss_given_productfirst) + (ge_representation_imaginary_code_gauss_given_productfirst)) * S ((ge_representation_real_code_gauss_given_productfirst) + (ge_representation_imaginary_code_gauss_given_productfirst)) + ((ge_representation_imaginary_code_gauss_given_productfirst) + (ge_representation_imaginary_code_gauss_given_productfirst))) /\ ((exists ge_balance_positive_gauss_given_productfirstreal ge_balance_negative_gauss_given_productfirstreal. (((((ge_representation_real_code_gauss_given_productfirst) = 2 * (ge_balance_positive_gauss_given_productfirstreal) /\ (ge_balance_negative_gauss_given_productfirstreal) = 0) \/ exists ge_signed_half_gauss_given_productfirstrealdecode. (((ge_representation_real_code_gauss_given_productfirst) = 2 * ge_signed_half_gauss_given_productfirstrealdecode + 1 /\ (ge_balance_positive_gauss_given_productfirstreal) = 0) /\ (ge_balance_negative_gauss_given_productfirstreal) = S ge_signed_half_gauss_given_productfirstrealdecode))) /\ ((ge_first_rp_gauss_given_product) + ge_balance_negative_gauss_given_productfirstreal = (ge_first_rn_gauss_given_product) + ge_balance_positive_gauss_given_productfirstreal))) /\ (exists ge_balance_positive_gauss_given_productfirstimaginary ge_balance_negative_gauss_given_productfirstimaginary. (((((ge_representation_imaginary_code_gauss_given_productfirst) = 2 * (ge_balance_positive_gauss_given_productfirstimaginary) /\ (ge_balance_negative_gauss_given_productfirstimaginary) = 0) \/ exists ge_signed_half_gauss_given_productfirstimaginarydecode. (((ge_representation_imaginary_code_gauss_given_productfirst) = 2 * ge_signed_half_gauss_given_productfirstimaginarydecode + 1 /\ (ge_balance_positive_gauss_given_productfirstimaginary) = 0) /\ (ge_balance_negative_gauss_given_productfirstimaginary) = S ge_signed_half_gauss_given_productfirstimaginarydecode))) /\ ((ge_first_ip_gauss_given_product) + ge_balance_negative_gauss_given_productfirstimaginary = (ge_first_in_gauss_given_product) + ge_balance_positive_gauss_given_productfirstimaginary)))))) /\ ((exists ge_representation_real_code_gauss_given_productsecond ge_representation_imaginary_code_gauss_given_productsecond. (((b) = ((ge_representation_real_code_gauss_given_productsecond) + (ge_representation_imaginary_code_gauss_given_productsecond)) * S ((ge_representation_real_code_gauss_given_productsecond) + (ge_representation_imaginary_code_gauss_given_productsecond)) + ((ge_representation_imaginary_code_gauss_given_productsecond) + (ge_representation_imaginary_code_gauss_given_productsecond))) /\ ((exists ge_balance_positive_gauss_given_productsecondreal ge_balance_negative_gauss_given_productsecondreal. (((((ge_representation_real_code_gauss_given_productsecond) = 2 * (ge_balance_positive_gauss_given_productsecondreal) /\ (ge_balance_negative_gauss_given_productsecondreal) = 0) \/ exists ge_signed_half_gauss_given_productsecondrealdecode. (((ge_representation_real_code_gauss_given_productsecond) = 2 * ge_signed_half_gauss_given_productsecondrealdecode + 1 /\ (ge_balance_positive_gauss_given_productsecondreal) = 0) /\ (ge_balance_negative_gauss_given_productsecondreal) = S ge_signed_half_gauss_given_productsecondrealdecode))) /\ ((ge_second_rp_gauss_given_product) + ge_balance_negative_gauss_given_productsecondreal = (ge_second_rn_gauss_given_product) + ge_balance_positive_gauss_given_productsecondreal))) /\ (exists ge_balance_positive_gauss_given_productsecondimaginary ge_balance_negative_gauss_given_productsecondimaginary. (((((ge_representation_imaginary_code_gauss_given_productsecond) = 2 * (ge_balance_positive_gauss_given_productsecondimaginary) /\ (ge_balance_negative_gauss_given_productsecondimaginary) = 0) \/ exists ge_signed_half_gauss_given_productsecondimaginarydecode. (((ge_representation_imaginary_code_gauss_given_productsecond) = 2 * ge_signed_half_gauss_given_productsecondimaginarydecode + 1 /\ (ge_balance_positive_gauss_given_productsecondimaginary) = 0) /\ (ge_balance_negative_gauss_given_productsecondimaginary) = S ge_signed_half_gauss_given_productsecondimaginarydecode))) /\ ((ge_second_ip_gauss_given_product) + ge_balance_negative_gauss_given_productsecondimaginary = (ge_second_in_gauss_given_product) + ge_balance_positive_gauss_given_productsecondimaginary)))))) /\ (exists ge_representation_real_code_gauss_given_productoutput ge_representation_imaginary_code_gauss_given_productoutput. (((c) = ((ge_representation_real_code_gauss_given_productoutput) + (ge_representation_imaginary_code_gauss_given_productoutput)) * S ((ge_representation_real_code_gauss_given_productoutput) + (ge_representation_imaginary_code_gauss_given_productoutput)) + ((ge_representation_imaginary_code_gauss_given_productoutput) + (ge_representation_imaginary_code_gauss_given_productoutput))) /\ ((exists ge_balance_positive_gauss_given_productoutputreal ge_balance_negative_gauss_given_productoutputreal. (((((ge_representation_real_code_gauss_given_productoutput) = 2 * (ge_balance_positive_gauss_given_productoutputreal) /\ (ge_balance_negative_gauss_given_productoutputreal) = 0) \/ exists ge_signed_half_gauss_given_productoutputrealdecode. (((ge_representation_real_code_gauss_given_productoutput) = 2 * ge_signed_half_gauss_given_productoutputrealdecode + 1 /\ (ge_balance_positive_gauss_given_productoutputreal) = 0) /\ (ge_balance_negative_gauss_given_productoutputreal) = S ge_signed_half_gauss_given_productoutputrealdecode))) /\ ((((((((ge_first_rp_gauss_given_product) * (ge_second_rp_gauss_given_product))) + (((ge_first_rn_gauss_given_product) * (ge_second_rn_gauss_given_product))))) + (((((ge_first_ip_gauss_given_product) * (ge_second_in_gauss_given_product))) + (((ge_first_in_gauss_given_product) * (ge_second_ip_gauss_given_product))))))) + ge_balance_negative_gauss_given_productoutputreal = (((((((ge_first_rp_gauss_given_product) * (ge_second_rn_gauss_given_product))) + (((ge_first_rn_gauss_given_product) * (ge_second_rp_gauss_given_product))))) + (((((ge_first_ip_gauss_given_product) * (ge_second_ip_gauss_given_product))) + (((ge_first_in_gauss_given_product) * (ge_second_in_gauss_given_product))))))) + ge_balance_positive_gauss_given_productoutputreal))) /\ (exists ge_balance_positive_gauss_given_productoutputimaginary ge_balance_negative_gauss_given_productoutputimaginary. (((((ge_representation_imaginary_code_gauss_given_productoutput) = 2 * (ge_balance_positive_gauss_given_productoutputimaginary) /\ (ge_balance_negative_gauss_given_productoutputimaginary) = 0) \/ exists ge_signed_half_gauss_given_productoutputimaginarydecode. (((ge_representation_imaginary_code_gauss_given_productoutput) = 2 * ge_signed_half_gauss_given_productoutputimaginarydecode + 1 /\ (ge_balance_positive_gauss_given_productoutputimaginary) = 0) /\ (ge_balance_negative_gauss_given_productoutputimaginary) = S ge_signed_half_gauss_given_productoutputimaginarydecode))) /\ ((((((((ge_first_rp_gauss_given_product) * (ge_second_ip_gauss_given_product))) + (((ge_first_rn_gauss_given_product) * (ge_second_in_gauss_given_product))))) + (((((ge_first_ip_gauss_given_product) * (ge_second_rp_gauss_given_product))) + (((ge_first_in_gauss_given_product) * (ge_second_rn_gauss_given_product))))))) + ge_balance_negative_gauss_given_productoutputimaginary = (((((((ge_first_rp_gauss_given_product) * (ge_second_in_gauss_given_product))) + (((ge_first_rn_gauss_given_product) * (ge_second_ip_gauss_given_product))))) + (((((ge_first_ip_gauss_given_product) * (ge_second_rn_gauss_given_product))) + (((ge_first_in_gauss_given_product) * (ge_second_rp_gauss_given_product))))))) + ge_balance_positive_gauss_given_productoutputimaginary))))))))) -> (exists gr_quotient_gauss_given_divisor. (exists ge_first_rp_gauss_given_divisorproduct ge_first_rn_gauss_given_divisorproduct ge_first_ip_gauss_given_divisorproduct ge_first_in_gauss_given_divisorproduct ge_second_rp_gauss_given_divisorproduct ge_second_rn_gauss_given_divisorproduct ge_second_ip_gauss_given_divisorproduct ge_second_in_gauss_given_divisorproduct. ((exists ge_representation_real_code_gauss_given_divisorproductfirst ge_representation_imaginary_code_gauss_given_divisorproductfirst. (((p) = ((ge_representation_real_code_gauss_given_divisorproductfirst) + (ge_representation_imaginary_code_gauss_given_divisorproductfirst)) * S ((ge_representation_real_code_gauss_given_divisorproductfirst) + (ge_representation_imaginary_code_gauss_given_divisorproductfirst)) + ((ge_representation_imaginary_code_gauss_given_divisorproductfirst) + (ge_representation_imaginary_code_gauss_given_divisorproductfirst))) /\ ((exists ge_balance_positive_gauss_given_divisorproductfirstreal ge_balance_negative_gauss_given_divisorproductfirstreal. (((((ge_representation_real_code_gauss_given_divisorproductfirst) = 2 * (ge_balance_positive_gauss_given_divisorproductfirstreal) /\ (ge_balance_negative_gauss_given_divisorproductfirstreal) = 0) \/ exists ge_signed_half_gauss_given_divisorproductfirstrealdecode. (((ge_representation_real_code_gauss_given_divisorproductfirst) = 2 * ge_signed_half_gauss_given_divisorproductfirstrealdecode + 1 /\ (ge_balance_positive_gauss_given_divisorproductfirstreal) = 0) /\ (ge_balance_negative_gauss_given_divisorproductfirstreal) = S ge_signed_half_gauss_given_divisorproductfirstrealdecode))) /\ ((ge_first_rp_gauss_given_divisorproduct) + ge_balance_negative_gauss_given_divisorproductfirstreal = (ge_first_rn_gauss_given_divisorproduct) + ge_balance_positive_gauss_given_divisorproductfirstreal))) /\ (exists ge_balance_positive_gauss_given_divisorproductfirstimaginary ge_balance_negative_gauss_given_divisorproductfirstimaginary. (((((ge_representation_imaginary_code_gauss_given_divisorproductfirst) = 2 * (ge_balance_positive_gauss_given_divisorproductfirstimaginary) /\ (ge_balance_negative_gauss_given_divisorproductfirstimaginary) = 0) \/ exists ge_signed_half_gauss_given_divisorproductfirstimaginarydecode. (((ge_representation_imaginary_code_gauss_given_divisorproductfirst) = 2 * ge_signed_half_gauss_given_divisorproductfirstimaginarydecode + 1 /\ (ge_balance_positive_gauss_given_divisorproductfirstimaginary) = 0) /\ (ge_balance_negative_gauss_given_divisorproductfirstimaginary) = S ge_signed_half_gauss_given_divisorproductfirstimaginarydecode))) /\ ((ge_first_ip_gauss_given_divisorproduct) + ge_balance_negative_gauss_given_divisorproductfirstimaginary = (ge_first_in_gauss_given_divisorproduct) + ge_balance_positive_gauss_given_divisorproductfirstimaginary)))))) /\ ((exists ge_representation_real_code_gauss_given_divisorproductsecond ge_representation_imaginary_code_gauss_given_divisorproductsecond. (((gr_quotient_gauss_given_divisor) = ((ge_representation_real_code_gauss_given_divisorproductsecond) + (ge_representation_imaginary_code_gauss_given_divisorproductsecond)) * S ((ge_representation_real_code_gauss_given_divisorproductsecond) + (ge_representation_imaginary_code_gauss_given_divisorproductsecond)) + ((ge_representation_imaginary_code_gauss_given_divisorproductsecond) + (ge_representation_imaginary_code_gauss_given_divisorproductsecond))) /\ ((exists ge_balance_positive_gauss_given_divisorproductsecondreal ge_balance_negative_gauss_given_divisorproductsecondreal. (((((ge_representation_real_code_gauss_given_divisorproductsecond) = 2 * (ge_balance_positive_gauss_given_divisorproductsecondreal) /\ (ge_balance_negative_gauss_given_divisorproductsecondreal) = 0) \/ exists ge_signed_half_gauss_given_divisorproductsecondrealdecode. (((ge_representation_real_code_gauss_given_divisorproductsecond) = 2 * ge_signed_half_gauss_given_divisorproductsecondrealdecode + 1 /\ (ge_balance_positive_gauss_given_divisorproductsecondreal) = 0) /\ (ge_balance_negative_gauss_given_divisorproductsecondreal) = S ge_signed_half_gauss_given_divisorproductsecondrealdecode))) /\ ((ge_second_rp_gauss_given_divisorproduct) + ge_balance_negative_gauss_given_divisorproductsecondreal = (ge_second_rn_gauss_given_divisorproduct) + ge_balance_positive_gauss_given_divisorproductsecondreal))) /\ (exists ge_balance_positive_gauss_given_divisorproductsecondimaginary ge_balance_negative_gauss_given_divisorproductsecondimaginary. (((((ge_representation_imaginary_code_gauss_given_divisorproductsecond) = 2 * (ge_balance_positive_gauss_given_divisorproductsecondimaginary) /\ (ge_balance_negative_gauss_given_divisorproductsecondimaginary) = 0) \/ exists ge_signed_half_gauss_given_divisorproductsecondimaginarydecode. (((ge_representation_imaginary_code_gauss_given_divisorproductsecond) = 2 * ge_signed_half_gauss_given_divisorproductsecondimaginarydecode + 1 /\ (ge_balance_positive_gauss_given_divisorproductsecondimaginary) = 0) /\ (ge_balance_negative_gauss_given_divisorproductsecondimaginary) = S ge_signed_half_gauss_given_divisorproductsecondimaginarydecode))) /\ ((ge_second_ip_gauss_given_divisorproduct) + ge_balance_negative_gauss_given_divisorproductsecondimaginary = (ge_second_in_gauss_given_divisorproduct) + ge_balance_positive_gauss_given_divisorproductsecondimaginary)))))) /\ (exists ge_representation_real_code_gauss_given_divisorproductoutput ge_representation_imaginary_code_gauss_given_divisorproductoutput. (((c) = ((ge_representation_real_code_gauss_given_divisorproductoutput) + (ge_representation_imaginary_code_gauss_given_divisorproductoutput)) * S ((ge_representation_real_code_gauss_given_divisorproductoutput) + (ge_representation_imaginary_code_gauss_given_divisorproductoutput)) + ((ge_representation_imaginary_code_gauss_given_divisorproductoutput) + (ge_representation_imaginary_code_gauss_given_divisorproductoutput))) /\ ((exists ge_balance_positive_gauss_given_divisorproductoutputreal ge_balance_negative_gauss_given_divisorproductoutputreal. (((((ge_representation_real_code_gauss_given_divisorproductoutput) = 2 * (ge_balance_positive_gauss_given_divisorproductoutputreal) /\ (ge_balance_negative_gauss_given_divisorproductoutputreal) = 0) \/ exists ge_signed_half_gauss_given_divisorproductoutputrealdecode. (((ge_representation_real_code_gauss_given_divisorproductoutput) = 2 * ge_signed_half_gauss_given_divisorproductoutputrealdecode + 1 /\ (ge_balance_positive_gauss_given_divisorproductoutputreal) = 0) /\ (ge_balance_negative_gauss_given_divisorproductoutputreal) = S ge_signed_half_gauss_given_divisorproductoutputrealdecode))) /\ ((((((((ge_first_rp_gauss_given_divisorproduct) * (ge_second_rp_gauss_given_divisorproduct))) + (((ge_first_rn_gauss_given_divisorproduct) * (ge_second_rn_gauss_given_divisorproduct))))) + (((((ge_first_ip_gauss_given_divisorproduct) * (ge_second_in_gauss_given_divisorproduct))) + (((ge_first_in_gauss_given_divisorproduct) * (ge_second_ip_gauss_given_divisorproduct))))))) + ge_balance_negative_gauss_given_divisorproductoutputreal = (((((((ge_first_rp_gauss_given_divisorproduct) * (ge_second_rn_gauss_given_divisorproduct))) + (((ge_first_rn_gauss_given_divisorproduct) * (ge_second_rp_gauss_given_divisorproduct))))) + (((((ge_first_ip_gauss_given_divisorproduct) * (ge_second_ip_gauss_given_divisorproduct))) + (((ge_first_in_gauss_given_divisorproduct) * (ge_second_in_gauss_given_divisorproduct))))))) + ge_balance_positive_gauss_given_divisorproductoutputreal))) /\ (exists ge_balance_positive_gauss_given_divisorproductoutputimaginary ge_balance_negative_gauss_given_divisorproductoutputimaginary. (((((ge_representation_imaginary_code_gauss_given_divisorproductoutput) = 2 * (ge_balance_positive_gauss_given_divisorproductoutputimaginary) /\ (ge_balance_negative_gauss_given_divisorproductoutputimaginary) = 0) \/ exists ge_signed_half_gauss_given_divisorproductoutputimaginarydecode. (((ge_representation_imaginary_code_gauss_given_divisorproductoutput) = 2 * ge_signed_half_gauss_given_divisorproductoutputimaginarydecode + 1 /\ (ge_balance_positive_gauss_given_divisorproductoutputimaginary) = 0) /\ (ge_balance_negative_gauss_given_divisorproductoutputimaginary) = S ge_signed_half_gauss_given_divisorproductoutputimaginarydecode))) /\ ((((((((ge_first_rp_gauss_given_divisorproduct) * (ge_second_ip_gauss_given_divisorproduct))) + (((ge_first_rn_gauss_given_divisorproduct) * (ge_second_in_gauss_given_divisorproduct))))) + (((((ge_first_ip_gauss_given_divisorproduct) * (ge_second_rp_gauss_given_divisorproduct))) + (((ge_first_in_gauss_given_divisorproduct) * (ge_second_rn_gauss_given_divisorproduct))))))) + ge_balance_negative_gauss_given_divisorproductoutputimaginary = (((((((ge_first_rp_gauss_given_divisorproduct) * (ge_second_in_gauss_given_divisorproduct))) + (((ge_first_rn_gauss_given_divisorproduct) * (ge_second_ip_gauss_given_divisorproduct))))) + (((((ge_first_ip_gauss_given_divisorproduct) * (ge_second_rn_gauss_given_divisorproduct))) + (((ge_first_in_gauss_given_divisorproduct) * (ge_second_rp_gauss_given_divisorproduct))))))) + ge_balance_positive_gauss_given_divisorproductoutputimaginary)))))))))) -> (exists gr_first_product_gauss_given_bezout gr_second_product_gauss_given_bezout. ((exists ge_first_rp_gauss_given_bezoutfirst ge_first_rn_gauss_given_bezoutfirst ge_first_ip_gauss_given_bezoutfirst ge_first_in_gauss_given_bezoutfirst ge_second_rp_gauss_given_bezoutfirst ge_second_rn_gauss_given_bezoutfirst ge_second_ip_gauss_given_bezoutfirst ge_second_in_gauss_given_bezoutfirst. ((exists ge_representation_real_code_gauss_given_bezoutfirstfirst ge_representation_imaginary_code_gauss_given_bezoutfirstfirst. (((p) = ((ge_representation_real_code_gauss_given_bezoutfirstfirst) + (ge_representation_imaginary_code_gauss_given_bezoutfirstfirst)) * S ((ge_representation_real_code_gauss_given_bezoutfirstfirst) + (ge_representation_imaginary_code_gauss_given_bezoutfirstfirst)) + ((ge_representation_imaginary_code_gauss_given_bezoutfirstfirst) + (ge_representation_imaginary_code_gauss_given_bezoutfirstfirst))) /\ ((exists ge_balance_positive_gauss_given_bezoutfirstfirstreal ge_balance_negative_gauss_given_bezoutfirstfirstreal. (((((ge_representation_real_code_gauss_given_bezoutfirstfirst) = 2 * (ge_balance_positive_gauss_given_bezoutfirstfirstreal) /\ (ge_balance_negative_gauss_given_bezoutfirstfirstreal) = 0) \/ exists ge_signed_half_gauss_given_bezoutfirstfirstrealdecode. (((ge_representation_real_code_gauss_given_bezoutfirstfirst) = 2 * ge_signed_half_gauss_given_bezoutfirstfirstrealdecode + 1 /\ (ge_balance_positive_gauss_given_bezoutfirstfirstreal) = 0) /\ (ge_balance_negative_gauss_given_bezoutfirstfirstreal) = S ge_signed_half_gauss_given_bezoutfirstfirstrealdecode))) /\ ((ge_first_rp_gauss_given_bezoutfirst) + ge_balance_negative_gauss_given_bezoutfirstfirstreal = (ge_first_rn_gauss_given_bezoutfirst) + ge_balance_positive_gauss_given_bezoutfirstfirstreal))) /\ (exists ge_balance_positive_gauss_given_bezoutfirstfirstimaginary ge_balance_negative_gauss_given_bezoutfirstfirstimaginary. (((((ge_representation_imaginary_code_gauss_given_bezoutfirstfirst) = 2 * (ge_balance_positive_gauss_given_bezoutfirstfirstimaginary) /\ (ge_balance_negative_gauss_given_bezoutfirstfirstimaginary) = 0) \/ exists ge_signed_half_gauss_given_bezoutfirstfirstimaginarydecode. (((ge_representation_imaginary_code_gauss_given_bezoutfirstfirst) = 2 * ge_signed_half_gauss_given_bezoutfirstfirstimaginarydecode + 1 /\ (ge_balance_positive_gauss_given_bezoutfirstfirstimaginary) = 0) /\ (ge_balance_negative_gauss_given_bezoutfirstfirstimaginary) = S ge_signed_half_gauss_given_bezoutfirstfirstimaginarydecode))) /\ ((ge_first_ip_gauss_given_bezoutfirst) + ge_balance_negative_gauss_given_bezoutfirstfirstimaginary = (ge_first_in_gauss_given_bezoutfirst) + ge_balance_positive_gauss_given_bezoutfirstfirstimaginary)))))) /\ ((exists ge_representation_real_code_gauss_given_bezoutfirstsecond ge_representation_imaginary_code_gauss_given_bezoutfirstsecond. (((u) = ((ge_representation_real_code_gauss_given_bezoutfirstsecond) + (ge_representation_imaginary_code_gauss_given_bezoutfirstsecond)) * S ((ge_representation_real_code_gauss_given_bezoutfirstsecond) + (ge_representation_imaginary_code_gauss_given_bezoutfirstsecond)) + ((ge_representation_imaginary_code_gauss_given_bezoutfirstsecond) + (ge_representation_imaginary_code_gauss_given_bezoutfirstsecond))) /\ ((exists ge_balance_positive_gauss_given_bezoutfirstsecondreal ge_balance_negative_gauss_given_bezoutfirstsecondreal. (((((ge_representation_real_code_gauss_given_bezoutfirstsecond) = 2 * (ge_balance_positive_gauss_given_bezoutfirstsecondreal) /\ (ge_balance_negative_gauss_given_bezoutfirstsecondreal) = 0) \/ exists ge_signed_half_gauss_given_bezoutfirstsecondrealdecode. (((ge_representation_real_code_gauss_given_bezoutfirstsecond) = 2 * ge_signed_half_gauss_given_bezoutfirstsecondrealdecode + 1 /\ (ge_balance_positive_gauss_given_bezoutfirstsecondreal) = 0) /\ (ge_balance_negative_gauss_given_bezoutfirstsecondreal) = S ge_signed_half_gauss_given_bezoutfirstsecondrealdecode))) /\ ((ge_second_rp_gauss_given_bezoutfirst) + ge_balance_negative_gauss_given_bezoutfirstsecondreal = (ge_second_rn_gauss_given_bezoutfirst) + ge_balance_positive_gauss_given_bezoutfirstsecondreal))) /\ (exists ge_balance_positive_gauss_given_bezoutfirstsecondimaginary ge_balance_negative_gauss_given_bezoutfirstsecondimaginary. (((((ge_representation_imaginary_code_gauss_given_bezoutfirstsecond) = 2 * (ge_balance_positive_gauss_given_bezoutfirstsecondimaginary) /\ (ge_balance_negative_gauss_given_bezoutfirstsecondimaginary) = 0) \/ exists ge_signed_half_gauss_given_bezoutfirstsecondimaginarydecode. (((ge_representation_imaginary_code_gauss_given_bezoutfirstsecond) = 2 * ge_signed_half_gauss_given_bezoutfirstsecondimaginarydecode + 1 /\ (ge_balance_positive_gauss_given_bezoutfirstsecondimaginary) = 0) /\ (ge_balance_negative_gauss_given_bezoutfirstsecondimaginary) = S ge_signed_half_gauss_given_bezoutfirstsecondimaginarydecode))) /\ ((ge_second_ip_gauss_given_bezoutfirst) + ge_balance_negative_gauss_given_bezoutfirstsecondimaginary = (ge_second_in_gauss_given_bezoutfirst) + ge_balance_positive_gauss_given_bezoutfirstsecondimaginary)))))) /\ (exists ge_representation_real_code_gauss_given_bezoutfirstoutput ge_representation_imaginary_code_gauss_given_bezoutfirstoutput. (((gr_first_product_gauss_given_bezout) = ((ge_representation_real_code_gauss_given_bezoutfirstoutput) + (ge_representation_imaginary_code_gauss_given_bezoutfirstoutput)) * S ((ge_representation_real_code_gauss_given_bezoutfirstoutput) + (ge_representation_imaginary_code_gauss_given_bezoutfirstoutput)) + ((ge_representation_imaginary_code_gauss_given_bezoutfirstoutput) + (ge_representation_imaginary_code_gauss_given_bezoutfirstoutput))) /\ ((exists ge_balance_positive_gauss_given_bezoutfirstoutputreal ge_balance_negative_gauss_given_bezoutfirstoutputreal. (((((ge_representation_real_code_gauss_given_bezoutfirstoutput) = 2 * (ge_balance_positive_gauss_given_bezoutfirstoutputreal) /\ (ge_balance_negative_gauss_given_bezoutfirstoutputreal) = 0) \/ exists ge_signed_half_gauss_given_bezoutfirstoutputrealdecode. (((ge_representation_real_code_gauss_given_bezoutfirstoutput) = 2 * ge_signed_half_gauss_given_bezoutfirstoutputrealdecode + 1 /\ (ge_balance_positive_gauss_given_bezoutfirstoutputreal) = 0) /\ (ge_balance_negative_gauss_given_bezoutfirstoutputreal) = S ge_signed_half_gauss_given_bezoutfirstoutputrealdecode))) /\ ((((((((ge_first_rp_gauss_given_bezoutfirst) * (ge_second_rp_gauss_given_bezoutfirst))) + (((ge_first_rn_gauss_given_bezoutfirst) * (ge_second_rn_gauss_given_bezoutfirst))))) + (((((ge_first_ip_gauss_given_bezoutfirst) * (ge_second_in_gauss_given_bezoutfirst))) + (((ge_first_in_gauss_given_bezoutfirst) * (ge_second_ip_gauss_given_bezoutfirst))))))) + ge_balance_negative_gauss_given_bezoutfirstoutputreal = (((((((ge_first_rp_gauss_given_bezoutfirst) * (ge_second_rn_gauss_given_bezoutfirst))) + (((ge_first_rn_gauss_given_bezoutfirst) * (ge_second_rp_gauss_given_bezoutfirst))))) + (((((ge_first_ip_gauss_given_bezoutfirst) * (ge_second_ip_gauss_given_bezoutfirst))) + (((ge_first_in_gauss_given_bezoutfirst) * (ge_second_in_gauss_given_bezoutfirst))))))) + ge_balance_positive_gauss_given_bezoutfirstoutputreal))) /\ (exists ge_balance_positive_gauss_given_bezoutfirstoutputimaginary ge_balance_negative_gauss_given_bezoutfirstoutputimaginary. (((((ge_representation_imaginary_code_gauss_given_bezoutfirstoutput) = 2 * (ge_balance_positive_gauss_given_bezoutfirstoutputimaginary) /\ (ge_balance_negative_gauss_given_bezoutfirstoutputimaginary) = 0) \/ exists ge_signed_half_gauss_given_bezoutfirstoutputimaginarydecode. (((ge_representation_imaginary_code_gauss_given_bezoutfirstoutput) = 2 * ge_signed_half_gauss_given_bezoutfirstoutputimaginarydecode + 1 /\ (ge_balance_positive_gauss_given_bezoutfirstoutputimaginary) = 0) /\ (ge_balance_negative_gauss_given_bezoutfirstoutputimaginary) = S ge_signed_half_gauss_given_bezoutfirstoutputimaginarydecode))) /\ ((((((((ge_first_rp_gauss_given_bezoutfirst) * (ge_second_ip_gauss_given_bezoutfirst))) + (((ge_first_rn_gauss_given_bezoutfirst) * (ge_second_in_gauss_given_bezoutfirst))))) + (((((ge_first_ip_gauss_given_bezoutfirst) * (ge_second_rp_gauss_given_bezoutfirst))) + (((ge_first_in_gauss_given_bezoutfirst) * (ge_second_rn_gauss_given_bezoutfirst))))))) + ge_balance_negative_gauss_given_bezoutfirstoutputimaginary = (((((((ge_first_rp_gauss_given_bezoutfirst) * (ge_second_in_gauss_given_bezoutfirst))) + (((ge_first_rn_gauss_given_bezoutfirst) * (ge_second_ip_gauss_given_bezoutfirst))))) + (((((ge_first_ip_gauss_given_bezoutfirst) * (ge_second_rn_gauss_given_bezoutfirst))) + (((ge_first_in_gauss_given_bezoutfirst) * (ge_second_rp_gauss_given_bezoutfirst))))))) + ge_balance_positive_gauss_given_bezoutfirstoutputimaginary))))))))) /\ ((exists ge_first_rp_gauss_given_bezoutsecond ge_first_rn_gauss_given_bezoutsecond ge_first_ip_gauss_given_bezoutsecond ge_first_in_gauss_given_bezoutsecond ge_second_rp_gauss_given_bezoutsecond ge_second_rn_gauss_given_bezoutsecond ge_second_ip_gauss_given_bezoutsecond ge_second_in_gauss_given_bezoutsecond. ((exists ge_representation_real_code_gauss_given_bezoutsecondfirst ge_representation_imaginary_code_gauss_given_bezoutsecondfirst. (((a) = ((ge_representation_real_code_gauss_given_bezoutsecondfirst) + (ge_representation_imaginary_code_gauss_given_bezoutsecondfirst)) * S ((ge_representation_real_code_gauss_given_bezoutsecondfirst) + (ge_representation_imaginary_code_gauss_given_bezoutsecondfirst)) + ((ge_representation_imaginary_code_gauss_given_bezoutsecondfirst) + (ge_representation_imaginary_code_gauss_given_bezoutsecondfirst))) /\ ((exists ge_balance_positive_gauss_given_bezoutsecondfirstreal ge_balance_negative_gauss_given_bezoutsecondfirstreal. (((((ge_representation_real_code_gauss_given_bezoutsecondfirst) = 2 * (ge_balance_positive_gauss_given_bezoutsecondfirstreal) /\ (ge_balance_negative_gauss_given_bezoutsecondfirstreal) = 0) \/ exists ge_signed_half_gauss_given_bezoutsecondfirstrealdecode. (((ge_representation_real_code_gauss_given_bezoutsecondfirst) = 2 * ge_signed_half_gauss_given_bezoutsecondfirstrealdecode + 1 /\ (ge_balance_positive_gauss_given_bezoutsecondfirstreal) = 0) /\ (ge_balance_negative_gauss_given_bezoutsecondfirstreal) = S ge_signed_half_gauss_given_bezoutsecondfirstrealdecode))) /\ ((ge_first_rp_gauss_given_bezoutsecond) + ge_balance_negative_gauss_given_bezoutsecondfirstreal = (ge_first_rn_gauss_given_bezoutsecond) + ge_balance_positive_gauss_given_bezoutsecondfirstreal))) /\ (exists ge_balance_positive_gauss_given_bezoutsecondfirstimaginary ge_balance_negative_gauss_given_bezoutsecondfirstimaginary. (((((ge_representation_imaginary_code_gauss_given_bezoutsecondfirst) = 2 * (ge_balance_positive_gauss_given_bezoutsecondfirstimaginary) /\ (ge_balance_negative_gauss_given_bezoutsecondfirstimaginary) = 0) \/ exists ge_signed_half_gauss_given_bezoutsecondfirstimaginarydecode. (((ge_representation_imaginary_code_gauss_given_bezoutsecondfirst) = 2 * ge_signed_half_gauss_given_bezoutsecondfirstimaginarydecode + 1 /\ (ge_balance_positive_gauss_given_bezoutsecondfirstimaginary) = 0) /\ (ge_balance_negative_gauss_given_bezoutsecondfirstimaginary) = S ge_signed_half_gauss_given_bezoutsecondfirstimaginarydecode))) /\ ((ge_first_ip_gauss_given_bezoutsecond) + ge_balance_negative_gauss_given_bezoutsecondfirstimaginary = (ge_first_in_gauss_given_bezoutsecond) + ge_balance_positive_gauss_given_bezoutsecondfirstimaginary)))))) /\ ((exists ge_representation_real_code_gauss_given_bezoutsecondsecond ge_representation_imaginary_code_gauss_given_bezoutsecondsecond. (((v) = ((ge_representation_real_code_gauss_given_bezoutsecondsecond) + (ge_representation_imaginary_code_gauss_given_bezoutsecondsecond)) * S ((ge_representation_real_code_gauss_given_bezoutsecondsecond) + (ge_representation_imaginary_code_gauss_given_bezoutsecondsecond)) + ((ge_representation_imaginary_code_gauss_given_bezoutsecondsecond) + (ge_representation_imaginary_code_gauss_given_bezoutsecondsecond))) /\ ((exists ge_balance_positive_gauss_given_bezoutsecondsecondreal ge_balance_negative_gauss_given_bezoutsecondsecondreal. (((((ge_representation_real_code_gauss_given_bezoutsecondsecond) = 2 * (ge_balance_positive_gauss_given_bezoutsecondsecondreal) /\ (ge_balance_negative_gauss_given_bezoutsecondsecondreal) = 0) \/ exists ge_signed_half_gauss_given_bezoutsecondsecondrealdecode. (((ge_representation_real_code_gauss_given_bezoutsecondsecond) = 2 * ge_signed_half_gauss_given_bezoutsecondsecondrealdecode + 1 /\ (ge_balance_positive_gauss_given_bezoutsecondsecondreal) = 0) /\ (ge_balance_negative_gauss_given_bezoutsecondsecondreal) = S ge_signed_half_gauss_given_bezoutsecondsecondrealdecode))) /\ ((ge_second_rp_gauss_given_bezoutsecond) + ge_balance_negative_gauss_given_bezoutsecondsecondreal = (ge_second_rn_gauss_given_bezoutsecond) + ge_balance_positive_gauss_given_bezoutsecondsecondreal))) /\ (exists ge_balance_positive_gauss_given_bezoutsecondsecondimaginary ge_balance_negative_gauss_given_bezoutsecondsecondimaginary. (((((ge_representation_imaginary_code_gauss_given_bezoutsecondsecond) = 2 * (ge_balance_positive_gauss_given_bezoutsecondsecondimaginary) /\ (ge_balance_negative_gauss_given_bezoutsecondsecondimaginary) = 0) \/ exists ge_signed_half_gauss_given_bezoutsecondsecondimaginarydecode. (((ge_representation_imaginary_code_gauss_given_bezoutsecondsecond) = 2 * ge_signed_half_gauss_given_bezoutsecondsecondimaginarydecode + 1 /\ (ge_balance_positive_gauss_given_bezoutsecondsecondimaginary) = 0) /\ (ge_balance_negative_gauss_given_bezoutsecondsecondimaginary) = S ge_signed_half_gauss_given_bezoutsecondsecondimaginarydecode))) /\ ((ge_second_ip_gauss_given_bezoutsecond) + ge_balance_negative_gauss_given_bezoutsecondsecondimaginary = (ge_second_in_gauss_given_bezoutsecond) + ge_balance_positive_gauss_given_bezoutsecondsecondimaginary)))))) /\ (exists ge_representation_real_code_gauss_given_bezoutsecondoutput ge_representation_imaginary_code_gauss_given_bezoutsecondoutput. (((gr_second_product_gauss_given_bezout) = ((ge_representation_real_code_gauss_given_bezoutsecondoutput) + (ge_representation_imaginary_code_gauss_given_bezoutsecondoutput)) * S ((ge_representation_real_code_gauss_given_bezoutsecondoutput) + (ge_representation_imaginary_code_gauss_given_bezoutsecondoutput)) + ((ge_representation_imaginary_code_gauss_given_bezoutsecondoutput) + (ge_representation_imaginary_code_gauss_given_bezoutsecondoutput))) /\ ((exists ge_balance_positive_gauss_given_bezoutsecondoutputreal ge_balance_negative_gauss_given_bezoutsecondoutputreal. (((((ge_representation_real_code_gauss_given_bezoutsecondoutput) = 2 * (ge_balance_positive_gauss_given_bezoutsecondoutputreal) /\ (ge_balance_negative_gauss_given_bezoutsecondoutputreal) = 0) \/ exists ge_signed_half_gauss_given_bezoutsecondoutputrealdecode. (((ge_representation_real_code_gauss_given_bezoutsecondoutput) = 2 * ge_signed_half_gauss_given_bezoutsecondoutputrealdecode + 1 /\ (ge_balance_positive_gauss_given_bezoutsecondoutputreal) = 0) /\ (ge_balance_negative_gauss_given_bezoutsecondoutputreal) = S ge_signed_half_gauss_given_bezoutsecondoutputrealdecode))) /\ ((((((((ge_first_rp_gauss_given_bezoutsecond) * (ge_second_rp_gauss_given_bezoutsecond))) + (((ge_first_rn_gauss_given_bezoutsecond) * (ge_second_rn_gauss_given_bezoutsecond))))) + (((((ge_first_ip_gauss_given_bezoutsecond) * (ge_second_in_gauss_given_bezoutsecond))) + (((ge_first_in_gauss_given_bezoutsecond) * (ge_second_ip_gauss_given_bezoutsecond))))))) + ge_balance_negative_gauss_given_bezoutsecondoutputreal = (((((((ge_first_rp_gauss_given_bezoutsecond) * (ge_second_rn_gauss_given_bezoutsecond))) + (((ge_first_rn_gauss_given_bezoutsecond) * (ge_second_rp_gauss_given_bezoutsecond))))) + (((((ge_first_ip_gauss_given_bezoutsecond) * (ge_second_ip_gauss_given_bezoutsecond))) + (((ge_first_in_gauss_given_bezoutsecond) * (ge_second_in_gauss_given_bezoutsecond))))))) + ge_balance_positive_gauss_given_bezoutsecondoutputreal))) /\ (exists ge_balance_positive_gauss_given_bezoutsecondoutputimaginary ge_balance_negative_gauss_given_bezoutsecondoutputimaginary. (((((ge_representation_imaginary_code_gauss_given_bezoutsecondoutput) = 2 * (ge_balance_positive_gauss_given_bezoutsecondoutputimaginary) /\ (ge_balance_negative_gauss_given_bezoutsecondoutputimaginary) = 0) \/ exists ge_signed_half_gauss_given_bezoutsecondoutputimaginarydecode. (((ge_representation_imaginary_code_gauss_given_bezoutsecondoutput) = 2 * ge_signed_half_gauss_given_bezoutsecondoutputimaginarydecode + 1 /\ (ge_balance_positive_gauss_given_bezoutsecondoutputimaginary) = 0) /\ (ge_balance_negative_gauss_given_bezoutsecondoutputimaginary) = S ge_signed_half_gauss_given_bezoutsecondoutputimaginarydecode))) /\ ((((((((ge_first_rp_gauss_given_bezoutsecond) * (ge_second_ip_gauss_given_bezoutsecond))) + (((ge_first_rn_gauss_given_bezoutsecond) * (ge_second_in_gauss_given_bezoutsecond))))) + (((((ge_first_ip_gauss_given_bezoutsecond) * (ge_second_rp_gauss_given_bezoutsecond))) + (((ge_first_in_gauss_given_bezoutsecond) * (ge_second_rn_gauss_given_bezoutsecond))))))) + ge_balance_negative_gauss_given_bezoutsecondoutputimaginary = (((((((ge_first_rp_gauss_given_bezoutsecond) * (ge_second_in_gauss_given_bezoutsecond))) + (((ge_first_rn_gauss_given_bezoutsecond) * (ge_second_ip_gauss_given_bezoutsecond))))) + (((((ge_first_ip_gauss_given_bezoutsecond) * (ge_second_rn_gauss_given_bezoutsecond))) + (((ge_first_in_gauss_given_bezoutsecond) * (ge_second_rp_gauss_given_bezoutsecond))))))) + ge_balance_positive_gauss_given_bezoutsecondoutputimaginary))))))))) /\ (exists ge_first_rp_gauss_given_bezoutsum ge_first_rn_gauss_given_bezoutsum ge_first_ip_gauss_given_bezoutsum ge_first_in_gauss_given_bezoutsum ge_second_rp_gauss_given_bezoutsum ge_second_rn_gauss_given_bezoutsum ge_second_ip_gauss_given_bezoutsum ge_second_in_gauss_given_bezoutsum. ((exists ge_representation_real_code_gauss_given_bezoutsumfirst ge_representation_imaginary_code_gauss_given_bezoutsumfirst. (((gr_first_product_gauss_given_bezout) = ((ge_representation_real_code_gauss_given_bezoutsumfirst) + (ge_representation_imaginary_code_gauss_given_bezoutsumfirst)) * S ((ge_representation_real_code_gauss_given_bezoutsumfirst) + (ge_representation_imaginary_code_gauss_given_bezoutsumfirst)) + ((ge_representation_imaginary_code_gauss_given_bezoutsumfirst) + (ge_representation_imaginary_code_gauss_given_bezoutsumfirst))) /\ ((exists ge_balance_positive_gauss_given_bezoutsumfirstreal ge_balance_negative_gauss_given_bezoutsumfirstreal. (((((ge_representation_real_code_gauss_given_bezoutsumfirst) = 2 * (ge_balance_positive_gauss_given_bezoutsumfirstreal) /\ (ge_balance_negative_gauss_given_bezoutsumfirstreal) = 0) \/ exists ge_signed_half_gauss_given_bezoutsumfirstrealdecode. (((ge_representation_real_code_gauss_given_bezoutsumfirst) = 2 * ge_signed_half_gauss_given_bezoutsumfirstrealdecode + 1 /\ (ge_balance_positive_gauss_given_bezoutsumfirstreal) = 0) /\ (ge_balance_negative_gauss_given_bezoutsumfirstreal) = S ge_signed_half_gauss_given_bezoutsumfirstrealdecode))) /\ ((ge_first_rp_gauss_given_bezoutsum) + ge_balance_negative_gauss_given_bezoutsumfirstreal = (ge_first_rn_gauss_given_bezoutsum) + ge_balance_positive_gauss_given_bezoutsumfirstreal))) /\ (exists ge_balance_positive_gauss_given_bezoutsumfirstimaginary ge_balance_negative_gauss_given_bezoutsumfirstimaginary. (((((ge_representation_imaginary_code_gauss_given_bezoutsumfirst) = 2 * (ge_balance_positive_gauss_given_bezoutsumfirstimaginary) /\ (ge_balance_negative_gauss_given_bezoutsumfirstimaginary) = 0) \/ exists ge_signed_half_gauss_given_bezoutsumfirstimaginarydecode. (((ge_representation_imaginary_code_gauss_given_bezoutsumfirst) = 2 * ge_signed_half_gauss_given_bezoutsumfirstimaginarydecode + 1 /\ (ge_balance_positive_gauss_given_bezoutsumfirstimaginary) = 0) /\ (ge_balance_negative_gauss_given_bezoutsumfirstimaginary) = S ge_signed_half_gauss_given_bezoutsumfirstimaginarydecode))) /\ ((ge_first_ip_gauss_given_bezoutsum) + ge_balance_negative_gauss_given_bezoutsumfirstimaginary = (ge_first_in_gauss_given_bezoutsum) + ge_balance_positive_gauss_given_bezoutsumfirstimaginary)))))) /\ ((exists ge_representation_real_code_gauss_given_bezoutsumsecond ge_representation_imaginary_code_gauss_given_bezoutsumsecond. (((gr_second_product_gauss_given_bezout) = ((ge_representation_real_code_gauss_given_bezoutsumsecond) + (ge_representation_imaginary_code_gauss_given_bezoutsumsecond)) * S ((ge_representation_real_code_gauss_given_bezoutsumsecond) + (ge_representation_imaginary_code_gauss_given_bezoutsumsecond)) + ((ge_representation_imaginary_code_gauss_given_bezoutsumsecond) + (ge_representation_imaginary_code_gauss_given_bezoutsumsecond))) /\ ((exists ge_balance_positive_gauss_given_bezoutsumsecondreal ge_balance_negative_gauss_given_bezoutsumsecondreal. (((((ge_representation_real_code_gauss_given_bezoutsumsecond) = 2 * (ge_balance_positive_gauss_given_bezoutsumsecondreal) /\ (ge_balance_negative_gauss_given_bezoutsumsecondreal) = 0) \/ exists ge_signed_half_gauss_given_bezoutsumsecondrealdecode. (((ge_representation_real_code_gauss_given_bezoutsumsecond) = 2 * ge_signed_half_gauss_given_bezoutsumsecondrealdecode + 1 /\ (ge_balance_positive_gauss_given_bezoutsumsecondreal) = 0) /\ (ge_balance_negative_gauss_given_bezoutsumsecondreal) = S ge_signed_half_gauss_given_bezoutsumsecondrealdecode))) /\ ((ge_second_rp_gauss_given_bezoutsum) + ge_balance_negative_gauss_given_bezoutsumsecondreal = (ge_second_rn_gauss_given_bezoutsum) + ge_balance_positive_gauss_given_bezoutsumsecondreal))) /\ (exists ge_balance_positive_gauss_given_bezoutsumsecondimaginary ge_balance_negative_gauss_given_bezoutsumsecondimaginary. (((((ge_representation_imaginary_code_gauss_given_bezoutsumsecond) = 2 * (ge_balance_positive_gauss_given_bezoutsumsecondimaginary) /\ (ge_balance_negative_gauss_given_bezoutsumsecondimaginary) = 0) \/ exists ge_signed_half_gauss_given_bezoutsumsecondimaginarydecode. (((ge_representation_imaginary_code_gauss_given_bezoutsumsecond) = 2 * ge_signed_half_gauss_given_bezoutsumsecondimaginarydecode + 1 /\ (ge_balance_positive_gauss_given_bezoutsumsecondimaginary) = 0) /\ (ge_balance_negative_gauss_given_bezoutsumsecondimaginary) = S ge_signed_half_gauss_given_bezoutsumsecondimaginarydecode))) /\ ((ge_second_ip_gauss_given_bezoutsum) + ge_balance_negative_gauss_given_bezoutsumsecondimaginary = (ge_second_in_gauss_given_bezoutsum) + ge_balance_positive_gauss_given_bezoutsumsecondimaginary)))))) /\ (exists ge_representation_real_code_gauss_given_bezoutsumoutput ge_representation_imaginary_code_gauss_given_bezoutsumoutput. (((g) = ((ge_representation_real_code_gauss_given_bezoutsumoutput) + (ge_representation_imaginary_code_gauss_given_bezoutsumoutput)) * S ((ge_representation_real_code_gauss_given_bezoutsumoutput) + (ge_representation_imaginary_code_gauss_given_bezoutsumoutput)) + ((ge_representation_imaginary_code_gauss_given_bezoutsumoutput) + (ge_representation_imaginary_code_gauss_given_bezoutsumoutput))) /\ ((exists ge_balance_positive_gauss_given_bezoutsumoutputreal ge_balance_negative_gauss_given_bezoutsumoutputreal. (((((ge_representation_real_code_gauss_given_bezoutsumoutput) = 2 * (ge_balance_positive_gauss_given_bezoutsumoutputreal) /\ (ge_balance_negative_gauss_given_bezoutsumoutputreal) = 0) \/ exists ge_signed_half_gauss_given_bezoutsumoutputrealdecode. (((ge_representation_real_code_gauss_given_bezoutsumoutput) = 2 * ge_signed_half_gauss_given_bezoutsumoutputrealdecode + 1 /\ (ge_balance_positive_gauss_given_bezoutsumoutputreal) = 0) /\ (ge_balance_negative_gauss_given_bezoutsumoutputreal) = S ge_signed_half_gauss_given_bezoutsumoutputrealdecode))) /\ ((((ge_first_rp_gauss_given_bezoutsum) + (ge_second_rp_gauss_given_bezoutsum))) + ge_balance_negative_gauss_given_bezoutsumoutputreal = (((ge_first_rn_gauss_given_bezoutsum) + (ge_second_rn_gauss_given_bezoutsum))) + ge_balance_positive_gauss_given_bezoutsumoutputreal))) /\ (exists ge_balance_positive_gauss_given_bezoutsumoutputimaginary ge_balance_negative_gauss_given_bezoutsumoutputimaginary. (((((ge_representation_imaginary_code_gauss_given_bezoutsumoutput) = 2 * (ge_balance_positive_gauss_given_bezoutsumoutputimaginary) /\ (ge_balance_negative_gauss_given_bezoutsumoutputimaginary) = 0) \/ exists ge_signed_half_gauss_given_bezoutsumoutputimaginarydecode. (((ge_representation_imaginary_code_gauss_given_bezoutsumoutput) = 2 * ge_signed_half_gauss_given_bezoutsumoutputimaginarydecode + 1 /\ (ge_balance_positive_gauss_given_bezoutsumoutputimaginary) = 0) /\ (ge_balance_negative_gauss_given_bezoutsumoutputimaginary) = S ge_signed_half_gauss_given_bezoutsumoutputimaginarydecode))) /\ ((((ge_first_ip_gauss_given_bezoutsum) + (ge_second_ip_gauss_given_bezoutsum))) + ge_balance_negative_gauss_given_bezoutsumoutputimaginary = (((ge_first_in_gauss_given_bezoutsum) + (ge_second_in_gauss_given_bezoutsum))) + ge_balance_positive_gauss_given_bezoutsumoutputimaginary)))))))))))) -> (exists gr_inverse_gauss_given_unit. (exists ge_first_rp_gauss_given_unitidentity ge_first_rn_gauss_given_unitidentity ge_first_ip_gauss_given_unitidentity ge_first_in_gauss_given_unitidentity ge_second_rp_gauss_given_unitidentity ge_second_rn_gauss_given_unitidentity ge_second_ip_gauss_given_unitidentity ge_second_in_gauss_given_unitidentity. ((exists ge_representation_real_code_gauss_given_unitidentityfirst ge_representation_imaginary_code_gauss_given_unitidentityfirst. (((g) = ((ge_representation_real_code_gauss_given_unitidentityfirst) + (ge_representation_imaginary_code_gauss_given_unitidentityfirst)) * S ((ge_representation_real_code_gauss_given_unitidentityfirst) + (ge_representation_imaginary_code_gauss_given_unitidentityfirst)) + ((ge_representation_imaginary_code_gauss_given_unitidentityfirst) + (ge_representation_imaginary_code_gauss_given_unitidentityfirst))) /\ ((exists ge_balance_positive_gauss_given_unitidentityfirstreal ge_balance_negative_gauss_given_unitidentityfirstreal. (((((ge_representation_real_code_gauss_given_unitidentityfirst) = 2 * (ge_balance_positive_gauss_given_unitidentityfirstreal) /\ (ge_balance_negative_gauss_given_unitidentityfirstreal) = 0) \/ exists ge_signed_half_gauss_given_unitidentityfirstrealdecode. (((ge_representation_real_code_gauss_given_unitidentityfirst) = 2 * ge_signed_half_gauss_given_unitidentityfirstrealdecode + 1 /\ (ge_balance_positive_gauss_given_unitidentityfirstreal) = 0) /\ (ge_balance_negative_gauss_given_unitidentityfirstreal) = S ge_signed_half_gauss_given_unitidentityfirstrealdecode))) /\ ((ge_first_rp_gauss_given_unitidentity) + ge_balance_negative_gauss_given_unitidentityfirstreal = (ge_first_rn_gauss_given_unitidentity) + ge_balance_positive_gauss_given_unitidentityfirstreal))) /\ (exists ge_balance_positive_gauss_given_unitidentityfirstimaginary ge_balance_negative_gauss_given_unitidentityfirstimaginary. (((((ge_representation_imaginary_code_gauss_given_unitidentityfirst) = 2 * (ge_balance_positive_gauss_given_unitidentityfirstimaginary) /\ (ge_balance_negative_gauss_given_unitidentityfirstimaginary) = 0) \/ exists ge_signed_half_gauss_given_unitidentityfirstimaginarydecode. (((ge_representation_imaginary_code_gauss_given_unitidentityfirst) = 2 * ge_signed_half_gauss_given_unitidentityfirstimaginarydecode + 1 /\ (ge_balance_positive_gauss_given_unitidentityfirstimaginary) = 0) /\ (ge_balance_negative_gauss_given_unitidentityfirstimaginary) = S ge_signed_half_gauss_given_unitidentityfirstimaginarydecode))) /\ ((ge_first_ip_gauss_given_unitidentity) + ge_balance_negative_gauss_given_unitidentityfirstimaginary = (ge_first_in_gauss_given_unitidentity) + ge_balance_positive_gauss_given_unitidentityfirstimaginary)))))) /\ ((exists ge_representation_real_code_gauss_given_unitidentitysecond ge_representation_imaginary_code_gauss_given_unitidentitysecond. (((gr_inverse_gauss_given_unit) = ((ge_representation_real_code_gauss_given_unitidentitysecond) + (ge_representation_imaginary_code_gauss_given_unitidentitysecond)) * S ((ge_representation_real_code_gauss_given_unitidentitysecond) + (ge_representation_imaginary_code_gauss_given_unitidentitysecond)) + ((ge_representation_imaginary_code_gauss_given_unitidentitysecond) + (ge_representation_imaginary_code_gauss_given_unitidentitysecond))) /\ ((exists ge_balance_positive_gauss_given_unitidentitysecondreal ge_balance_negative_gauss_given_unitidentitysecondreal. (((((ge_representation_real_code_gauss_given_unitidentitysecond) = 2 * (ge_balance_positive_gauss_given_unitidentitysecondreal) /\ (ge_balance_negative_gauss_given_unitidentitysecondreal) = 0) \/ exists ge_signed_half_gauss_given_unitidentitysecondrealdecode. (((ge_representation_real_code_gauss_given_unitidentitysecond) = 2 * ge_signed_half_gauss_given_unitidentitysecondrealdecode + 1 /\ (ge_balance_positive_gauss_given_unitidentitysecondreal) = 0) /\ (ge_balance_negative_gauss_given_unitidentitysecondreal) = S ge_signed_half_gauss_given_unitidentitysecondrealdecode))) /\ ((ge_second_rp_gauss_given_unitidentity) + ge_balance_negative_gauss_given_unitidentitysecondreal = (ge_second_rn_gauss_given_unitidentity) + ge_balance_positive_gauss_given_unitidentitysecondreal))) /\ (exists ge_balance_positive_gauss_given_unitidentitysecondimaginary ge_balance_negative_gauss_given_unitidentitysecondimaginary. (((((ge_representation_imaginary_code_gauss_given_unitidentitysecond) = 2 * (ge_balance_positive_gauss_given_unitidentitysecondimaginary) /\ (ge_balance_negative_gauss_given_unitidentitysecondimaginary) = 0) \/ exists ge_signed_half_gauss_given_unitidentitysecondimaginarydecode. (((ge_representation_imaginary_code_gauss_given_unitidentitysecond) = 2 * ge_signed_half_gauss_given_unitidentitysecondimaginarydecode + 1 /\ (ge_balance_positive_gauss_given_unitidentitysecondimaginary) = 0) /\ (ge_balance_negative_gauss_given_unitidentitysecondimaginary) = S ge_signed_half_gauss_given_unitidentitysecondimaginarydecode))) /\ ((ge_second_ip_gauss_given_unitidentity) + ge_balance_negative_gauss_given_unitidentitysecondimaginary = (ge_second_in_gauss_given_unitidentity) + ge_balance_positive_gauss_given_unitidentitysecondimaginary)))))) /\ (exists ge_representation_real_code_gauss_given_unitidentityoutput ge_representation_imaginary_code_gauss_given_unitidentityoutput. (((6) = ((ge_representation_real_code_gauss_given_unitidentityoutput) + (ge_representation_imaginary_code_gauss_given_unitidentityoutput)) * S ((ge_representation_real_code_gauss_given_unitidentityoutput) + (ge_representation_imaginary_code_gauss_given_unitidentityoutput)) + ((ge_representation_imaginary_code_gauss_given_unitidentityoutput) + (ge_representation_imaginary_code_gauss_given_unitidentityoutput))) /\ ((exists ge_balance_positive_gauss_given_unitidentityoutputreal ge_balance_negative_gauss_given_unitidentityoutputreal. (((((ge_representation_real_code_gauss_given_unitidentityoutput) = 2 * (ge_balance_positive_gauss_given_unitidentityoutputreal) /\ (ge_balance_negative_gauss_given_unitidentityoutputreal) = 0) \/ exists ge_signed_half_gauss_given_unitidentityoutputrealdecode. (((ge_representation_real_code_gauss_given_unitidentityoutput) = 2 * ge_signed_half_gauss_given_unitidentityoutputrealdecode + 1 /\ (ge_balance_positive_gauss_given_unitidentityoutputreal) = 0) /\ (ge_balance_negative_gauss_given_unitidentityoutputreal) = S ge_signed_half_gauss_given_unitidentityoutputrealdecode))) /\ ((((((((ge_first_rp_gauss_given_unitidentity) * (ge_second_rp_gauss_given_unitidentity))) + (((ge_first_rn_gauss_given_unitidentity) * (ge_second_rn_gauss_given_unitidentity))))) + (((((ge_first_ip_gauss_given_unitidentity) * (ge_second_in_gauss_given_unitidentity))) + (((ge_first_in_gauss_given_unitidentity) * (ge_second_ip_gauss_given_unitidentity))))))) + ge_balance_negative_gauss_given_unitidentityoutputreal = (((((((ge_first_rp_gauss_given_unitidentity) * (ge_second_rn_gauss_given_unitidentity))) + (((ge_first_rn_gauss_given_unitidentity) * (ge_second_rp_gauss_given_unitidentity))))) + (((((ge_first_ip_gauss_given_unitidentity) * (ge_second_ip_gauss_given_unitidentity))) + (((ge_first_in_gauss_given_unitidentity) * (ge_second_in_gauss_given_unitidentity))))))) + ge_balance_positive_gauss_given_unitidentityoutputreal))) /\ (exists ge_balance_positive_gauss_given_unitidentityoutputimaginary ge_balance_negative_gauss_given_unitidentityoutputimaginary. (((((ge_representation_imaginary_code_gauss_given_unitidentityoutput) = 2 * (ge_balance_positive_gauss_given_unitidentityoutputimaginary) /\ (ge_balance_negative_gauss_given_unitidentityoutputimaginary) = 0) \/ exists ge_signed_half_gauss_given_unitidentityoutputimaginarydecode. (((ge_representation_imaginary_code_gauss_given_unitidentityoutput) = 2 * ge_signed_half_gauss_given_unitidentityoutputimaginarydecode + 1 /\ (ge_balance_positive_gauss_given_unitidentityoutputimaginary) = 0) /\ (ge_balance_negative_gauss_given_unitidentityoutputimaginary) = S ge_signed_half_gauss_given_unitidentityoutputimaginarydecode))) /\ ((((((((ge_first_rp_gauss_given_unitidentity) * (ge_second_ip_gauss_given_unitidentity))) + (((ge_first_rn_gauss_given_unitidentity) * (ge_second_in_gauss_given_unitidentity))))) + (((((ge_first_ip_gauss_given_unitidentity) * (ge_second_rp_gauss_given_unitidentity))) + (((ge_first_in_gauss_given_unitidentity) * (ge_second_rn_gauss_given_unitidentity))))))) + ge_balance_negative_gauss_given_unitidentityoutputimaginary = (((((((ge_first_rp_gauss_given_unitidentity) * (ge_second_in_gauss_given_unitidentity))) + (((ge_first_rn_gauss_given_unitidentity) * (ge_second_ip_gauss_given_unitidentity))))) + (((((ge_first_ip_gauss_given_unitidentity) * (ge_second_rn_gauss_given_unitidentity))) + (((ge_first_in_gauss_given_unitidentity) * (ge_second_rp_gauss_given_unitidentity))))))) + ge_balance_positive_gauss_given_unitidentityoutputimaginary)))))))))) -> (exists gr_quotient_gauss_result. (exists ge_first_rp_gauss_resultproduct ge_first_rn_gauss_resultproduct ge_first_ip_gauss_resultproduct ge_first_in_gauss_resultproduct ge_second_rp_gauss_resultproduct ge_second_rn_gauss_resultproduct ge_second_ip_gauss_resultproduct ge_second_in_gauss_resultproduct. ((exists ge_representation_real_code_gauss_resultproductfirst ge_representation_imaginary_code_gauss_resultproductfirst. (((p) = ((ge_representation_real_code_gauss_resultproductfirst) + (ge_representation_imaginary_code_gauss_resultproductfirst)) * S ((ge_representation_real_code_gauss_resultproductfirst) + (ge_representation_imaginary_code_gauss_resultproductfirst)) + ((ge_representation_imaginary_code_gauss_resultproductfirst) + (ge_representation_imaginary_code_gauss_resultproductfirst))) /\ ((exists ge_balance_positive_gauss_resultproductfirstreal ge_balance_negative_gauss_resultproductfirstreal. (((((ge_representation_real_code_gauss_resultproductfirst) = 2 * (ge_balance_positive_gauss_resultproductfirstreal) /\ (ge_balance_negative_gauss_resultproductfirstreal) = 0) \/ exists ge_signed_half_gauss_resultproductfirstrealdecode. (((ge_representation_real_code_gauss_resultproductfirst) = 2 * ge_signed_half_gauss_resultproductfirstrealdecode + 1 /\ (ge_balance_positive_gauss_resultproductfirstreal) = 0) /\ (ge_balance_negative_gauss_resultproductfirstreal) = S ge_signed_half_gauss_resultproductfirstrealdecode))) /\ ((ge_first_rp_gauss_resultproduct) + ge_balance_negative_gauss_resultproductfirstreal = (ge_first_rn_gauss_resultproduct) + ge_balance_positive_gauss_resultproductfirstreal))) /\ (exists ge_balance_positive_gauss_resultproductfirstimaginary ge_balance_negative_gauss_resultproductfirstimaginary. (((((ge_representation_imaginary_code_gauss_resultproductfirst) = 2 * (ge_balance_positive_gauss_resultproductfirstimaginary) /\ (ge_balance_negative_gauss_resultproductfirstimaginary) = 0) \/ exists ge_signed_half_gauss_resultproductfirstimaginarydecode. (((ge_representation_imaginary_code_gauss_resultproductfirst) = 2 * ge_signed_half_gauss_resultproductfirstimaginarydecode + 1 /\ (ge_balance_positive_gauss_resultproductfirstimaginary) = 0) /\ (ge_balance_negative_gauss_resultproductfirstimaginary) = S ge_signed_half_gauss_resultproductfirstimaginarydecode))) /\ ((ge_first_ip_gauss_resultproduct) + ge_balance_negative_gauss_resultproductfirstimaginary = (ge_first_in_gauss_resultproduct) + ge_balance_positive_gauss_resultproductfirstimaginary)))))) /\ ((exists ge_representation_real_code_gauss_resultproductsecond ge_representation_imaginary_code_gauss_resultproductsecond. (((gr_quotient_gauss_result) = ((ge_representation_real_code_gauss_resultproductsecond) + (ge_representation_imaginary_code_gauss_resultproductsecond)) * S ((ge_representation_real_code_gauss_resultproductsecond) + (ge_representation_imaginary_code_gauss_resultproductsecond)) + ((ge_representation_imaginary_code_gauss_resultproductsecond) + (ge_representation_imaginary_code_gauss_resultproductsecond))) /\ ((exists ge_balance_positive_gauss_resultproductsecondreal ge_balance_negative_gauss_resultproductsecondreal. (((((ge_representation_real_code_gauss_resultproductsecond) = 2 * (ge_balance_positive_gauss_resultproductsecondreal) /\ (ge_balance_negative_gauss_resultproductsecondreal) = 0) \/ exists ge_signed_half_gauss_resultproductsecondrealdecode. (((ge_representation_real_code_gauss_resultproductsecond) = 2 * ge_signed_half_gauss_resultproductsecondrealdecode + 1 /\ (ge_balance_positive_gauss_resultproductsecondreal) = 0) /\ (ge_balance_negative_gauss_resultproductsecondreal) = S ge_signed_half_gauss_resultproductsecondrealdecode))) /\ ((ge_second_rp_gauss_resultproduct) + ge_balance_negative_gauss_resultproductsecondreal = (ge_second_rn_gauss_resultproduct) + ge_balance_positive_gauss_resultproductsecondreal))) /\ (exists ge_balance_positive_gauss_resultproductsecondimaginary ge_balance_negative_gauss_resultproductsecondimaginary. (((((ge_representation_imaginary_code_gauss_resultproductsecond) = 2 * (ge_balance_positive_gauss_resultproductsecondimaginary) /\ (ge_balance_negative_gauss_resultproductsecondimaginary) = 0) \/ exists ge_signed_half_gauss_resultproductsecondimaginarydecode. (((ge_representation_imaginary_code_gauss_resultproductsecond) = 2 * ge_signed_half_gauss_resultproductsecondimaginarydecode + 1 /\ (ge_balance_positive_gauss_resultproductsecondimaginary) = 0) /\ (ge_balance_negative_gauss_resultproductsecondimaginary) = S ge_signed_half_gauss_resultproductsecondimaginarydecode))) /\ ((ge_second_ip_gauss_resultproduct) + ge_balance_negative_gauss_resultproductsecondimaginary = (ge_second_in_gauss_resultproduct) + ge_balance_positive_gauss_resultproductsecondimaginary)))))) /\ (exists ge_representation_real_code_gauss_resultproductoutput ge_representation_imaginary_code_gauss_resultproductoutput. (((b) = ((ge_representation_real_code_gauss_resultproductoutput) + (ge_representation_imaginary_code_gauss_resultproductoutput)) * S ((ge_representation_real_code_gauss_resultproductoutput) + (ge_representation_imaginary_code_gauss_resultproductoutput)) + ((ge_representation_imaginary_code_gauss_resultproductoutput) + (ge_representation_imaginary_code_gauss_resultproductoutput))) /\ ((exists ge_balance_positive_gauss_resultproductoutputreal ge_balance_negative_gauss_resultproductoutputreal. (((((ge_representation_real_code_gauss_resultproductoutput) = 2 * (ge_balance_positive_gauss_resultproductoutputreal) /\ (ge_balance_negative_gauss_resultproductoutputreal) = 0) \/ exists ge_signed_half_gauss_resultproductoutputrealdecode. (((ge_representation_real_code_gauss_resultproductoutput) = 2 * ge_signed_half_gauss_resultproductoutputrealdecode + 1 /\ (ge_balance_positive_gauss_resultproductoutputreal) = 0) /\ (ge_balance_negative_gauss_resultproductoutputreal) = S ge_signed_half_gauss_resultproductoutputrealdecode))) /\ ((((((((ge_first_rp_gauss_resultproduct) * (ge_second_rp_gauss_resultproduct))) + (((ge_first_rn_gauss_resultproduct) * (ge_second_rn_gauss_resultproduct))))) + (((((ge_first_ip_gauss_resultproduct) * (ge_second_in_gauss_resultproduct))) + (((ge_first_in_gauss_resultproduct) * (ge_second_ip_gauss_resultproduct))))))) + ge_balance_negative_gauss_resultproductoutputreal = (((((((ge_first_rp_gauss_resultproduct) * (ge_second_rn_gauss_resultproduct))) + (((ge_first_rn_gauss_resultproduct) * (ge_second_rp_gauss_resultproduct))))) + (((((ge_first_ip_gauss_resultproduct) * (ge_second_ip_gauss_resultproduct))) + (((ge_first_in_gauss_resultproduct) * (ge_second_in_gauss_resultproduct))))))) + ge_balance_positive_gauss_resultproductoutputreal))) /\ (exists ge_balance_positive_gauss_resultproductoutputimaginary ge_balance_negative_gauss_resultproductoutputimaginary. (((((ge_representation_imaginary_code_gauss_resultproductoutput) = 2 * (ge_balance_positive_gauss_resultproductoutputimaginary) /\ (ge_balance_negative_gauss_resultproductoutputimaginary) = 0) \/ exists ge_signed_half_gauss_resultproductoutputimaginarydecode. (((ge_representation_imaginary_code_gauss_resultproductoutput) = 2 * ge_signed_half_gauss_resultproductoutputimaginarydecode + 1 /\ (ge_balance_positive_gauss_resultproductoutputimaginary) = 0) /\ (ge_balance_negative_gauss_resultproductoutputimaginary) = S ge_signed_half_gauss_resultproductoutputimaginarydecode))) /\ ((((((((ge_first_rp_gauss_resultproduct) * (ge_second_ip_gauss_resultproduct))) + (((ge_first_rn_gauss_resultproduct) * (ge_second_in_gauss_resultproduct))))) + (((((ge_first_ip_gauss_resultproduct) * (ge_second_rp_gauss_resultproduct))) + (((ge_first_in_gauss_resultproduct) * (ge_second_rn_gauss_resultproduct))))))) + ge_balance_negative_gauss_resultproductoutputimaginary = (((((((ge_first_rp_gauss_resultproduct) * (ge_second_in_gauss_resultproduct))) + (((ge_first_rn_gauss_resultproduct) * (ge_second_ip_gauss_resultproduct))))) + (((((ge_first_ip_gauss_resultproduct) * (ge_second_rn_gauss_resultproduct))) + (((ge_first_in_gauss_resultproduct) * (ge_second_rp_gauss_resultproduct))))))) + ge_balance_positive_gauss_resultproductoutputimaginary))))))))))Constructive proof overview
Generated structural guide
An actual unit-valued Gaussian Bézout combination proves Euclid cancellation for actual divisors, by constructing every multiplied term and the genuine unit inverse.
The unchanged tactic script uses 13 declared prerequisites and contains 135 exact native proof lines.
Alpha v34 checked-use · first admitted v30 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
GF003E gaussian_unit_inverse gaussian_multiply_exists Alpha theorem; checked-use authorized GF0009 gaussian_multiply_output_valid GF0008 gaussian_multiply_input_right_valid GF001E gaussian_unit_valid GF0031 gaussian_multiply_swap_tail GF004B gaussian_common_divisor_add GF0049 gaussian_divides_product_left GF0039 gaussian_multiply_add_distribute_right GF0048 gaussian_divides_transitive GF0014 gaussian_multiply_commutative GF0025 gaussian_multiply_associative GF0029 gaussian_multiply_one_leftDirect 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 (12)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–11
Work with arbitrary variables or the premises of the current implication.
- L11
intro hunit
03Separate the logical casesL12–15
04Establish hinverseL16–19
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian unit inverse.
05Separate the logical casesL20–22
06Establish hPL23–32
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian multiply exists.
- L23
have hP : ∃ P. GMul(x,b,P)Definitions: GMul - L24
specialize gaussian_multiply_exists (x) - L25
specialize gaussian_multiply_exists (b) - L26
apply gaussian_multiply_exists - L27
specialize gaussian_multiply_output_valid (p) - L28
specialize gaussian_multiply_output_valid (u) - L29
specialize gaussian_multiply_output_valid (x) - L30
apply gaussian_multiply_output_valid - L31
exact hbez_witness_witness_left - L32
specialize gaussian_multiply_input_right_valid (a)
07Use earlier factsL33–36
08Separate the logical casesL37–37
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L37
cases hP
09Establish hQL38–47
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian multiply exists.
- L38
have hQ : ∃ Q. GMul(x1,b,Q)Definitions: GMul - L39
specialize gaussian_multiply_exists (x1) - L40
specialize gaussian_multiply_exists (b) - L41
apply gaussian_multiply_exists - L42
specialize gaussian_multiply_output_valid (a) - L43
specialize gaussian_multiply_output_valid (v) - L44
specialize gaussian_multiply_output_valid (x1) - L45
apply gaussian_multiply_output_valid - L46
exact hbez_witness_witness_right_left - L47
specialize gaussian_multiply_input_right_valid (a)
10Use earlier factsL48–51
11Separate the logical casesL52–52
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L52
cases hQ
12Establish hTL53–62
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian multiply exists.
- L53
have hT : ∃ T. GMul(g,b,T)Definitions: GMul - L54
specialize gaussian_multiply_exists (g) - L55
specialize gaussian_multiply_exists (b) - L56
apply gaussian_multiply_exists - L57
specialize gaussian_unit_valid (g) - L58
apply gaussian_unit_valid - L59
exact hunit - L60
specialize gaussian_multiply_input_right_valid (a) - L61
specialize gaussian_multiply_input_right_valid (b) - L62
specialize gaussian_multiply_input_right_valid (c)
13Use earlier factsL63–64
14Separate the logical casesL65–65
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L65
cases hT
15Establish hcvL66–75
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian multiply swap tail.
- L66
have hcv : GMul(c,v,x4)Definitions: GMul - L67
specialize gaussian_multiply_swap_tail (a) - L68
specialize gaussian_multiply_swap_tail (v) - L69
specialize gaussian_multiply_swap_tail (b) - L70
specialize gaussian_multiply_swap_tail (x1) - L71
specialize gaussian_multiply_swap_tail (c) - L72
specialize gaussian_multiply_swap_tail (x4) - L73
apply gaussian_multiply_swap_tail - L74
exact hbez_witness_witness_right_left - L75
exact hQ_witness
16Use earlier factsL76–76
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L76
exact hprod
17Establish htotalL77–86
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian common divisor add.
- L77
have htotal : GDvd(p,x5)Definitions: GDvd - L78
specialize gaussian_common_divisor_add (p) - L79
specialize gaussian_common_divisor_add (x3) - L80
specialize gaussian_common_divisor_add (x4) - L81
specialize gaussian_common_divisor_add (x5) - L82
apply gaussian_common_divisor_add - L83
specialize gaussian_divides_product_left (p) - L84
specialize gaussian_divides_product_left (x) - L85
specialize gaussian_divides_product_left (b) - L86
specialize gaussian_divides_product_left (x3)
18Use earlier factsL87–87
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L87
apply gaussian_divides_product_left
19Construct an explicit witnessL88–88
Supply the displayed value, then prove that it has the required property.
- L88
exists (u)
20Use earlier factsL89–98
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L89
exact hbez_witness_witness_left - L90
exact hP_witness - L91
specialize gaussian_divides_product_left (p) - L92
specialize gaussian_divides_product_left (c) - L93
specialize gaussian_divides_product_left (v) - L94
specialize gaussian_divides_product_left (x4) - L95
apply gaussian_divides_product_left - L96
exact hdiv - L97
exact hcv - L98
specialize gaussian_multiply_add_distribute_right (b)
21Use earlier factsL99–108
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L99
specialize gaussian_multiply_add_distribute_right (x) - L100
specialize gaussian_multiply_add_distribute_right (x1) - L101
specialize gaussian_multiply_add_distribute_right (g) - L102
specialize gaussian_multiply_add_distribute_right (x3) - L103
specialize gaussian_multiply_add_distribute_right (x4) - L104
specialize gaussian_multiply_add_distribute_right (x5) - L105
apply gaussian_multiply_add_distribute_right - L106
exact hbez_witness_witness_right_right - L107
exact hP_witness - L108
exact hQ_witness
22Use earlier factsL109–114
23Construct an explicit witnessL115–115
Supply the displayed value, then prove that it has the required property.
- L115
exists (x2)
24Use earlier factsL116–125
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L116
specialize gaussian_multiply_commutative (x2) - L117
specialize gaussian_multiply_commutative (x5) - L118
specialize gaussian_multiply_commutative (b) - L119
apply gaussian_multiply_commutative - L120
specialize gaussian_multiply_associative (x2) - L121
specialize gaussian_multiply_associative (g) - L122
specialize gaussian_multiply_associative (b) - L123
specialize gaussian_multiply_associative (6) - L124
specialize gaussian_multiply_associative (x5) - L125
specialize gaussian_multiply_associative (b)
25Use earlier factsL126–135
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L126
apply gaussian_multiply_associative - L127
exact hinverse_witness_right_right - L128
specialize gaussian_multiply_one_left (b) - L129
apply gaussian_multiply_one_left - L130
specialize gaussian_multiply_input_right_valid (a) - L131
specialize gaussian_multiply_input_right_valid (b) - L132
specialize gaussian_multiply_input_right_valid (c) - L133
apply gaussian_multiply_input_right_valid - L134
exact hprod - L135
exact hT_witness
Original exact command ledger · 135 lines
- 0001
intro p - 0002
intro a - 0003
intro b - 0004
intro c - 0005
intro g - 0006
intro u - 0007
intro v - 0008
intro hprod - 0009
intro hdiv - 0010
intro hbez - 0011
intro hunit - 0012
cases hbez - 0013
cases hbez_witness - 0014
cases hbez_witness_witness - 0015
cases hbez_witness_witness_right - 0016
have hinverse : exists w. ((exists gr_inverse_gauss_inverse_unit. (exists ge_first_rp_gauss_inverse_unitidentity ge_first_rn_gauss_inverse_unitidentity ge_first_ip_gauss_inverse_unitidentity ge_first_in_gauss_inverse_unitidentity ge_second_rp_gauss_inverse_unitidentity ge_second_rn_gauss_inverse_unitidentity ge_second_ip_gauss_inverse_unitidentity ge_second_in_gauss_inverse_unitidentity. ((exists ge_representation_real_code_gauss_inverse_unitidentityfirst ge_representation_imaginary_code_gauss_inverse_unitidentityfirst. (((w) = ((ge_representation_real_code_gauss_inverse_unitidentityfirst) + (ge_representation_imaginary_code_gauss_inverse_unitidentityfirst)) * S ((ge_representation_real_code_gauss_inverse_unitidentityfirst) + (ge_representation_imaginary_code_gauss_inverse_unitidentityfirst)) + ((ge_representation_imaginary_code_gauss_inverse_unitidentityfirst) + (ge_representation_imaginary_code_gauss_inverse_unitidentityfirst))) /\ ((exists ge_balance_positive_gauss_inverse_unitidentityfirstreal ge_balance_negative_gauss_inverse_unitidentityfirstreal. (((((ge_representation_real_code_gauss_inverse_unitidentityfirst) = 2 * (ge_balance_positive_gauss_inverse_unitidentityfirstreal) /\ (ge_balance_negative_gauss_inverse_unitidentityfirstreal) = 0) \/ exists ge_signed_half_gauss_inverse_unitidentityfirstrealdecode. (((ge_representation_real_code_gauss_inverse_unitidentityfirst) = 2 * ge_signed_half_gauss_inverse_unitidentityfirstrealdecode + 1 /\ (ge_balance_positive_gauss_inverse_unitidentityfirstreal) = 0) /\ (ge_balance_negative_gauss_inverse_unitidentityfirstreal) = S ge_signed_half_gauss_inverse_unitidentityfirstrealdecode))) /\ ((ge_first_rp_gauss_inverse_unitidentity) + ge_balance_negative_gauss_inverse_unitidentityfirstreal = (ge_first_rn_gauss_inverse_unitidentity) + ge_balance_positive_gauss_inverse_unitidentityfirstreal))) /\ (exists ge_balance_positive_gauss_inverse_unitidentityfirstimaginary ge_balance_negative_gauss_inverse_unitidentityfirstimaginary. (((((ge_representation_imaginary_code_gauss_inverse_unitidentityfirst) = 2 * (ge_balance_positive_gauss_inverse_unitidentityfirstimaginary) /\ (ge_balance_negative_gauss_inverse_unitidentityfirstimaginary) = 0) \/ exists ge_signed_half_gauss_inverse_unitidentityfirstimaginarydecode. (((ge_representation_imaginary_code_gauss_inverse_unitidentityfirst) = 2 * ge_signed_half_gauss_inverse_unitidentityfirstimaginarydecode + 1 /\ (ge_balance_positive_gauss_inverse_unitidentityfirstimaginary) = 0) /\ (ge_balance_negative_gauss_inverse_unitidentityfirstimaginary) = S ge_signed_half_gauss_inverse_unitidentityfirstimaginarydecode))) /\ ((ge_first_ip_gauss_inverse_unitidentity) + ge_balance_negative_gauss_inverse_unitidentityfirstimaginary = (ge_first_in_gauss_inverse_unitidentity) + ge_balance_positive_gauss_inverse_unitidentityfirstimaginary)))))) /\ ((exists ge_representation_real_code_gauss_inverse_unitidentitysecond ge_representation_imaginary_code_gauss_inverse_unitidentitysecond. (((gr_inverse_gauss_inverse_unit) = ((ge_representation_real_code_gauss_inverse_unitidentitysecond) + (ge_representation_imaginary_code_gauss_inverse_unitidentitysecond)) * S ((ge_representation_real_code_gauss_inverse_unitidentitysecond) + (ge_representation_imaginary_code_gauss_inverse_unitidentitysecond)) + ((ge_representation_imaginary_code_gauss_inverse_unitidentitysecond) + (ge_representation_imaginary_code_gauss_inverse_unitidentitysecond))) /\ ((exists ge_balance_positive_gauss_inverse_unitidentitysecondreal ge_balance_negative_gauss_inverse_unitidentitysecondreal. (((((ge_representation_real_code_gauss_inverse_unitidentitysecond) = 2 * (ge_balance_positive_gauss_inverse_unitidentitysecondreal) /\ (ge_balance_negative_gauss_inverse_unitidentitysecondreal) = 0) \/ exists ge_signed_half_gauss_inverse_unitidentitysecondrealdecode. (((ge_representation_real_code_gauss_inverse_unitidentitysecond) = 2 * ge_signed_half_gauss_inverse_unitidentitysecondrealdecode + 1 /\ (ge_balance_positive_gauss_inverse_unitidentitysecondreal) = 0) /\ (ge_balance_negative_gauss_inverse_unitidentitysecondreal) = S ge_signed_half_gauss_inverse_unitidentitysecondrealdecode))) /\ ((ge_second_rp_gauss_inverse_unitidentity) + ge_balance_negative_gauss_inverse_unitidentitysecondreal = (ge_second_rn_gauss_inverse_unitidentity) + ge_balance_positive_gauss_inverse_unitidentitysecondreal))) /\ (exists ge_balance_positive_gauss_inverse_unitidentitysecondimaginary ge_balance_negative_gauss_inverse_unitidentitysecondimaginary. (((((ge_representation_imaginary_code_gauss_inverse_unitidentitysecond) = 2 * (ge_balance_positive_gauss_inverse_unitidentitysecondimaginary) /\ (ge_balance_negative_gauss_inverse_unitidentitysecondimaginary) = 0) \/ exists ge_signed_half_gauss_inverse_unitidentitysecondimaginarydecode. (((ge_representation_imaginary_code_gauss_inverse_unitidentitysecond) = 2 * ge_signed_half_gauss_inverse_unitidentitysecondimaginarydecode + 1 /\ (ge_balance_positive_gauss_inverse_unitidentitysecondimaginary) = 0) /\ (ge_balance_negative_gauss_inverse_unitidentitysecondimaginary) = S ge_signed_half_gauss_inverse_unitidentitysecondimaginarydecode))) /\ ((ge_second_ip_gauss_inverse_unitidentity) + ge_balance_negative_gauss_inverse_unitidentitysecondimaginary = (ge_second_in_gauss_inverse_unitidentity) + ge_balance_positive_gauss_inverse_unitidentitysecondimaginary)))))) /\ (exists ge_representation_real_code_gauss_inverse_unitidentityoutput ge_representation_imaginary_code_gauss_inverse_unitidentityoutput. (((6) = ((ge_representation_real_code_gauss_inverse_unitidentityoutput) + (ge_representation_imaginary_code_gauss_inverse_unitidentityoutput)) * S ((ge_representation_real_code_gauss_inverse_unitidentityoutput) + (ge_representation_imaginary_code_gauss_inverse_unitidentityoutput)) + ((ge_representation_imaginary_code_gauss_inverse_unitidentityoutput) + (ge_representation_imaginary_code_gauss_inverse_unitidentityoutput))) /\ ((exists ge_balance_positive_gauss_inverse_unitidentityoutputreal ge_balance_negative_gauss_inverse_unitidentityoutputreal. (((((ge_representation_real_code_gauss_inverse_unitidentityoutput) = 2 * (ge_balance_positive_gauss_inverse_unitidentityoutputreal) /\ (ge_balance_negative_gauss_inverse_unitidentityoutputreal) = 0) \/ exists ge_signed_half_gauss_inverse_unitidentityoutputrealdecode. (((ge_representation_real_code_gauss_inverse_unitidentityoutput) = 2 * ge_signed_half_gauss_inverse_unitidentityoutputrealdecode + 1 /\ (ge_balance_positive_gauss_inverse_unitidentityoutputreal) = 0) /\ (ge_balance_negative_gauss_inverse_unitidentityoutputreal) = S ge_signed_half_gauss_inverse_unitidentityoutputrealdecode))) /\ ((((((((ge_first_rp_gauss_inverse_unitidentity) * (ge_second_rp_gauss_inverse_unitidentity))) + (((ge_first_rn_gauss_inverse_unitidentity) * (ge_second_rn_gauss_inverse_unitidentity))))) + (((((ge_first_ip_gauss_inverse_unitidentity) * (ge_second_in_gauss_inverse_unitidentity))) + (((ge_first_in_gauss_inverse_unitidentity) * (ge_second_ip_gauss_inverse_unitidentity))))))) + ge_balance_negative_gauss_inverse_unitidentityoutputreal = (((((((ge_first_rp_gauss_inverse_unitidentity) * (ge_second_rn_gauss_inverse_unitidentity))) + (((ge_first_rn_gauss_inverse_unitidentity) * (ge_second_rp_gauss_inverse_unitidentity))))) + (((((ge_first_ip_gauss_inverse_unitidentity) * (ge_second_ip_gauss_inverse_unitidentity))) + (((ge_first_in_gauss_inverse_unitidentity) * (ge_second_in_gauss_inverse_unitidentity))))))) + ge_balance_positive_gauss_inverse_unitidentityoutputreal))) /\ (exists ge_balance_positive_gauss_inverse_unitidentityoutputimaginary ge_balance_negative_gauss_inverse_unitidentityoutputimaginary. (((((ge_representation_imaginary_code_gauss_inverse_unitidentityoutput) = 2 * (ge_balance_positive_gauss_inverse_unitidentityoutputimaginary) /\ (ge_balance_negative_gauss_inverse_unitidentityoutputimaginary) = 0) \/ exists ge_signed_half_gauss_inverse_unitidentityoutputimaginarydecode. (((ge_representation_imaginary_code_gauss_inverse_unitidentityoutput) = 2 * ge_signed_half_gauss_inverse_unitidentityoutputimaginarydecode + 1 /\ (ge_balance_positive_gauss_inverse_unitidentityoutputimaginary) = 0) /\ (ge_balance_negative_gauss_inverse_unitidentityoutputimaginary) = S ge_signed_half_gauss_inverse_unitidentityoutputimaginarydecode))) /\ ((((((((ge_first_rp_gauss_inverse_unitidentity) * (ge_second_ip_gauss_inverse_unitidentity))) + (((ge_first_rn_gauss_inverse_unitidentity) * (ge_second_in_gauss_inverse_unitidentity))))) + (((((ge_first_ip_gauss_inverse_unitidentity) * (ge_second_rp_gauss_inverse_unitidentity))) + (((ge_first_in_gauss_inverse_unitidentity) * (ge_second_rn_gauss_inverse_unitidentity))))))) + ge_balance_negative_gauss_inverse_unitidentityoutputimaginary = (((((((ge_first_rp_gauss_inverse_unitidentity) * (ge_second_in_gauss_inverse_unitidentity))) + (((ge_first_rn_gauss_inverse_unitidentity) * (ge_second_ip_gauss_inverse_unitidentity))))) + (((((ge_first_ip_gauss_inverse_unitidentity) * (ge_second_rn_gauss_inverse_unitidentity))) + (((ge_first_in_gauss_inverse_unitidentity) * (ge_second_rp_gauss_inverse_unitidentity))))))) + ge_balance_positive_gauss_inverse_unitidentityoutputimaginary)))))))))) /\ ((exists ge_first_rp_gauss_inverse_right ge_first_rn_gauss_inverse_right ge_first_ip_gauss_inverse_right ge_first_in_gauss_inverse_right ge_second_rp_gauss_inverse_right ge_second_rn_gauss_inverse_right ge_second_ip_gauss_inverse_right ge_second_in_gauss_inverse_right. ((exists ge_representation_real_code_gauss_inverse_rightfirst ge_representation_imaginary_code_gauss_inverse_rightfirst. (((g) = ((ge_representation_real_code_gauss_inverse_rightfirst) + (ge_representation_imaginary_code_gauss_inverse_rightfirst)) * S ((ge_representation_real_code_gauss_inverse_rightfirst) + (ge_representation_imaginary_code_gauss_inverse_rightfirst)) + ((ge_representation_imaginary_code_gauss_inverse_rightfirst) + (ge_representation_imaginary_code_gauss_inverse_rightfirst))) /\ ((exists ge_balance_positive_gauss_inverse_rightfirstreal ge_balance_negative_gauss_inverse_rightfirstreal. (((((ge_representation_real_code_gauss_inverse_rightfirst) = 2 * (ge_balance_positive_gauss_inverse_rightfirstreal) /\ (ge_balance_negative_gauss_inverse_rightfirstreal) = 0) \/ exists ge_signed_half_gauss_inverse_rightfirstrealdecode. (((ge_representation_real_code_gauss_inverse_rightfirst) = 2 * ge_signed_half_gauss_inverse_rightfirstrealdecode + 1 /\ (ge_balance_positive_gauss_inverse_rightfirstreal) = 0) /\ (ge_balance_negative_gauss_inverse_rightfirstreal) = S ge_signed_half_gauss_inverse_rightfirstrealdecode))) /\ ((ge_first_rp_gauss_inverse_right) + ge_balance_negative_gauss_inverse_rightfirstreal = (ge_first_rn_gauss_inverse_right) + ge_balance_positive_gauss_inverse_rightfirstreal))) /\ (exists ge_balance_positive_gauss_inverse_rightfirstimaginary ge_balance_negative_gauss_inverse_rightfirstimaginary. (((((ge_representation_imaginary_code_gauss_inverse_rightfirst) = 2 * (ge_balance_positive_gauss_inverse_rightfirstimaginary) /\ (ge_balance_negative_gauss_inverse_rightfirstimaginary) = 0) \/ exists ge_signed_half_gauss_inverse_rightfirstimaginarydecode. (((ge_representation_imaginary_code_gauss_inverse_rightfirst) = 2 * ge_signed_half_gauss_inverse_rightfirstimaginarydecode + 1 /\ (ge_balance_positive_gauss_inverse_rightfirstimaginary) = 0) /\ (ge_balance_negative_gauss_inverse_rightfirstimaginary) = S ge_signed_half_gauss_inverse_rightfirstimaginarydecode))) /\ ((ge_first_ip_gauss_inverse_right) + ge_balance_negative_gauss_inverse_rightfirstimaginary = (ge_first_in_gauss_inverse_right) + ge_balance_positive_gauss_inverse_rightfirstimaginary)))))) /\ ((exists ge_representation_real_code_gauss_inverse_rightsecond ge_representation_imaginary_code_gauss_inverse_rightsecond. (((w) = ((ge_representation_real_code_gauss_inverse_rightsecond) + (ge_representation_imaginary_code_gauss_inverse_rightsecond)) * S ((ge_representation_real_code_gauss_inverse_rightsecond) + (ge_representation_imaginary_code_gauss_inverse_rightsecond)) + ((ge_representation_imaginary_code_gauss_inverse_rightsecond) + (ge_representation_imaginary_code_gauss_inverse_rightsecond))) /\ ((exists ge_balance_positive_gauss_inverse_rightsecondreal ge_balance_negative_gauss_inverse_rightsecondreal. (((((ge_representation_real_code_gauss_inverse_rightsecond) = 2 * (ge_balance_positive_gauss_inverse_rightsecondreal) /\ (ge_balance_negative_gauss_inverse_rightsecondreal) = 0) \/ exists ge_signed_half_gauss_inverse_rightsecondrealdecode. (((ge_representation_real_code_gauss_inverse_rightsecond) = 2 * ge_signed_half_gauss_inverse_rightsecondrealdecode + 1 /\ (ge_balance_positive_gauss_inverse_rightsecondreal) = 0) /\ (ge_balance_negative_gauss_inverse_rightsecondreal) = S ge_signed_half_gauss_inverse_rightsecondrealdecode))) /\ ((ge_second_rp_gauss_inverse_right) + ge_balance_negative_gauss_inverse_rightsecondreal = (ge_second_rn_gauss_inverse_right) + ge_balance_positive_gauss_inverse_rightsecondreal))) /\ (exists ge_balance_positive_gauss_inverse_rightsecondimaginary ge_balance_negative_gauss_inverse_rightsecondimaginary. (((((ge_representation_imaginary_code_gauss_inverse_rightsecond) = 2 * (ge_balance_positive_gauss_inverse_rightsecondimaginary) /\ (ge_balance_negative_gauss_inverse_rightsecondimaginary) = 0) \/ exists ge_signed_half_gauss_inverse_rightsecondimaginarydecode. (((ge_representation_imaginary_code_gauss_inverse_rightsecond) = 2 * ge_signed_half_gauss_inverse_rightsecondimaginarydecode + 1 /\ (ge_balance_positive_gauss_inverse_rightsecondimaginary) = 0) /\ (ge_balance_negative_gauss_inverse_rightsecondimaginary) = S ge_signed_half_gauss_inverse_rightsecondimaginarydecode))) /\ ((ge_second_ip_gauss_inverse_right) + ge_balance_negative_gauss_inverse_rightsecondimaginary = (ge_second_in_gauss_inverse_right) + ge_balance_positive_gauss_inverse_rightsecondimaginary)))))) /\ (exists ge_representation_real_code_gauss_inverse_rightoutput ge_representation_imaginary_code_gauss_inverse_rightoutput. (((6) = ((ge_representation_real_code_gauss_inverse_rightoutput) + (ge_representation_imaginary_code_gauss_inverse_rightoutput)) * S ((ge_representation_real_code_gauss_inverse_rightoutput) + (ge_representation_imaginary_code_gauss_inverse_rightoutput)) + ((ge_representation_imaginary_code_gauss_inverse_rightoutput) + (ge_representation_imaginary_code_gauss_inverse_rightoutput))) /\ ((exists ge_balance_positive_gauss_inverse_rightoutputreal ge_balance_negative_gauss_inverse_rightoutputreal. (((((ge_representation_real_code_gauss_inverse_rightoutput) = 2 * (ge_balance_positive_gauss_inverse_rightoutputreal) /\ (ge_balance_negative_gauss_inverse_rightoutputreal) = 0) \/ exists ge_signed_half_gauss_inverse_rightoutputrealdecode. (((ge_representation_real_code_gauss_inverse_rightoutput) = 2 * ge_signed_half_gauss_inverse_rightoutputrealdecode + 1 /\ (ge_balance_positive_gauss_inverse_rightoutputreal) = 0) /\ (ge_balance_negative_gauss_inverse_rightoutputreal) = S ge_signed_half_gauss_inverse_rightoutputrealdecode))) /\ ((((((((ge_first_rp_gauss_inverse_right) * (ge_second_rp_gauss_inverse_right))) + (((ge_first_rn_gauss_inverse_right) * (ge_second_rn_gauss_inverse_right))))) + (((((ge_first_ip_gauss_inverse_right) * (ge_second_in_gauss_inverse_right))) + (((ge_first_in_gauss_inverse_right) * (ge_second_ip_gauss_inverse_right))))))) + ge_balance_negative_gauss_inverse_rightoutputreal = (((((((ge_first_rp_gauss_inverse_right) * (ge_second_rn_gauss_inverse_right))) + (((ge_first_rn_gauss_inverse_right) * (ge_second_rp_gauss_inverse_right))))) + (((((ge_first_ip_gauss_inverse_right) * (ge_second_ip_gauss_inverse_right))) + (((ge_first_in_gauss_inverse_right) * (ge_second_in_gauss_inverse_right))))))) + ge_balance_positive_gauss_inverse_rightoutputreal))) /\ (exists ge_balance_positive_gauss_inverse_rightoutputimaginary ge_balance_negative_gauss_inverse_rightoutputimaginary. (((((ge_representation_imaginary_code_gauss_inverse_rightoutput) = 2 * (ge_balance_positive_gauss_inverse_rightoutputimaginary) /\ (ge_balance_negative_gauss_inverse_rightoutputimaginary) = 0) \/ exists ge_signed_half_gauss_inverse_rightoutputimaginarydecode. (((ge_representation_imaginary_code_gauss_inverse_rightoutput) = 2 * ge_signed_half_gauss_inverse_rightoutputimaginarydecode + 1 /\ (ge_balance_positive_gauss_inverse_rightoutputimaginary) = 0) /\ (ge_balance_negative_gauss_inverse_rightoutputimaginary) = S ge_signed_half_gauss_inverse_rightoutputimaginarydecode))) /\ ((((((((ge_first_rp_gauss_inverse_right) * (ge_second_ip_gauss_inverse_right))) + (((ge_first_rn_gauss_inverse_right) * (ge_second_in_gauss_inverse_right))))) + (((((ge_first_ip_gauss_inverse_right) * (ge_second_rp_gauss_inverse_right))) + (((ge_first_in_gauss_inverse_right) * (ge_second_rn_gauss_inverse_right))))))) + ge_balance_negative_gauss_inverse_rightoutputimaginary = (((((((ge_first_rp_gauss_inverse_right) * (ge_second_in_gauss_inverse_right))) + (((ge_first_rn_gauss_inverse_right) * (ge_second_ip_gauss_inverse_right))))) + (((((ge_first_ip_gauss_inverse_right) * (ge_second_rn_gauss_inverse_right))) + (((ge_first_in_gauss_inverse_right) * (ge_second_rp_gauss_inverse_right))))))) + ge_balance_positive_gauss_inverse_rightoutputimaginary))))))))) /\ (exists ge_first_rp_gauss_inverse_left ge_first_rn_gauss_inverse_left ge_first_ip_gauss_inverse_left ge_first_in_gauss_inverse_left ge_second_rp_gauss_inverse_left ge_second_rn_gauss_inverse_left ge_second_ip_gauss_inverse_left ge_second_in_gauss_inverse_left. ((exists ge_representation_real_code_gauss_inverse_leftfirst ge_representation_imaginary_code_gauss_inverse_leftfirst. (((w) = ((ge_representation_real_code_gauss_inverse_leftfirst) + (ge_representation_imaginary_code_gauss_inverse_leftfirst)) * S ((ge_representation_real_code_gauss_inverse_leftfirst) + (ge_representation_imaginary_code_gauss_inverse_leftfirst)) + ((ge_representation_imaginary_code_gauss_inverse_leftfirst) + (ge_representation_imaginary_code_gauss_inverse_leftfirst))) /\ ((exists ge_balance_positive_gauss_inverse_leftfirstreal ge_balance_negative_gauss_inverse_leftfirstreal. (((((ge_representation_real_code_gauss_inverse_leftfirst) = 2 * (ge_balance_positive_gauss_inverse_leftfirstreal) /\ (ge_balance_negative_gauss_inverse_leftfirstreal) = 0) \/ exists ge_signed_half_gauss_inverse_leftfirstrealdecode. (((ge_representation_real_code_gauss_inverse_leftfirst) = 2 * ge_signed_half_gauss_inverse_leftfirstrealdecode + 1 /\ (ge_balance_positive_gauss_inverse_leftfirstreal) = 0) /\ (ge_balance_negative_gauss_inverse_leftfirstreal) = S ge_signed_half_gauss_inverse_leftfirstrealdecode))) /\ ((ge_first_rp_gauss_inverse_left) + ge_balance_negative_gauss_inverse_leftfirstreal = (ge_first_rn_gauss_inverse_left) + ge_balance_positive_gauss_inverse_leftfirstreal))) /\ (exists ge_balance_positive_gauss_inverse_leftfirstimaginary ge_balance_negative_gauss_inverse_leftfirstimaginary. (((((ge_representation_imaginary_code_gauss_inverse_leftfirst) = 2 * (ge_balance_positive_gauss_inverse_leftfirstimaginary) /\ (ge_balance_negative_gauss_inverse_leftfirstimaginary) = 0) \/ exists ge_signed_half_gauss_inverse_leftfirstimaginarydecode. (((ge_representation_imaginary_code_gauss_inverse_leftfirst) = 2 * ge_signed_half_gauss_inverse_leftfirstimaginarydecode + 1 /\ (ge_balance_positive_gauss_inverse_leftfirstimaginary) = 0) /\ (ge_balance_negative_gauss_inverse_leftfirstimaginary) = S ge_signed_half_gauss_inverse_leftfirstimaginarydecode))) /\ ((ge_first_ip_gauss_inverse_left) + ge_balance_negative_gauss_inverse_leftfirstimaginary = (ge_first_in_gauss_inverse_left) + ge_balance_positive_gauss_inverse_leftfirstimaginary)))))) /\ ((exists ge_representation_real_code_gauss_inverse_leftsecond ge_representation_imaginary_code_gauss_inverse_leftsecond. (((g) = ((ge_representation_real_code_gauss_inverse_leftsecond) + (ge_representation_imaginary_code_gauss_inverse_leftsecond)) * S ((ge_representation_real_code_gauss_inverse_leftsecond) + (ge_representation_imaginary_code_gauss_inverse_leftsecond)) + ((ge_representation_imaginary_code_gauss_inverse_leftsecond) + (ge_representation_imaginary_code_gauss_inverse_leftsecond))) /\ ((exists ge_balance_positive_gauss_inverse_leftsecondreal ge_balance_negative_gauss_inverse_leftsecondreal. (((((ge_representation_real_code_gauss_inverse_leftsecond) = 2 * (ge_balance_positive_gauss_inverse_leftsecondreal) /\ (ge_balance_negative_gauss_inverse_leftsecondreal) = 0) \/ exists ge_signed_half_gauss_inverse_leftsecondrealdecode. (((ge_representation_real_code_gauss_inverse_leftsecond) = 2 * ge_signed_half_gauss_inverse_leftsecondrealdecode + 1 /\ (ge_balance_positive_gauss_inverse_leftsecondreal) = 0) /\ (ge_balance_negative_gauss_inverse_leftsecondreal) = S ge_signed_half_gauss_inverse_leftsecondrealdecode))) /\ ((ge_second_rp_gauss_inverse_left) + ge_balance_negative_gauss_inverse_leftsecondreal = (ge_second_rn_gauss_inverse_left) + ge_balance_positive_gauss_inverse_leftsecondreal))) /\ (exists ge_balance_positive_gauss_inverse_leftsecondimaginary ge_balance_negative_gauss_inverse_leftsecondimaginary. (((((ge_representation_imaginary_code_gauss_inverse_leftsecond) = 2 * (ge_balance_positive_gauss_inverse_leftsecondimaginary) /\ (ge_balance_negative_gauss_inverse_leftsecondimaginary) = 0) \/ exists ge_signed_half_gauss_inverse_leftsecondimaginarydecode. (((ge_representation_imaginary_code_gauss_inverse_leftsecond) = 2 * ge_signed_half_gauss_inverse_leftsecondimaginarydecode + 1 /\ (ge_balance_positive_gauss_inverse_leftsecondimaginary) = 0) /\ (ge_balance_negative_gauss_inverse_leftsecondimaginary) = S ge_signed_half_gauss_inverse_leftsecondimaginarydecode))) /\ ((ge_second_ip_gauss_inverse_left) + ge_balance_negative_gauss_inverse_leftsecondimaginary = (ge_second_in_gauss_inverse_left) + ge_balance_positive_gauss_inverse_leftsecondimaginary)))))) /\ (exists ge_representation_real_code_gauss_inverse_leftoutput ge_representation_imaginary_code_gauss_inverse_leftoutput. (((6) = ((ge_representation_real_code_gauss_inverse_leftoutput) + (ge_representation_imaginary_code_gauss_inverse_leftoutput)) * S ((ge_representation_real_code_gauss_inverse_leftoutput) + (ge_representation_imaginary_code_gauss_inverse_leftoutput)) + ((ge_representation_imaginary_code_gauss_inverse_leftoutput) + (ge_representation_imaginary_code_gauss_inverse_leftoutput))) /\ ((exists ge_balance_positive_gauss_inverse_leftoutputreal ge_balance_negative_gauss_inverse_leftoutputreal. (((((ge_representation_real_code_gauss_inverse_leftoutput) = 2 * (ge_balance_positive_gauss_inverse_leftoutputreal) /\ (ge_balance_negative_gauss_inverse_leftoutputreal) = 0) \/ exists ge_signed_half_gauss_inverse_leftoutputrealdecode. (((ge_representation_real_code_gauss_inverse_leftoutput) = 2 * ge_signed_half_gauss_inverse_leftoutputrealdecode + 1 /\ (ge_balance_positive_gauss_inverse_leftoutputreal) = 0) /\ (ge_balance_negative_gauss_inverse_leftoutputreal) = S ge_signed_half_gauss_inverse_leftoutputrealdecode))) /\ ((((((((ge_first_rp_gauss_inverse_left) * (ge_second_rp_gauss_inverse_left))) + (((ge_first_rn_gauss_inverse_left) * (ge_second_rn_gauss_inverse_left))))) + (((((ge_first_ip_gauss_inverse_left) * (ge_second_in_gauss_inverse_left))) + (((ge_first_in_gauss_inverse_left) * (ge_second_ip_gauss_inverse_left))))))) + ge_balance_negative_gauss_inverse_leftoutputreal = (((((((ge_first_rp_gauss_inverse_left) * (ge_second_rn_gauss_inverse_left))) + (((ge_first_rn_gauss_inverse_left) * (ge_second_rp_gauss_inverse_left))))) + (((((ge_first_ip_gauss_inverse_left) * (ge_second_ip_gauss_inverse_left))) + (((ge_first_in_gauss_inverse_left) * (ge_second_in_gauss_inverse_left))))))) + ge_balance_positive_gauss_inverse_leftoutputreal))) /\ (exists ge_balance_positive_gauss_inverse_leftoutputimaginary ge_balance_negative_gauss_inverse_leftoutputimaginary. (((((ge_representation_imaginary_code_gauss_inverse_leftoutput) = 2 * (ge_balance_positive_gauss_inverse_leftoutputimaginary) /\ (ge_balance_negative_gauss_inverse_leftoutputimaginary) = 0) \/ exists ge_signed_half_gauss_inverse_leftoutputimaginarydecode. (((ge_representation_imaginary_code_gauss_inverse_leftoutput) = 2 * ge_signed_half_gauss_inverse_leftoutputimaginarydecode + 1 /\ (ge_balance_positive_gauss_inverse_leftoutputimaginary) = 0) /\ (ge_balance_negative_gauss_inverse_leftoutputimaginary) = S ge_signed_half_gauss_inverse_leftoutputimaginarydecode))) /\ ((((((((ge_first_rp_gauss_inverse_left) * (ge_second_ip_gauss_inverse_left))) + (((ge_first_rn_gauss_inverse_left) * (ge_second_in_gauss_inverse_left))))) + (((((ge_first_ip_gauss_inverse_left) * (ge_second_rp_gauss_inverse_left))) + (((ge_first_in_gauss_inverse_left) * (ge_second_rn_gauss_inverse_left))))))) + ge_balance_negative_gauss_inverse_leftoutputimaginary = (((((((ge_first_rp_gauss_inverse_left) * (ge_second_in_gauss_inverse_left))) + (((ge_first_rn_gauss_inverse_left) * (ge_second_ip_gauss_inverse_left))))) + (((((ge_first_ip_gauss_inverse_left) * (ge_second_rn_gauss_inverse_left))) + (((ge_first_in_gauss_inverse_left) * (ge_second_rp_gauss_inverse_left))))))) + ge_balance_positive_gauss_inverse_leftoutputimaginary))))))))))) - 0017
specialize gaussian_unit_inverse (g) - 0018
apply gaussian_unit_inverse - 0019
exact hunit - 0020
cases hinverse - 0021
cases hinverse_witness - 0022
cases hinverse_witness_right - 0023
have hP : exists P. (exists ge_first_rp_gauss_first_scaled ge_first_rn_gauss_first_scaled ge_first_ip_gauss_first_scaled ge_first_in_gauss_first_scaled ge_second_rp_gauss_first_scaled ge_second_rn_gauss_first_scaled ge_second_ip_gauss_first_scaled ge_second_in_gauss_first_scaled. ((exists ge_representation_real_code_gauss_first_scaledfirst ge_representation_imaginary_code_gauss_first_scaledfirst. (((x) = ((ge_representation_real_code_gauss_first_scaledfirst) + (ge_representation_imaginary_code_gauss_first_scaledfirst)) * S ((ge_representation_real_code_gauss_first_scaledfirst) + (ge_representation_imaginary_code_gauss_first_scaledfirst)) + ((ge_representation_imaginary_code_gauss_first_scaledfirst) + (ge_representation_imaginary_code_gauss_first_scaledfirst))) /\ ((exists ge_balance_positive_gauss_first_scaledfirstreal ge_balance_negative_gauss_first_scaledfirstreal. (((((ge_representation_real_code_gauss_first_scaledfirst) = 2 * (ge_balance_positive_gauss_first_scaledfirstreal) /\ (ge_balance_negative_gauss_first_scaledfirstreal) = 0) \/ exists ge_signed_half_gauss_first_scaledfirstrealdecode. (((ge_representation_real_code_gauss_first_scaledfirst) = 2 * ge_signed_half_gauss_first_scaledfirstrealdecode + 1 /\ (ge_balance_positive_gauss_first_scaledfirstreal) = 0) /\ (ge_balance_negative_gauss_first_scaledfirstreal) = S ge_signed_half_gauss_first_scaledfirstrealdecode))) /\ ((ge_first_rp_gauss_first_scaled) + ge_balance_negative_gauss_first_scaledfirstreal = (ge_first_rn_gauss_first_scaled) + ge_balance_positive_gauss_first_scaledfirstreal))) /\ (exists ge_balance_positive_gauss_first_scaledfirstimaginary ge_balance_negative_gauss_first_scaledfirstimaginary. (((((ge_representation_imaginary_code_gauss_first_scaledfirst) = 2 * (ge_balance_positive_gauss_first_scaledfirstimaginary) /\ (ge_balance_negative_gauss_first_scaledfirstimaginary) = 0) \/ exists ge_signed_half_gauss_first_scaledfirstimaginarydecode. (((ge_representation_imaginary_code_gauss_first_scaledfirst) = 2 * ge_signed_half_gauss_first_scaledfirstimaginarydecode + 1 /\ (ge_balance_positive_gauss_first_scaledfirstimaginary) = 0) /\ (ge_balance_negative_gauss_first_scaledfirstimaginary) = S ge_signed_half_gauss_first_scaledfirstimaginarydecode))) /\ ((ge_first_ip_gauss_first_scaled) + ge_balance_negative_gauss_first_scaledfirstimaginary = (ge_first_in_gauss_first_scaled) + ge_balance_positive_gauss_first_scaledfirstimaginary)))))) /\ ((exists ge_representation_real_code_gauss_first_scaledsecond ge_representation_imaginary_code_gauss_first_scaledsecond. (((b) = ((ge_representation_real_code_gauss_first_scaledsecond) + (ge_representation_imaginary_code_gauss_first_scaledsecond)) * S ((ge_representation_real_code_gauss_first_scaledsecond) + (ge_representation_imaginary_code_gauss_first_scaledsecond)) + ((ge_representation_imaginary_code_gauss_first_scaledsecond) + (ge_representation_imaginary_code_gauss_first_scaledsecond))) /\ ((exists ge_balance_positive_gauss_first_scaledsecondreal ge_balance_negative_gauss_first_scaledsecondreal. (((((ge_representation_real_code_gauss_first_scaledsecond) = 2 * (ge_balance_positive_gauss_first_scaledsecondreal) /\ (ge_balance_negative_gauss_first_scaledsecondreal) = 0) \/ exists ge_signed_half_gauss_first_scaledsecondrealdecode. (((ge_representation_real_code_gauss_first_scaledsecond) = 2 * ge_signed_half_gauss_first_scaledsecondrealdecode + 1 /\ (ge_balance_positive_gauss_first_scaledsecondreal) = 0) /\ (ge_balance_negative_gauss_first_scaledsecondreal) = S ge_signed_half_gauss_first_scaledsecondrealdecode))) /\ ((ge_second_rp_gauss_first_scaled) + ge_balance_negative_gauss_first_scaledsecondreal = (ge_second_rn_gauss_first_scaled) + ge_balance_positive_gauss_first_scaledsecondreal))) /\ (exists ge_balance_positive_gauss_first_scaledsecondimaginary ge_balance_negative_gauss_first_scaledsecondimaginary. (((((ge_representation_imaginary_code_gauss_first_scaledsecond) = 2 * (ge_balance_positive_gauss_first_scaledsecondimaginary) /\ (ge_balance_negative_gauss_first_scaledsecondimaginary) = 0) \/ exists ge_signed_half_gauss_first_scaledsecondimaginarydecode. (((ge_representation_imaginary_code_gauss_first_scaledsecond) = 2 * ge_signed_half_gauss_first_scaledsecondimaginarydecode + 1 /\ (ge_balance_positive_gauss_first_scaledsecondimaginary) = 0) /\ (ge_balance_negative_gauss_first_scaledsecondimaginary) = S ge_signed_half_gauss_first_scaledsecondimaginarydecode))) /\ ((ge_second_ip_gauss_first_scaled) + ge_balance_negative_gauss_first_scaledsecondimaginary = (ge_second_in_gauss_first_scaled) + ge_balance_positive_gauss_first_scaledsecondimaginary)))))) /\ (exists ge_representation_real_code_gauss_first_scaledoutput ge_representation_imaginary_code_gauss_first_scaledoutput. (((P) = ((ge_representation_real_code_gauss_first_scaledoutput) + (ge_representation_imaginary_code_gauss_first_scaledoutput)) * S ((ge_representation_real_code_gauss_first_scaledoutput) + (ge_representation_imaginary_code_gauss_first_scaledoutput)) + ((ge_representation_imaginary_code_gauss_first_scaledoutput) + (ge_representation_imaginary_code_gauss_first_scaledoutput))) /\ ((exists ge_balance_positive_gauss_first_scaledoutputreal ge_balance_negative_gauss_first_scaledoutputreal. (((((ge_representation_real_code_gauss_first_scaledoutput) = 2 * (ge_balance_positive_gauss_first_scaledoutputreal) /\ (ge_balance_negative_gauss_first_scaledoutputreal) = 0) \/ exists ge_signed_half_gauss_first_scaledoutputrealdecode. (((ge_representation_real_code_gauss_first_scaledoutput) = 2 * ge_signed_half_gauss_first_scaledoutputrealdecode + 1 /\ (ge_balance_positive_gauss_first_scaledoutputreal) = 0) /\ (ge_balance_negative_gauss_first_scaledoutputreal) = S ge_signed_half_gauss_first_scaledoutputrealdecode))) /\ ((((((((ge_first_rp_gauss_first_scaled) * (ge_second_rp_gauss_first_scaled))) + (((ge_first_rn_gauss_first_scaled) * (ge_second_rn_gauss_first_scaled))))) + (((((ge_first_ip_gauss_first_scaled) * (ge_second_in_gauss_first_scaled))) + (((ge_first_in_gauss_first_scaled) * (ge_second_ip_gauss_first_scaled))))))) + ge_balance_negative_gauss_first_scaledoutputreal = (((((((ge_first_rp_gauss_first_scaled) * (ge_second_rn_gauss_first_scaled))) + (((ge_first_rn_gauss_first_scaled) * (ge_second_rp_gauss_first_scaled))))) + (((((ge_first_ip_gauss_first_scaled) * (ge_second_ip_gauss_first_scaled))) + (((ge_first_in_gauss_first_scaled) * (ge_second_in_gauss_first_scaled))))))) + ge_balance_positive_gauss_first_scaledoutputreal))) /\ (exists ge_balance_positive_gauss_first_scaledoutputimaginary ge_balance_negative_gauss_first_scaledoutputimaginary. (((((ge_representation_imaginary_code_gauss_first_scaledoutput) = 2 * (ge_balance_positive_gauss_first_scaledoutputimaginary) /\ (ge_balance_negative_gauss_first_scaledoutputimaginary) = 0) \/ exists ge_signed_half_gauss_first_scaledoutputimaginarydecode. (((ge_representation_imaginary_code_gauss_first_scaledoutput) = 2 * ge_signed_half_gauss_first_scaledoutputimaginarydecode + 1 /\ (ge_balance_positive_gauss_first_scaledoutputimaginary) = 0) /\ (ge_balance_negative_gauss_first_scaledoutputimaginary) = S ge_signed_half_gauss_first_scaledoutputimaginarydecode))) /\ ((((((((ge_first_rp_gauss_first_scaled) * (ge_second_ip_gauss_first_scaled))) + (((ge_first_rn_gauss_first_scaled) * (ge_second_in_gauss_first_scaled))))) + (((((ge_first_ip_gauss_first_scaled) * (ge_second_rp_gauss_first_scaled))) + (((ge_first_in_gauss_first_scaled) * (ge_second_rn_gauss_first_scaled))))))) + ge_balance_negative_gauss_first_scaledoutputimaginary = (((((((ge_first_rp_gauss_first_scaled) * (ge_second_in_gauss_first_scaled))) + (((ge_first_rn_gauss_first_scaled) * (ge_second_ip_gauss_first_scaled))))) + (((((ge_first_ip_gauss_first_scaled) * (ge_second_rn_gauss_first_scaled))) + (((ge_first_in_gauss_first_scaled) * (ge_second_rp_gauss_first_scaled))))))) + ge_balance_positive_gauss_first_scaledoutputimaginary))))))))) - 0024
specialize gaussian_multiply_exists (x) - 0025
specialize gaussian_multiply_exists (b) - 0026
apply gaussian_multiply_exists - 0027
specialize gaussian_multiply_output_valid (p) - 0028
specialize gaussian_multiply_output_valid (u) - 0029
specialize gaussian_multiply_output_valid (x) - 0030
apply gaussian_multiply_output_valid - 0031
exact hbez_witness_witness_left - 0032
specialize gaussian_multiply_input_right_valid (a) - 0033
specialize gaussian_multiply_input_right_valid (b) - 0034
specialize gaussian_multiply_input_right_valid (c) - 0035
apply gaussian_multiply_input_right_valid - 0036
exact hprod - 0037
cases hP - 0038
have hQ : exists Q. (exists ge_first_rp_gauss_second_scaled ge_first_rn_gauss_second_scaled ge_first_ip_gauss_second_scaled ge_first_in_gauss_second_scaled ge_second_rp_gauss_second_scaled ge_second_rn_gauss_second_scaled ge_second_ip_gauss_second_scaled ge_second_in_gauss_second_scaled. ((exists ge_representation_real_code_gauss_second_scaledfirst ge_representation_imaginary_code_gauss_second_scaledfirst. (((x1) = ((ge_representation_real_code_gauss_second_scaledfirst) + (ge_representation_imaginary_code_gauss_second_scaledfirst)) * S ((ge_representation_real_code_gauss_second_scaledfirst) + (ge_representation_imaginary_code_gauss_second_scaledfirst)) + ((ge_representation_imaginary_code_gauss_second_scaledfirst) + (ge_representation_imaginary_code_gauss_second_scaledfirst))) /\ ((exists ge_balance_positive_gauss_second_scaledfirstreal ge_balance_negative_gauss_second_scaledfirstreal. (((((ge_representation_real_code_gauss_second_scaledfirst) = 2 * (ge_balance_positive_gauss_second_scaledfirstreal) /\ (ge_balance_negative_gauss_second_scaledfirstreal) = 0) \/ exists ge_signed_half_gauss_second_scaledfirstrealdecode. (((ge_representation_real_code_gauss_second_scaledfirst) = 2 * ge_signed_half_gauss_second_scaledfirstrealdecode + 1 /\ (ge_balance_positive_gauss_second_scaledfirstreal) = 0) /\ (ge_balance_negative_gauss_second_scaledfirstreal) = S ge_signed_half_gauss_second_scaledfirstrealdecode))) /\ ((ge_first_rp_gauss_second_scaled) + ge_balance_negative_gauss_second_scaledfirstreal = (ge_first_rn_gauss_second_scaled) + ge_balance_positive_gauss_second_scaledfirstreal))) /\ (exists ge_balance_positive_gauss_second_scaledfirstimaginary ge_balance_negative_gauss_second_scaledfirstimaginary. (((((ge_representation_imaginary_code_gauss_second_scaledfirst) = 2 * (ge_balance_positive_gauss_second_scaledfirstimaginary) /\ (ge_balance_negative_gauss_second_scaledfirstimaginary) = 0) \/ exists ge_signed_half_gauss_second_scaledfirstimaginarydecode. (((ge_representation_imaginary_code_gauss_second_scaledfirst) = 2 * ge_signed_half_gauss_second_scaledfirstimaginarydecode + 1 /\ (ge_balance_positive_gauss_second_scaledfirstimaginary) = 0) /\ (ge_balance_negative_gauss_second_scaledfirstimaginary) = S ge_signed_half_gauss_second_scaledfirstimaginarydecode))) /\ ((ge_first_ip_gauss_second_scaled) + ge_balance_negative_gauss_second_scaledfirstimaginary = (ge_first_in_gauss_second_scaled) + ge_balance_positive_gauss_second_scaledfirstimaginary)))))) /\ ((exists ge_representation_real_code_gauss_second_scaledsecond ge_representation_imaginary_code_gauss_second_scaledsecond. (((b) = ((ge_representation_real_code_gauss_second_scaledsecond) + (ge_representation_imaginary_code_gauss_second_scaledsecond)) * S ((ge_representation_real_code_gauss_second_scaledsecond) + (ge_representation_imaginary_code_gauss_second_scaledsecond)) + ((ge_representation_imaginary_code_gauss_second_scaledsecond) + (ge_representation_imaginary_code_gauss_second_scaledsecond))) /\ ((exists ge_balance_positive_gauss_second_scaledsecondreal ge_balance_negative_gauss_second_scaledsecondreal. (((((ge_representation_real_code_gauss_second_scaledsecond) = 2 * (ge_balance_positive_gauss_second_scaledsecondreal) /\ (ge_balance_negative_gauss_second_scaledsecondreal) = 0) \/ exists ge_signed_half_gauss_second_scaledsecondrealdecode. (((ge_representation_real_code_gauss_second_scaledsecond) = 2 * ge_signed_half_gauss_second_scaledsecondrealdecode + 1 /\ (ge_balance_positive_gauss_second_scaledsecondreal) = 0) /\ (ge_balance_negative_gauss_second_scaledsecondreal) = S ge_signed_half_gauss_second_scaledsecondrealdecode))) /\ ((ge_second_rp_gauss_second_scaled) + ge_balance_negative_gauss_second_scaledsecondreal = (ge_second_rn_gauss_second_scaled) + ge_balance_positive_gauss_second_scaledsecondreal))) /\ (exists ge_balance_positive_gauss_second_scaledsecondimaginary ge_balance_negative_gauss_second_scaledsecondimaginary. (((((ge_representation_imaginary_code_gauss_second_scaledsecond) = 2 * (ge_balance_positive_gauss_second_scaledsecondimaginary) /\ (ge_balance_negative_gauss_second_scaledsecondimaginary) = 0) \/ exists ge_signed_half_gauss_second_scaledsecondimaginarydecode. (((ge_representation_imaginary_code_gauss_second_scaledsecond) = 2 * ge_signed_half_gauss_second_scaledsecondimaginarydecode + 1 /\ (ge_balance_positive_gauss_second_scaledsecondimaginary) = 0) /\ (ge_balance_negative_gauss_second_scaledsecondimaginary) = S ge_signed_half_gauss_second_scaledsecondimaginarydecode))) /\ ((ge_second_ip_gauss_second_scaled) + ge_balance_negative_gauss_second_scaledsecondimaginary = (ge_second_in_gauss_second_scaled) + ge_balance_positive_gauss_second_scaledsecondimaginary)))))) /\ (exists ge_representation_real_code_gauss_second_scaledoutput ge_representation_imaginary_code_gauss_second_scaledoutput. (((Q) = ((ge_representation_real_code_gauss_second_scaledoutput) + (ge_representation_imaginary_code_gauss_second_scaledoutput)) * S ((ge_representation_real_code_gauss_second_scaledoutput) + (ge_representation_imaginary_code_gauss_second_scaledoutput)) + ((ge_representation_imaginary_code_gauss_second_scaledoutput) + (ge_representation_imaginary_code_gauss_second_scaledoutput))) /\ ((exists ge_balance_positive_gauss_second_scaledoutputreal ge_balance_negative_gauss_second_scaledoutputreal. (((((ge_representation_real_code_gauss_second_scaledoutput) = 2 * (ge_balance_positive_gauss_second_scaledoutputreal) /\ (ge_balance_negative_gauss_second_scaledoutputreal) = 0) \/ exists ge_signed_half_gauss_second_scaledoutputrealdecode. (((ge_representation_real_code_gauss_second_scaledoutput) = 2 * ge_signed_half_gauss_second_scaledoutputrealdecode + 1 /\ (ge_balance_positive_gauss_second_scaledoutputreal) = 0) /\ (ge_balance_negative_gauss_second_scaledoutputreal) = S ge_signed_half_gauss_second_scaledoutputrealdecode))) /\ ((((((((ge_first_rp_gauss_second_scaled) * (ge_second_rp_gauss_second_scaled))) + (((ge_first_rn_gauss_second_scaled) * (ge_second_rn_gauss_second_scaled))))) + (((((ge_first_ip_gauss_second_scaled) * (ge_second_in_gauss_second_scaled))) + (((ge_first_in_gauss_second_scaled) * (ge_second_ip_gauss_second_scaled))))))) + ge_balance_negative_gauss_second_scaledoutputreal = (((((((ge_first_rp_gauss_second_scaled) * (ge_second_rn_gauss_second_scaled))) + (((ge_first_rn_gauss_second_scaled) * (ge_second_rp_gauss_second_scaled))))) + (((((ge_first_ip_gauss_second_scaled) * (ge_second_ip_gauss_second_scaled))) + (((ge_first_in_gauss_second_scaled) * (ge_second_in_gauss_second_scaled))))))) + ge_balance_positive_gauss_second_scaledoutputreal))) /\ (exists ge_balance_positive_gauss_second_scaledoutputimaginary ge_balance_negative_gauss_second_scaledoutputimaginary. (((((ge_representation_imaginary_code_gauss_second_scaledoutput) = 2 * (ge_balance_positive_gauss_second_scaledoutputimaginary) /\ (ge_balance_negative_gauss_second_scaledoutputimaginary) = 0) \/ exists ge_signed_half_gauss_second_scaledoutputimaginarydecode. (((ge_representation_imaginary_code_gauss_second_scaledoutput) = 2 * ge_signed_half_gauss_second_scaledoutputimaginarydecode + 1 /\ (ge_balance_positive_gauss_second_scaledoutputimaginary) = 0) /\ (ge_balance_negative_gauss_second_scaledoutputimaginary) = S ge_signed_half_gauss_second_scaledoutputimaginarydecode))) /\ ((((((((ge_first_rp_gauss_second_scaled) * (ge_second_ip_gauss_second_scaled))) + (((ge_first_rn_gauss_second_scaled) * (ge_second_in_gauss_second_scaled))))) + (((((ge_first_ip_gauss_second_scaled) * (ge_second_rp_gauss_second_scaled))) + (((ge_first_in_gauss_second_scaled) * (ge_second_rn_gauss_second_scaled))))))) + ge_balance_negative_gauss_second_scaledoutputimaginary = (((((((ge_first_rp_gauss_second_scaled) * (ge_second_in_gauss_second_scaled))) + (((ge_first_rn_gauss_second_scaled) * (ge_second_ip_gauss_second_scaled))))) + (((((ge_first_ip_gauss_second_scaled) * (ge_second_rn_gauss_second_scaled))) + (((ge_first_in_gauss_second_scaled) * (ge_second_rp_gauss_second_scaled))))))) + ge_balance_positive_gauss_second_scaledoutputimaginary))))))))) - 0039
specialize gaussian_multiply_exists (x1) - 0040
specialize gaussian_multiply_exists (b) - 0041
apply gaussian_multiply_exists - 0042
specialize gaussian_multiply_output_valid (a) - 0043
specialize gaussian_multiply_output_valid (v) - 0044
specialize gaussian_multiply_output_valid (x1) - 0045
apply gaussian_multiply_output_valid - 0046
exact hbez_witness_witness_right_left - 0047
specialize gaussian_multiply_input_right_valid (a) - 0048
specialize gaussian_multiply_input_right_valid (b) - 0049
specialize gaussian_multiply_input_right_valid (c) - 0050
apply gaussian_multiply_input_right_valid - 0051
exact hprod - 0052
cases hQ - 0053
have hT : exists T. (exists ge_first_rp_gauss_total_scaled ge_first_rn_gauss_total_scaled ge_first_ip_gauss_total_scaled ge_first_in_gauss_total_scaled ge_second_rp_gauss_total_scaled ge_second_rn_gauss_total_scaled ge_second_ip_gauss_total_scaled ge_second_in_gauss_total_scaled. ((exists ge_representation_real_code_gauss_total_scaledfirst ge_representation_imaginary_code_gauss_total_scaledfirst. (((g) = ((ge_representation_real_code_gauss_total_scaledfirst) + (ge_representation_imaginary_code_gauss_total_scaledfirst)) * S ((ge_representation_real_code_gauss_total_scaledfirst) + (ge_representation_imaginary_code_gauss_total_scaledfirst)) + ((ge_representation_imaginary_code_gauss_total_scaledfirst) + (ge_representation_imaginary_code_gauss_total_scaledfirst))) /\ ((exists ge_balance_positive_gauss_total_scaledfirstreal ge_balance_negative_gauss_total_scaledfirstreal. (((((ge_representation_real_code_gauss_total_scaledfirst) = 2 * (ge_balance_positive_gauss_total_scaledfirstreal) /\ (ge_balance_negative_gauss_total_scaledfirstreal) = 0) \/ exists ge_signed_half_gauss_total_scaledfirstrealdecode. (((ge_representation_real_code_gauss_total_scaledfirst) = 2 * ge_signed_half_gauss_total_scaledfirstrealdecode + 1 /\ (ge_balance_positive_gauss_total_scaledfirstreal) = 0) /\ (ge_balance_negative_gauss_total_scaledfirstreal) = S ge_signed_half_gauss_total_scaledfirstrealdecode))) /\ ((ge_first_rp_gauss_total_scaled) + ge_balance_negative_gauss_total_scaledfirstreal = (ge_first_rn_gauss_total_scaled) + ge_balance_positive_gauss_total_scaledfirstreal))) /\ (exists ge_balance_positive_gauss_total_scaledfirstimaginary ge_balance_negative_gauss_total_scaledfirstimaginary. (((((ge_representation_imaginary_code_gauss_total_scaledfirst) = 2 * (ge_balance_positive_gauss_total_scaledfirstimaginary) /\ (ge_balance_negative_gauss_total_scaledfirstimaginary) = 0) \/ exists ge_signed_half_gauss_total_scaledfirstimaginarydecode. (((ge_representation_imaginary_code_gauss_total_scaledfirst) = 2 * ge_signed_half_gauss_total_scaledfirstimaginarydecode + 1 /\ (ge_balance_positive_gauss_total_scaledfirstimaginary) = 0) /\ (ge_balance_negative_gauss_total_scaledfirstimaginary) = S ge_signed_half_gauss_total_scaledfirstimaginarydecode))) /\ ((ge_first_ip_gauss_total_scaled) + ge_balance_negative_gauss_total_scaledfirstimaginary = (ge_first_in_gauss_total_scaled) + ge_balance_positive_gauss_total_scaledfirstimaginary)))))) /\ ((exists ge_representation_real_code_gauss_total_scaledsecond ge_representation_imaginary_code_gauss_total_scaledsecond. (((b) = ((ge_representation_real_code_gauss_total_scaledsecond) + (ge_representation_imaginary_code_gauss_total_scaledsecond)) * S ((ge_representation_real_code_gauss_total_scaledsecond) + (ge_representation_imaginary_code_gauss_total_scaledsecond)) + ((ge_representation_imaginary_code_gauss_total_scaledsecond) + (ge_representation_imaginary_code_gauss_total_scaledsecond))) /\ ((exists ge_balance_positive_gauss_total_scaledsecondreal ge_balance_negative_gauss_total_scaledsecondreal. (((((ge_representation_real_code_gauss_total_scaledsecond) = 2 * (ge_balance_positive_gauss_total_scaledsecondreal) /\ (ge_balance_negative_gauss_total_scaledsecondreal) = 0) \/ exists ge_signed_half_gauss_total_scaledsecondrealdecode. (((ge_representation_real_code_gauss_total_scaledsecond) = 2 * ge_signed_half_gauss_total_scaledsecondrealdecode + 1 /\ (ge_balance_positive_gauss_total_scaledsecondreal) = 0) /\ (ge_balance_negative_gauss_total_scaledsecondreal) = S ge_signed_half_gauss_total_scaledsecondrealdecode))) /\ ((ge_second_rp_gauss_total_scaled) + ge_balance_negative_gauss_total_scaledsecondreal = (ge_second_rn_gauss_total_scaled) + ge_balance_positive_gauss_total_scaledsecondreal))) /\ (exists ge_balance_positive_gauss_total_scaledsecondimaginary ge_balance_negative_gauss_total_scaledsecondimaginary. (((((ge_representation_imaginary_code_gauss_total_scaledsecond) = 2 * (ge_balance_positive_gauss_total_scaledsecondimaginary) /\ (ge_balance_negative_gauss_total_scaledsecondimaginary) = 0) \/ exists ge_signed_half_gauss_total_scaledsecondimaginarydecode. (((ge_representation_imaginary_code_gauss_total_scaledsecond) = 2 * ge_signed_half_gauss_total_scaledsecondimaginarydecode + 1 /\ (ge_balance_positive_gauss_total_scaledsecondimaginary) = 0) /\ (ge_balance_negative_gauss_total_scaledsecondimaginary) = S ge_signed_half_gauss_total_scaledsecondimaginarydecode))) /\ ((ge_second_ip_gauss_total_scaled) + ge_balance_negative_gauss_total_scaledsecondimaginary = (ge_second_in_gauss_total_scaled) + ge_balance_positive_gauss_total_scaledsecondimaginary)))))) /\ (exists ge_representation_real_code_gauss_total_scaledoutput ge_representation_imaginary_code_gauss_total_scaledoutput. (((T) = ((ge_representation_real_code_gauss_total_scaledoutput) + (ge_representation_imaginary_code_gauss_total_scaledoutput)) * S ((ge_representation_real_code_gauss_total_scaledoutput) + (ge_representation_imaginary_code_gauss_total_scaledoutput)) + ((ge_representation_imaginary_code_gauss_total_scaledoutput) + (ge_representation_imaginary_code_gauss_total_scaledoutput))) /\ ((exists ge_balance_positive_gauss_total_scaledoutputreal ge_balance_negative_gauss_total_scaledoutputreal. (((((ge_representation_real_code_gauss_total_scaledoutput) = 2 * (ge_balance_positive_gauss_total_scaledoutputreal) /\ (ge_balance_negative_gauss_total_scaledoutputreal) = 0) \/ exists ge_signed_half_gauss_total_scaledoutputrealdecode. (((ge_representation_real_code_gauss_total_scaledoutput) = 2 * ge_signed_half_gauss_total_scaledoutputrealdecode + 1 /\ (ge_balance_positive_gauss_total_scaledoutputreal) = 0) /\ (ge_balance_negative_gauss_total_scaledoutputreal) = S ge_signed_half_gauss_total_scaledoutputrealdecode))) /\ ((((((((ge_first_rp_gauss_total_scaled) * (ge_second_rp_gauss_total_scaled))) + (((ge_first_rn_gauss_total_scaled) * (ge_second_rn_gauss_total_scaled))))) + (((((ge_first_ip_gauss_total_scaled) * (ge_second_in_gauss_total_scaled))) + (((ge_first_in_gauss_total_scaled) * (ge_second_ip_gauss_total_scaled))))))) + ge_balance_negative_gauss_total_scaledoutputreal = (((((((ge_first_rp_gauss_total_scaled) * (ge_second_rn_gauss_total_scaled))) + (((ge_first_rn_gauss_total_scaled) * (ge_second_rp_gauss_total_scaled))))) + (((((ge_first_ip_gauss_total_scaled) * (ge_second_ip_gauss_total_scaled))) + (((ge_first_in_gauss_total_scaled) * (ge_second_in_gauss_total_scaled))))))) + ge_balance_positive_gauss_total_scaledoutputreal))) /\ (exists ge_balance_positive_gauss_total_scaledoutputimaginary ge_balance_negative_gauss_total_scaledoutputimaginary. (((((ge_representation_imaginary_code_gauss_total_scaledoutput) = 2 * (ge_balance_positive_gauss_total_scaledoutputimaginary) /\ (ge_balance_negative_gauss_total_scaledoutputimaginary) = 0) \/ exists ge_signed_half_gauss_total_scaledoutputimaginarydecode. (((ge_representation_imaginary_code_gauss_total_scaledoutput) = 2 * ge_signed_half_gauss_total_scaledoutputimaginarydecode + 1 /\ (ge_balance_positive_gauss_total_scaledoutputimaginary) = 0) /\ (ge_balance_negative_gauss_total_scaledoutputimaginary) = S ge_signed_half_gauss_total_scaledoutputimaginarydecode))) /\ ((((((((ge_first_rp_gauss_total_scaled) * (ge_second_ip_gauss_total_scaled))) + (((ge_first_rn_gauss_total_scaled) * (ge_second_in_gauss_total_scaled))))) + (((((ge_first_ip_gauss_total_scaled) * (ge_second_rp_gauss_total_scaled))) + (((ge_first_in_gauss_total_scaled) * (ge_second_rn_gauss_total_scaled))))))) + ge_balance_negative_gauss_total_scaledoutputimaginary = (((((((ge_first_rp_gauss_total_scaled) * (ge_second_in_gauss_total_scaled))) + (((ge_first_rn_gauss_total_scaled) * (ge_second_ip_gauss_total_scaled))))) + (((((ge_first_ip_gauss_total_scaled) * (ge_second_rn_gauss_total_scaled))) + (((ge_first_in_gauss_total_scaled) * (ge_second_rp_gauss_total_scaled))))))) + ge_balance_positive_gauss_total_scaledoutputimaginary))))))))) - 0054
specialize gaussian_multiply_exists (g) - 0055
specialize gaussian_multiply_exists (b) - 0056
apply gaussian_multiply_exists - 0057
specialize gaussian_unit_valid (g) - 0058
apply gaussian_unit_valid - 0059
exact hunit - 0060
specialize gaussian_multiply_input_right_valid (a) - 0061
specialize gaussian_multiply_input_right_valid (b) - 0062
specialize gaussian_multiply_input_right_valid (c) - 0063
apply gaussian_multiply_input_right_valid - 0064
exact hprod - 0065
cases hT - 0066
have hcv : exists ge_first_rp_gauss_product_reordered ge_first_rn_gauss_product_reordered ge_first_ip_gauss_product_reordered ge_first_in_gauss_product_reordered ge_second_rp_gauss_product_reordered ge_second_rn_gauss_product_reordered ge_second_ip_gauss_product_reordered ge_second_in_gauss_product_reordered. ((exists ge_representation_real_code_gauss_product_reorderedfirst ge_representation_imaginary_code_gauss_product_reorderedfirst. (((c) = ((ge_representation_real_code_gauss_product_reorderedfirst) + (ge_representation_imaginary_code_gauss_product_reorderedfirst)) * S ((ge_representation_real_code_gauss_product_reorderedfirst) + (ge_representation_imaginary_code_gauss_product_reorderedfirst)) + ((ge_representation_imaginary_code_gauss_product_reorderedfirst) + (ge_representation_imaginary_code_gauss_product_reorderedfirst))) /\ ((exists ge_balance_positive_gauss_product_reorderedfirstreal ge_balance_negative_gauss_product_reorderedfirstreal. (((((ge_representation_real_code_gauss_product_reorderedfirst) = 2 * (ge_balance_positive_gauss_product_reorderedfirstreal) /\ (ge_balance_negative_gauss_product_reorderedfirstreal) = 0) \/ exists ge_signed_half_gauss_product_reorderedfirstrealdecode. (((ge_representation_real_code_gauss_product_reorderedfirst) = 2 * ge_signed_half_gauss_product_reorderedfirstrealdecode + 1 /\ (ge_balance_positive_gauss_product_reorderedfirstreal) = 0) /\ (ge_balance_negative_gauss_product_reorderedfirstreal) = S ge_signed_half_gauss_product_reorderedfirstrealdecode))) /\ ((ge_first_rp_gauss_product_reordered) + ge_balance_negative_gauss_product_reorderedfirstreal = (ge_first_rn_gauss_product_reordered) + ge_balance_positive_gauss_product_reorderedfirstreal))) /\ (exists ge_balance_positive_gauss_product_reorderedfirstimaginary ge_balance_negative_gauss_product_reorderedfirstimaginary. (((((ge_representation_imaginary_code_gauss_product_reorderedfirst) = 2 * (ge_balance_positive_gauss_product_reorderedfirstimaginary) /\ (ge_balance_negative_gauss_product_reorderedfirstimaginary) = 0) \/ exists ge_signed_half_gauss_product_reorderedfirstimaginarydecode. (((ge_representation_imaginary_code_gauss_product_reorderedfirst) = 2 * ge_signed_half_gauss_product_reorderedfirstimaginarydecode + 1 /\ (ge_balance_positive_gauss_product_reorderedfirstimaginary) = 0) /\ (ge_balance_negative_gauss_product_reorderedfirstimaginary) = S ge_signed_half_gauss_product_reorderedfirstimaginarydecode))) /\ ((ge_first_ip_gauss_product_reordered) + ge_balance_negative_gauss_product_reorderedfirstimaginary = (ge_first_in_gauss_product_reordered) + ge_balance_positive_gauss_product_reorderedfirstimaginary)))))) /\ ((exists ge_representation_real_code_gauss_product_reorderedsecond ge_representation_imaginary_code_gauss_product_reorderedsecond. (((v) = ((ge_representation_real_code_gauss_product_reorderedsecond) + (ge_representation_imaginary_code_gauss_product_reorderedsecond)) * S ((ge_representation_real_code_gauss_product_reorderedsecond) + (ge_representation_imaginary_code_gauss_product_reorderedsecond)) + ((ge_representation_imaginary_code_gauss_product_reorderedsecond) + (ge_representation_imaginary_code_gauss_product_reorderedsecond))) /\ ((exists ge_balance_positive_gauss_product_reorderedsecondreal ge_balance_negative_gauss_product_reorderedsecondreal. (((((ge_representation_real_code_gauss_product_reorderedsecond) = 2 * (ge_balance_positive_gauss_product_reorderedsecondreal) /\ (ge_balance_negative_gauss_product_reorderedsecondreal) = 0) \/ exists ge_signed_half_gauss_product_reorderedsecondrealdecode. (((ge_representation_real_code_gauss_product_reorderedsecond) = 2 * ge_signed_half_gauss_product_reorderedsecondrealdecode + 1 /\ (ge_balance_positive_gauss_product_reorderedsecondreal) = 0) /\ (ge_balance_negative_gauss_product_reorderedsecondreal) = S ge_signed_half_gauss_product_reorderedsecondrealdecode))) /\ ((ge_second_rp_gauss_product_reordered) + ge_balance_negative_gauss_product_reorderedsecondreal = (ge_second_rn_gauss_product_reordered) + ge_balance_positive_gauss_product_reorderedsecondreal))) /\ (exists ge_balance_positive_gauss_product_reorderedsecondimaginary ge_balance_negative_gauss_product_reorderedsecondimaginary. (((((ge_representation_imaginary_code_gauss_product_reorderedsecond) = 2 * (ge_balance_positive_gauss_product_reorderedsecondimaginary) /\ (ge_balance_negative_gauss_product_reorderedsecondimaginary) = 0) \/ exists ge_signed_half_gauss_product_reorderedsecondimaginarydecode. (((ge_representation_imaginary_code_gauss_product_reorderedsecond) = 2 * ge_signed_half_gauss_product_reorderedsecondimaginarydecode + 1 /\ (ge_balance_positive_gauss_product_reorderedsecondimaginary) = 0) /\ (ge_balance_negative_gauss_product_reorderedsecondimaginary) = S ge_signed_half_gauss_product_reorderedsecondimaginarydecode))) /\ ((ge_second_ip_gauss_product_reordered) + ge_balance_negative_gauss_product_reorderedsecondimaginary = (ge_second_in_gauss_product_reordered) + ge_balance_positive_gauss_product_reorderedsecondimaginary)))))) /\ (exists ge_representation_real_code_gauss_product_reorderedoutput ge_representation_imaginary_code_gauss_product_reorderedoutput. (((x4) = ((ge_representation_real_code_gauss_product_reorderedoutput) + (ge_representation_imaginary_code_gauss_product_reorderedoutput)) * S ((ge_representation_real_code_gauss_product_reorderedoutput) + (ge_representation_imaginary_code_gauss_product_reorderedoutput)) + ((ge_representation_imaginary_code_gauss_product_reorderedoutput) + (ge_representation_imaginary_code_gauss_product_reorderedoutput))) /\ ((exists ge_balance_positive_gauss_product_reorderedoutputreal ge_balance_negative_gauss_product_reorderedoutputreal. (((((ge_representation_real_code_gauss_product_reorderedoutput) = 2 * (ge_balance_positive_gauss_product_reorderedoutputreal) /\ (ge_balance_negative_gauss_product_reorderedoutputreal) = 0) \/ exists ge_signed_half_gauss_product_reorderedoutputrealdecode. (((ge_representation_real_code_gauss_product_reorderedoutput) = 2 * ge_signed_half_gauss_product_reorderedoutputrealdecode + 1 /\ (ge_balance_positive_gauss_product_reorderedoutputreal) = 0) /\ (ge_balance_negative_gauss_product_reorderedoutputreal) = S ge_signed_half_gauss_product_reorderedoutputrealdecode))) /\ ((((((((ge_first_rp_gauss_product_reordered) * (ge_second_rp_gauss_product_reordered))) + (((ge_first_rn_gauss_product_reordered) * (ge_second_rn_gauss_product_reordered))))) + (((((ge_first_ip_gauss_product_reordered) * (ge_second_in_gauss_product_reordered))) + (((ge_first_in_gauss_product_reordered) * (ge_second_ip_gauss_product_reordered))))))) + ge_balance_negative_gauss_product_reorderedoutputreal = (((((((ge_first_rp_gauss_product_reordered) * (ge_second_rn_gauss_product_reordered))) + (((ge_first_rn_gauss_product_reordered) * (ge_second_rp_gauss_product_reordered))))) + (((((ge_first_ip_gauss_product_reordered) * (ge_second_ip_gauss_product_reordered))) + (((ge_first_in_gauss_product_reordered) * (ge_second_in_gauss_product_reordered))))))) + ge_balance_positive_gauss_product_reorderedoutputreal))) /\ (exists ge_balance_positive_gauss_product_reorderedoutputimaginary ge_balance_negative_gauss_product_reorderedoutputimaginary. (((((ge_representation_imaginary_code_gauss_product_reorderedoutput) = 2 * (ge_balance_positive_gauss_product_reorderedoutputimaginary) /\ (ge_balance_negative_gauss_product_reorderedoutputimaginary) = 0) \/ exists ge_signed_half_gauss_product_reorderedoutputimaginarydecode. (((ge_representation_imaginary_code_gauss_product_reorderedoutput) = 2 * ge_signed_half_gauss_product_reorderedoutputimaginarydecode + 1 /\ (ge_balance_positive_gauss_product_reorderedoutputimaginary) = 0) /\ (ge_balance_negative_gauss_product_reorderedoutputimaginary) = S ge_signed_half_gauss_product_reorderedoutputimaginarydecode))) /\ ((((((((ge_first_rp_gauss_product_reordered) * (ge_second_ip_gauss_product_reordered))) + (((ge_first_rn_gauss_product_reordered) * (ge_second_in_gauss_product_reordered))))) + (((((ge_first_ip_gauss_product_reordered) * (ge_second_rp_gauss_product_reordered))) + (((ge_first_in_gauss_product_reordered) * (ge_second_rn_gauss_product_reordered))))))) + ge_balance_negative_gauss_product_reorderedoutputimaginary = (((((((ge_first_rp_gauss_product_reordered) * (ge_second_in_gauss_product_reordered))) + (((ge_first_rn_gauss_product_reordered) * (ge_second_ip_gauss_product_reordered))))) + (((((ge_first_ip_gauss_product_reordered) * (ge_second_rn_gauss_product_reordered))) + (((ge_first_in_gauss_product_reordered) * (ge_second_rp_gauss_product_reordered))))))) + ge_balance_positive_gauss_product_reorderedoutputimaginary)))))))) - 0067
specialize gaussian_multiply_swap_tail (a) - 0068
specialize gaussian_multiply_swap_tail (v) - 0069
specialize gaussian_multiply_swap_tail (b) - 0070
specialize gaussian_multiply_swap_tail (x1) - 0071
specialize gaussian_multiply_swap_tail (c) - 0072
specialize gaussian_multiply_swap_tail (x4) - 0073
apply gaussian_multiply_swap_tail - 0074
exact hbez_witness_witness_right_left - 0075
exact hQ_witness - 0076
exact hprod - 0077
have htotal : exists gr_quotient_gauss_total_divisible. (exists ge_first_rp_gauss_total_divisibleproduct ge_first_rn_gauss_total_divisibleproduct ge_first_ip_gauss_total_divisibleproduct ge_first_in_gauss_total_divisibleproduct ge_second_rp_gauss_total_divisibleproduct ge_second_rn_gauss_total_divisibleproduct ge_second_ip_gauss_total_divisibleproduct ge_second_in_gauss_total_divisibleproduct. ((exists ge_representation_real_code_gauss_total_divisibleproductfirst ge_representation_imaginary_code_gauss_total_divisibleproductfirst. (((p) = ((ge_representation_real_code_gauss_total_divisibleproductfirst) + (ge_representation_imaginary_code_gauss_total_divisibleproductfirst)) * S ((ge_representation_real_code_gauss_total_divisibleproductfirst) + (ge_representation_imaginary_code_gauss_total_divisibleproductfirst)) + ((ge_representation_imaginary_code_gauss_total_divisibleproductfirst) + (ge_representation_imaginary_code_gauss_total_divisibleproductfirst))) /\ ((exists ge_balance_positive_gauss_total_divisibleproductfirstreal ge_balance_negative_gauss_total_divisibleproductfirstreal. (((((ge_representation_real_code_gauss_total_divisibleproductfirst) = 2 * (ge_balance_positive_gauss_total_divisibleproductfirstreal) /\ (ge_balance_negative_gauss_total_divisibleproductfirstreal) = 0) \/ exists ge_signed_half_gauss_total_divisibleproductfirstrealdecode. (((ge_representation_real_code_gauss_total_divisibleproductfirst) = 2 * ge_signed_half_gauss_total_divisibleproductfirstrealdecode + 1 /\ (ge_balance_positive_gauss_total_divisibleproductfirstreal) = 0) /\ (ge_balance_negative_gauss_total_divisibleproductfirstreal) = S ge_signed_half_gauss_total_divisibleproductfirstrealdecode))) /\ ((ge_first_rp_gauss_total_divisibleproduct) + ge_balance_negative_gauss_total_divisibleproductfirstreal = (ge_first_rn_gauss_total_divisibleproduct) + ge_balance_positive_gauss_total_divisibleproductfirstreal))) /\ (exists ge_balance_positive_gauss_total_divisibleproductfirstimaginary ge_balance_negative_gauss_total_divisibleproductfirstimaginary. (((((ge_representation_imaginary_code_gauss_total_divisibleproductfirst) = 2 * (ge_balance_positive_gauss_total_divisibleproductfirstimaginary) /\ (ge_balance_negative_gauss_total_divisibleproductfirstimaginary) = 0) \/ exists ge_signed_half_gauss_total_divisibleproductfirstimaginarydecode. (((ge_representation_imaginary_code_gauss_total_divisibleproductfirst) = 2 * ge_signed_half_gauss_total_divisibleproductfirstimaginarydecode + 1 /\ (ge_balance_positive_gauss_total_divisibleproductfirstimaginary) = 0) /\ (ge_balance_negative_gauss_total_divisibleproductfirstimaginary) = S ge_signed_half_gauss_total_divisibleproductfirstimaginarydecode))) /\ ((ge_first_ip_gauss_total_divisibleproduct) + ge_balance_negative_gauss_total_divisibleproductfirstimaginary = (ge_first_in_gauss_total_divisibleproduct) + ge_balance_positive_gauss_total_divisibleproductfirstimaginary)))))) /\ ((exists ge_representation_real_code_gauss_total_divisibleproductsecond ge_representation_imaginary_code_gauss_total_divisibleproductsecond. (((gr_quotient_gauss_total_divisible) = ((ge_representation_real_code_gauss_total_divisibleproductsecond) + (ge_representation_imaginary_code_gauss_total_divisibleproductsecond)) * S ((ge_representation_real_code_gauss_total_divisibleproductsecond) + (ge_representation_imaginary_code_gauss_total_divisibleproductsecond)) + ((ge_representation_imaginary_code_gauss_total_divisibleproductsecond) + (ge_representation_imaginary_code_gauss_total_divisibleproductsecond))) /\ ((exists ge_balance_positive_gauss_total_divisibleproductsecondreal ge_balance_negative_gauss_total_divisibleproductsecondreal. (((((ge_representation_real_code_gauss_total_divisibleproductsecond) = 2 * (ge_balance_positive_gauss_total_divisibleproductsecondreal) /\ (ge_balance_negative_gauss_total_divisibleproductsecondreal) = 0) \/ exists ge_signed_half_gauss_total_divisibleproductsecondrealdecode. (((ge_representation_real_code_gauss_total_divisibleproductsecond) = 2 * ge_signed_half_gauss_total_divisibleproductsecondrealdecode + 1 /\ (ge_balance_positive_gauss_total_divisibleproductsecondreal) = 0) /\ (ge_balance_negative_gauss_total_divisibleproductsecondreal) = S ge_signed_half_gauss_total_divisibleproductsecondrealdecode))) /\ ((ge_second_rp_gauss_total_divisibleproduct) + ge_balance_negative_gauss_total_divisibleproductsecondreal = (ge_second_rn_gauss_total_divisibleproduct) + ge_balance_positive_gauss_total_divisibleproductsecondreal))) /\ (exists ge_balance_positive_gauss_total_divisibleproductsecondimaginary ge_balance_negative_gauss_total_divisibleproductsecondimaginary. (((((ge_representation_imaginary_code_gauss_total_divisibleproductsecond) = 2 * (ge_balance_positive_gauss_total_divisibleproductsecondimaginary) /\ (ge_balance_negative_gauss_total_divisibleproductsecondimaginary) = 0) \/ exists ge_signed_half_gauss_total_divisibleproductsecondimaginarydecode. (((ge_representation_imaginary_code_gauss_total_divisibleproductsecond) = 2 * ge_signed_half_gauss_total_divisibleproductsecondimaginarydecode + 1 /\ (ge_balance_positive_gauss_total_divisibleproductsecondimaginary) = 0) /\ (ge_balance_negative_gauss_total_divisibleproductsecondimaginary) = S ge_signed_half_gauss_total_divisibleproductsecondimaginarydecode))) /\ ((ge_second_ip_gauss_total_divisibleproduct) + ge_balance_negative_gauss_total_divisibleproductsecondimaginary = (ge_second_in_gauss_total_divisibleproduct) + ge_balance_positive_gauss_total_divisibleproductsecondimaginary)))))) /\ (exists ge_representation_real_code_gauss_total_divisibleproductoutput ge_representation_imaginary_code_gauss_total_divisibleproductoutput. (((x5) = ((ge_representation_real_code_gauss_total_divisibleproductoutput) + (ge_representation_imaginary_code_gauss_total_divisibleproductoutput)) * S ((ge_representation_real_code_gauss_total_divisibleproductoutput) + (ge_representation_imaginary_code_gauss_total_divisibleproductoutput)) + ((ge_representation_imaginary_code_gauss_total_divisibleproductoutput) + (ge_representation_imaginary_code_gauss_total_divisibleproductoutput))) /\ ((exists ge_balance_positive_gauss_total_divisibleproductoutputreal ge_balance_negative_gauss_total_divisibleproductoutputreal. (((((ge_representation_real_code_gauss_total_divisibleproductoutput) = 2 * (ge_balance_positive_gauss_total_divisibleproductoutputreal) /\ (ge_balance_negative_gauss_total_divisibleproductoutputreal) = 0) \/ exists ge_signed_half_gauss_total_divisibleproductoutputrealdecode. (((ge_representation_real_code_gauss_total_divisibleproductoutput) = 2 * ge_signed_half_gauss_total_divisibleproductoutputrealdecode + 1 /\ (ge_balance_positive_gauss_total_divisibleproductoutputreal) = 0) /\ (ge_balance_negative_gauss_total_divisibleproductoutputreal) = S ge_signed_half_gauss_total_divisibleproductoutputrealdecode))) /\ ((((((((ge_first_rp_gauss_total_divisibleproduct) * (ge_second_rp_gauss_total_divisibleproduct))) + (((ge_first_rn_gauss_total_divisibleproduct) * (ge_second_rn_gauss_total_divisibleproduct))))) + (((((ge_first_ip_gauss_total_divisibleproduct) * (ge_second_in_gauss_total_divisibleproduct))) + (((ge_first_in_gauss_total_divisibleproduct) * (ge_second_ip_gauss_total_divisibleproduct))))))) + ge_balance_negative_gauss_total_divisibleproductoutputreal = (((((((ge_first_rp_gauss_total_divisibleproduct) * (ge_second_rn_gauss_total_divisibleproduct))) + (((ge_first_rn_gauss_total_divisibleproduct) * (ge_second_rp_gauss_total_divisibleproduct))))) + (((((ge_first_ip_gauss_total_divisibleproduct) * (ge_second_ip_gauss_total_divisibleproduct))) + (((ge_first_in_gauss_total_divisibleproduct) * (ge_second_in_gauss_total_divisibleproduct))))))) + ge_balance_positive_gauss_total_divisibleproductoutputreal))) /\ (exists ge_balance_positive_gauss_total_divisibleproductoutputimaginary ge_balance_negative_gauss_total_divisibleproductoutputimaginary. (((((ge_representation_imaginary_code_gauss_total_divisibleproductoutput) = 2 * (ge_balance_positive_gauss_total_divisibleproductoutputimaginary) /\ (ge_balance_negative_gauss_total_divisibleproductoutputimaginary) = 0) \/ exists ge_signed_half_gauss_total_divisibleproductoutputimaginarydecode. (((ge_representation_imaginary_code_gauss_total_divisibleproductoutput) = 2 * ge_signed_half_gauss_total_divisibleproductoutputimaginarydecode + 1 /\ (ge_balance_positive_gauss_total_divisibleproductoutputimaginary) = 0) /\ (ge_balance_negative_gauss_total_divisibleproductoutputimaginary) = S ge_signed_half_gauss_total_divisibleproductoutputimaginarydecode))) /\ ((((((((ge_first_rp_gauss_total_divisibleproduct) * (ge_second_ip_gauss_total_divisibleproduct))) + (((ge_first_rn_gauss_total_divisibleproduct) * (ge_second_in_gauss_total_divisibleproduct))))) + (((((ge_first_ip_gauss_total_divisibleproduct) * (ge_second_rp_gauss_total_divisibleproduct))) + (((ge_first_in_gauss_total_divisibleproduct) * (ge_second_rn_gauss_total_divisibleproduct))))))) + ge_balance_negative_gauss_total_divisibleproductoutputimaginary = (((((((ge_first_rp_gauss_total_divisibleproduct) * (ge_second_in_gauss_total_divisibleproduct))) + (((ge_first_rn_gauss_total_divisibleproduct) * (ge_second_ip_gauss_total_divisibleproduct))))) + (((((ge_first_ip_gauss_total_divisibleproduct) * (ge_second_rn_gauss_total_divisibleproduct))) + (((ge_first_in_gauss_total_divisibleproduct) * (ge_second_rp_gauss_total_divisibleproduct))))))) + ge_balance_positive_gauss_total_divisibleproductoutputimaginary))))))))) - 0078
specialize gaussian_common_divisor_add (p) - 0079
specialize gaussian_common_divisor_add (x3) - 0080
specialize gaussian_common_divisor_add (x4) - 0081
specialize gaussian_common_divisor_add (x5) - 0082
apply gaussian_common_divisor_add - 0083
specialize gaussian_divides_product_left (p) - 0084
specialize gaussian_divides_product_left (x) - 0085
specialize gaussian_divides_product_left (b) - 0086
specialize gaussian_divides_product_left (x3) - 0087
apply gaussian_divides_product_left - 0088
exists (u) - 0089
exact hbez_witness_witness_left - 0090
exact hP_witness - 0091
specialize gaussian_divides_product_left (p) - 0092
specialize gaussian_divides_product_left (c) - 0093
specialize gaussian_divides_product_left (v) - 0094
specialize gaussian_divides_product_left (x4) - 0095
apply gaussian_divides_product_left - 0096
exact hdiv - 0097
exact hcv - 0098
specialize gaussian_multiply_add_distribute_right (b) - 0099
specialize gaussian_multiply_add_distribute_right (x) - 0100
specialize gaussian_multiply_add_distribute_right (x1) - 0101
specialize gaussian_multiply_add_distribute_right (g) - 0102
specialize gaussian_multiply_add_distribute_right (x3) - 0103
specialize gaussian_multiply_add_distribute_right (x4) - 0104
specialize gaussian_multiply_add_distribute_right (x5) - 0105
apply gaussian_multiply_add_distribute_right - 0106
exact hbez_witness_witness_right_right - 0107
exact hP_witness - 0108
exact hQ_witness - 0109
exact hT_witness - 0110
specialize gaussian_divides_transitive (p) - 0111
specialize gaussian_divides_transitive (x5) - 0112
specialize gaussian_divides_transitive (b) - 0113
apply gaussian_divides_transitive - 0114
exact htotal - 0115
exists (x2) - 0116
specialize gaussian_multiply_commutative (x2) - 0117
specialize gaussian_multiply_commutative (x5) - 0118
specialize gaussian_multiply_commutative (b) - 0119
apply gaussian_multiply_commutative - 0120
specialize gaussian_multiply_associative (x2) - 0121
specialize gaussian_multiply_associative (g) - 0122
specialize gaussian_multiply_associative (b) - 0123
specialize gaussian_multiply_associative (6) - 0124
specialize gaussian_multiply_associative (x5) - 0125
specialize gaussian_multiply_associative (b) - 0126
apply gaussian_multiply_associative - 0127
exact hinverse_witness_right_right - 0128
specialize gaussian_multiply_one_left (b) - 0129
apply gaussian_multiply_one_left - 0130
specialize gaussian_multiply_input_right_valid (a) - 0131
specialize gaussian_multiply_input_right_valid (b) - 0132
specialize gaussian_multiply_input_right_valid (c) - 0133
apply gaussian_multiply_input_right_valid - 0134
exact hprod - 0135
exact hT_witness