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. ~(p=0) -> (exists ge_first_rp_cofactor_product ge_first_rn_cofactor_product ge_first_ip_cofactor_product ge_first_in_cofactor_product ge_second_rp_cofactor_product ge_second_rn_cofactor_product ge_second_ip_cofactor_product ge_second_in_cofactor_product. ((exists ge_representation_real_code_cofactor_productfirst ge_representation_imaginary_code_cofactor_productfirst. (((a) = ((ge_representation_real_code_cofactor_productfirst) + (ge_representation_imaginary_code_cofactor_productfirst)) * S ((ge_representation_real_code_cofactor_productfirst) + (ge_representation_imaginary_code_cofactor_productfirst)) + ((ge_representation_imaginary_code_cofactor_productfirst) + (ge_representation_imaginary_code_cofactor_productfirst))) /\ ((exists ge_balance_positive_cofactor_productfirstreal ge_balance_negative_cofactor_productfirstreal. (((((ge_representation_real_code_cofactor_productfirst) = 2 * (ge_balance_positive_cofactor_productfirstreal) /\ (ge_balance_negative_cofactor_productfirstreal) = 0) \/ exists ge_signed_half_cofactor_productfirstrealdecode. (((ge_representation_real_code_cofactor_productfirst) = 2 * ge_signed_half_cofactor_productfirstrealdecode + 1 /\ (ge_balance_positive_cofactor_productfirstreal) = 0) /\ (ge_balance_negative_cofactor_productfirstreal) = S ge_signed_half_cofactor_productfirstrealdecode))) /\ ((ge_first_rp_cofactor_product) + ge_balance_negative_cofactor_productfirstreal = (ge_first_rn_cofactor_product) + ge_balance_positive_cofactor_productfirstreal))) /\ (exists ge_balance_positive_cofactor_productfirstimaginary ge_balance_negative_cofactor_productfirstimaginary. (((((ge_representation_imaginary_code_cofactor_productfirst) = 2 * (ge_balance_positive_cofactor_productfirstimaginary) /\ (ge_balance_negative_cofactor_productfirstimaginary) = 0) \/ exists ge_signed_half_cofactor_productfirstimaginarydecode. (((ge_representation_imaginary_code_cofactor_productfirst) = 2 * ge_signed_half_cofactor_productfirstimaginarydecode + 1 /\ (ge_balance_positive_cofactor_productfirstimaginary) = 0) /\ (ge_balance_negative_cofactor_productfirstimaginary) = S ge_signed_half_cofactor_productfirstimaginarydecode))) /\ ((ge_first_ip_cofactor_product) + ge_balance_negative_cofactor_productfirstimaginary = (ge_first_in_cofactor_product) + ge_balance_positive_cofactor_productfirstimaginary)))))) /\ ((exists ge_representation_real_code_cofactor_productsecond ge_representation_imaginary_code_cofactor_productsecond. (((b) = ((ge_representation_real_code_cofactor_productsecond) + (ge_representation_imaginary_code_cofactor_productsecond)) * S ((ge_representation_real_code_cofactor_productsecond) + (ge_representation_imaginary_code_cofactor_productsecond)) + ((ge_representation_imaginary_code_cofactor_productsecond) + (ge_representation_imaginary_code_cofactor_productsecond))) /\ ((exists ge_balance_positive_cofactor_productsecondreal ge_balance_negative_cofactor_productsecondreal. (((((ge_representation_real_code_cofactor_productsecond) = 2 * (ge_balance_positive_cofactor_productsecondreal) /\ (ge_balance_negative_cofactor_productsecondreal) = 0) \/ exists ge_signed_half_cofactor_productsecondrealdecode. (((ge_representation_real_code_cofactor_productsecond) = 2 * ge_signed_half_cofactor_productsecondrealdecode + 1 /\ (ge_balance_positive_cofactor_productsecondreal) = 0) /\ (ge_balance_negative_cofactor_productsecondreal) = S ge_signed_half_cofactor_productsecondrealdecode))) /\ ((ge_second_rp_cofactor_product) + ge_balance_negative_cofactor_productsecondreal = (ge_second_rn_cofactor_product) + ge_balance_positive_cofactor_productsecondreal))) /\ (exists ge_balance_positive_cofactor_productsecondimaginary ge_balance_negative_cofactor_productsecondimaginary. (((((ge_representation_imaginary_code_cofactor_productsecond) = 2 * (ge_balance_positive_cofactor_productsecondimaginary) /\ (ge_balance_negative_cofactor_productsecondimaginary) = 0) \/ exists ge_signed_half_cofactor_productsecondimaginarydecode. (((ge_representation_imaginary_code_cofactor_productsecond) = 2 * ge_signed_half_cofactor_productsecondimaginarydecode + 1 /\ (ge_balance_positive_cofactor_productsecondimaginary) = 0) /\ (ge_balance_negative_cofactor_productsecondimaginary) = S ge_signed_half_cofactor_productsecondimaginarydecode))) /\ ((ge_second_ip_cofactor_product) + ge_balance_negative_cofactor_productsecondimaginary = (ge_second_in_cofactor_product) + ge_balance_positive_cofactor_productsecondimaginary)))))) /\ (exists ge_representation_real_code_cofactor_productoutput ge_representation_imaginary_code_cofactor_productoutput. (((p) = ((ge_representation_real_code_cofactor_productoutput) + (ge_representation_imaginary_code_cofactor_productoutput)) * S ((ge_representation_real_code_cofactor_productoutput) + (ge_representation_imaginary_code_cofactor_productoutput)) + ((ge_representation_imaginary_code_cofactor_productoutput) + (ge_representation_imaginary_code_cofactor_productoutput))) /\ ((exists ge_balance_positive_cofactor_productoutputreal ge_balance_negative_cofactor_productoutputreal. (((((ge_representation_real_code_cofactor_productoutput) = 2 * (ge_balance_positive_cofactor_productoutputreal) /\ (ge_balance_negative_cofactor_productoutputreal) = 0) \/ exists ge_signed_half_cofactor_productoutputrealdecode. (((ge_representation_real_code_cofactor_productoutput) = 2 * ge_signed_half_cofactor_productoutputrealdecode + 1 /\ (ge_balance_positive_cofactor_productoutputreal) = 0) /\ (ge_balance_negative_cofactor_productoutputreal) = S ge_signed_half_cofactor_productoutputrealdecode))) /\ ((((((((ge_first_rp_cofactor_product) * (ge_second_rp_cofactor_product))) + (((ge_first_rn_cofactor_product) * (ge_second_rn_cofactor_product))))) + (((((ge_first_ip_cofactor_product) * (ge_second_in_cofactor_product))) + (((ge_first_in_cofactor_product) * (ge_second_ip_cofactor_product))))))) + ge_balance_negative_cofactor_productoutputreal = (((((((ge_first_rp_cofactor_product) * (ge_second_rn_cofactor_product))) + (((ge_first_rn_cofactor_product) * (ge_second_rp_cofactor_product))))) + (((((ge_first_ip_cofactor_product) * (ge_second_ip_cofactor_product))) + (((ge_first_in_cofactor_product) * (ge_second_in_cofactor_product))))))) + ge_balance_positive_cofactor_productoutputreal))) /\ (exists ge_balance_positive_cofactor_productoutputimaginary ge_balance_negative_cofactor_productoutputimaginary. (((((ge_representation_imaginary_code_cofactor_productoutput) = 2 * (ge_balance_positive_cofactor_productoutputimaginary) /\ (ge_balance_negative_cofactor_productoutputimaginary) = 0) \/ exists ge_signed_half_cofactor_productoutputimaginarydecode. (((ge_representation_imaginary_code_cofactor_productoutput) = 2 * ge_signed_half_cofactor_productoutputimaginarydecode + 1 /\ (ge_balance_positive_cofactor_productoutputimaginary) = 0) /\ (ge_balance_negative_cofactor_productoutputimaginary) = S ge_signed_half_cofactor_productoutputimaginarydecode))) /\ ((((((((ge_first_rp_cofactor_product) * (ge_second_ip_cofactor_product))) + (((ge_first_rn_cofactor_product) * (ge_second_in_cofactor_product))))) + (((((ge_first_ip_cofactor_product) * (ge_second_rp_cofactor_product))) + (((ge_first_in_cofactor_product) * (ge_second_rn_cofactor_product))))))) + ge_balance_negative_cofactor_productoutputimaginary = (((((((ge_first_rp_cofactor_product) * (ge_second_in_cofactor_product))) + (((ge_first_rn_cofactor_product) * (ge_second_ip_cofactor_product))))) + (((((ge_first_ip_cofactor_product) * (ge_second_rn_cofactor_product))) + (((ge_first_in_cofactor_product) * (ge_second_rp_cofactor_product))))))) + ge_balance_positive_cofactor_productoutputimaginary))))))))) -> (exists gr_quotient_cofactor_reverse_divisor. (exists ge_first_rp_cofactor_reverse_divisorproduct ge_first_rn_cofactor_reverse_divisorproduct ge_first_ip_cofactor_reverse_divisorproduct ge_first_in_cofactor_reverse_divisorproduct ge_second_rp_cofactor_reverse_divisorproduct ge_second_rn_cofactor_reverse_divisorproduct ge_second_ip_cofactor_reverse_divisorproduct ge_second_in_cofactor_reverse_divisorproduct. ((exists ge_representation_real_code_cofactor_reverse_divisorproductfirst ge_representation_imaginary_code_cofactor_reverse_divisorproductfirst. (((p) = ((ge_representation_real_code_cofactor_reverse_divisorproductfirst) + (ge_representation_imaginary_code_cofactor_reverse_divisorproductfirst)) * S ((ge_representation_real_code_cofactor_reverse_divisorproductfirst) + (ge_representation_imaginary_code_cofactor_reverse_divisorproductfirst)) + ((ge_representation_imaginary_code_cofactor_reverse_divisorproductfirst) + (ge_representation_imaginary_code_cofactor_reverse_divisorproductfirst))) /\ ((exists ge_balance_positive_cofactor_reverse_divisorproductfirstreal ge_balance_negative_cofactor_reverse_divisorproductfirstreal. (((((ge_representation_real_code_cofactor_reverse_divisorproductfirst) = 2 * (ge_balance_positive_cofactor_reverse_divisorproductfirstreal) /\ (ge_balance_negative_cofactor_reverse_divisorproductfirstreal) = 0) \/ exists ge_signed_half_cofactor_reverse_divisorproductfirstrealdecode. (((ge_representation_real_code_cofactor_reverse_divisorproductfirst) = 2 * ge_signed_half_cofactor_reverse_divisorproductfirstrealdecode + 1 /\ (ge_balance_positive_cofactor_reverse_divisorproductfirstreal) = 0) /\ (ge_balance_negative_cofactor_reverse_divisorproductfirstreal) = S ge_signed_half_cofactor_reverse_divisorproductfirstrealdecode))) /\ ((ge_first_rp_cofactor_reverse_divisorproduct) + ge_balance_negative_cofactor_reverse_divisorproductfirstreal = (ge_first_rn_cofactor_reverse_divisorproduct) + ge_balance_positive_cofactor_reverse_divisorproductfirstreal))) /\ (exists ge_balance_positive_cofactor_reverse_divisorproductfirstimaginary ge_balance_negative_cofactor_reverse_divisorproductfirstimaginary. (((((ge_representation_imaginary_code_cofactor_reverse_divisorproductfirst) = 2 * (ge_balance_positive_cofactor_reverse_divisorproductfirstimaginary) /\ (ge_balance_negative_cofactor_reverse_divisorproductfirstimaginary) = 0) \/ exists ge_signed_half_cofactor_reverse_divisorproductfirstimaginarydecode. (((ge_representation_imaginary_code_cofactor_reverse_divisorproductfirst) = 2 * ge_signed_half_cofactor_reverse_divisorproductfirstimaginarydecode + 1 /\ (ge_balance_positive_cofactor_reverse_divisorproductfirstimaginary) = 0) /\ (ge_balance_negative_cofactor_reverse_divisorproductfirstimaginary) = S ge_signed_half_cofactor_reverse_divisorproductfirstimaginarydecode))) /\ ((ge_first_ip_cofactor_reverse_divisorproduct) + ge_balance_negative_cofactor_reverse_divisorproductfirstimaginary = (ge_first_in_cofactor_reverse_divisorproduct) + ge_balance_positive_cofactor_reverse_divisorproductfirstimaginary)))))) /\ ((exists ge_representation_real_code_cofactor_reverse_divisorproductsecond ge_representation_imaginary_code_cofactor_reverse_divisorproductsecond. (((gr_quotient_cofactor_reverse_divisor) = ((ge_representation_real_code_cofactor_reverse_divisorproductsecond) + (ge_representation_imaginary_code_cofactor_reverse_divisorproductsecond)) * S ((ge_representation_real_code_cofactor_reverse_divisorproductsecond) + (ge_representation_imaginary_code_cofactor_reverse_divisorproductsecond)) + ((ge_representation_imaginary_code_cofactor_reverse_divisorproductsecond) + (ge_representation_imaginary_code_cofactor_reverse_divisorproductsecond))) /\ ((exists ge_balance_positive_cofactor_reverse_divisorproductsecondreal ge_balance_negative_cofactor_reverse_divisorproductsecondreal. (((((ge_representation_real_code_cofactor_reverse_divisorproductsecond) = 2 * (ge_balance_positive_cofactor_reverse_divisorproductsecondreal) /\ (ge_balance_negative_cofactor_reverse_divisorproductsecondreal) = 0) \/ exists ge_signed_half_cofactor_reverse_divisorproductsecondrealdecode. (((ge_representation_real_code_cofactor_reverse_divisorproductsecond) = 2 * ge_signed_half_cofactor_reverse_divisorproductsecondrealdecode + 1 /\ (ge_balance_positive_cofactor_reverse_divisorproductsecondreal) = 0) /\ (ge_balance_negative_cofactor_reverse_divisorproductsecondreal) = S ge_signed_half_cofactor_reverse_divisorproductsecondrealdecode))) /\ ((ge_second_rp_cofactor_reverse_divisorproduct) + ge_balance_negative_cofactor_reverse_divisorproductsecondreal = (ge_second_rn_cofactor_reverse_divisorproduct) + ge_balance_positive_cofactor_reverse_divisorproductsecondreal))) /\ (exists ge_balance_positive_cofactor_reverse_divisorproductsecondimaginary ge_balance_negative_cofactor_reverse_divisorproductsecondimaginary. (((((ge_representation_imaginary_code_cofactor_reverse_divisorproductsecond) = 2 * (ge_balance_positive_cofactor_reverse_divisorproductsecondimaginary) /\ (ge_balance_negative_cofactor_reverse_divisorproductsecondimaginary) = 0) \/ exists ge_signed_half_cofactor_reverse_divisorproductsecondimaginarydecode. (((ge_representation_imaginary_code_cofactor_reverse_divisorproductsecond) = 2 * ge_signed_half_cofactor_reverse_divisorproductsecondimaginarydecode + 1 /\ (ge_balance_positive_cofactor_reverse_divisorproductsecondimaginary) = 0) /\ (ge_balance_negative_cofactor_reverse_divisorproductsecondimaginary) = S ge_signed_half_cofactor_reverse_divisorproductsecondimaginarydecode))) /\ ((ge_second_ip_cofactor_reverse_divisorproduct) + ge_balance_negative_cofactor_reverse_divisorproductsecondimaginary = (ge_second_in_cofactor_reverse_divisorproduct) + ge_balance_positive_cofactor_reverse_divisorproductsecondimaginary)))))) /\ (exists ge_representation_real_code_cofactor_reverse_divisorproductoutput ge_representation_imaginary_code_cofactor_reverse_divisorproductoutput. (((a) = ((ge_representation_real_code_cofactor_reverse_divisorproductoutput) + (ge_representation_imaginary_code_cofactor_reverse_divisorproductoutput)) * S ((ge_representation_real_code_cofactor_reverse_divisorproductoutput) + (ge_representation_imaginary_code_cofactor_reverse_divisorproductoutput)) + ((ge_representation_imaginary_code_cofactor_reverse_divisorproductoutput) + (ge_representation_imaginary_code_cofactor_reverse_divisorproductoutput))) /\ ((exists ge_balance_positive_cofactor_reverse_divisorproductoutputreal ge_balance_negative_cofactor_reverse_divisorproductoutputreal. (((((ge_representation_real_code_cofactor_reverse_divisorproductoutput) = 2 * (ge_balance_positive_cofactor_reverse_divisorproductoutputreal) /\ (ge_balance_negative_cofactor_reverse_divisorproductoutputreal) = 0) \/ exists ge_signed_half_cofactor_reverse_divisorproductoutputrealdecode. (((ge_representation_real_code_cofactor_reverse_divisorproductoutput) = 2 * ge_signed_half_cofactor_reverse_divisorproductoutputrealdecode + 1 /\ (ge_balance_positive_cofactor_reverse_divisorproductoutputreal) = 0) /\ (ge_balance_negative_cofactor_reverse_divisorproductoutputreal) = S ge_signed_half_cofactor_reverse_divisorproductoutputrealdecode))) /\ ((((((((ge_first_rp_cofactor_reverse_divisorproduct) * (ge_second_rp_cofactor_reverse_divisorproduct))) + (((ge_first_rn_cofactor_reverse_divisorproduct) * (ge_second_rn_cofactor_reverse_divisorproduct))))) + (((((ge_first_ip_cofactor_reverse_divisorproduct) * (ge_second_in_cofactor_reverse_divisorproduct))) + (((ge_first_in_cofactor_reverse_divisorproduct) * (ge_second_ip_cofactor_reverse_divisorproduct))))))) + ge_balance_negative_cofactor_reverse_divisorproductoutputreal = (((((((ge_first_rp_cofactor_reverse_divisorproduct) * (ge_second_rn_cofactor_reverse_divisorproduct))) + (((ge_first_rn_cofactor_reverse_divisorproduct) * (ge_second_rp_cofactor_reverse_divisorproduct))))) + (((((ge_first_ip_cofactor_reverse_divisorproduct) * (ge_second_ip_cofactor_reverse_divisorproduct))) + (((ge_first_in_cofactor_reverse_divisorproduct) * (ge_second_in_cofactor_reverse_divisorproduct))))))) + ge_balance_positive_cofactor_reverse_divisorproductoutputreal))) /\ (exists ge_balance_positive_cofactor_reverse_divisorproductoutputimaginary ge_balance_negative_cofactor_reverse_divisorproductoutputimaginary. (((((ge_representation_imaginary_code_cofactor_reverse_divisorproductoutput) = 2 * (ge_balance_positive_cofactor_reverse_divisorproductoutputimaginary) /\ (ge_balance_negative_cofactor_reverse_divisorproductoutputimaginary) = 0) \/ exists ge_signed_half_cofactor_reverse_divisorproductoutputimaginarydecode. (((ge_representation_imaginary_code_cofactor_reverse_divisorproductoutput) = 2 * ge_signed_half_cofactor_reverse_divisorproductoutputimaginarydecode + 1 /\ (ge_balance_positive_cofactor_reverse_divisorproductoutputimaginary) = 0) /\ (ge_balance_negative_cofactor_reverse_divisorproductoutputimaginary) = S ge_signed_half_cofactor_reverse_divisorproductoutputimaginarydecode))) /\ ((((((((ge_first_rp_cofactor_reverse_divisorproduct) * (ge_second_ip_cofactor_reverse_divisorproduct))) + (((ge_first_rn_cofactor_reverse_divisorproduct) * (ge_second_in_cofactor_reverse_divisorproduct))))) + (((((ge_first_ip_cofactor_reverse_divisorproduct) * (ge_second_rp_cofactor_reverse_divisorproduct))) + (((ge_first_in_cofactor_reverse_divisorproduct) * (ge_second_rn_cofactor_reverse_divisorproduct))))))) + ge_balance_negative_cofactor_reverse_divisorproductoutputimaginary = (((((((ge_first_rp_cofactor_reverse_divisorproduct) * (ge_second_in_cofactor_reverse_divisorproduct))) + (((ge_first_rn_cofactor_reverse_divisorproduct) * (ge_second_ip_cofactor_reverse_divisorproduct))))) + (((((ge_first_ip_cofactor_reverse_divisorproduct) * (ge_second_rn_cofactor_reverse_divisorproduct))) + (((ge_first_in_cofactor_reverse_divisorproduct) * (ge_second_rp_cofactor_reverse_divisorproduct))))))) + ge_balance_positive_cofactor_reverse_divisorproductoutputimaginary)))))))))) -> (exists gr_inverse_cofactor_unit. (exists ge_first_rp_cofactor_unitidentity ge_first_rn_cofactor_unitidentity ge_first_ip_cofactor_unitidentity ge_first_in_cofactor_unitidentity ge_second_rp_cofactor_unitidentity ge_second_rn_cofactor_unitidentity ge_second_ip_cofactor_unitidentity ge_second_in_cofactor_unitidentity. ((exists ge_representation_real_code_cofactor_unitidentityfirst ge_representation_imaginary_code_cofactor_unitidentityfirst. (((b) = ((ge_representation_real_code_cofactor_unitidentityfirst) + (ge_representation_imaginary_code_cofactor_unitidentityfirst)) * S ((ge_representation_real_code_cofactor_unitidentityfirst) + (ge_representation_imaginary_code_cofactor_unitidentityfirst)) + ((ge_representation_imaginary_code_cofactor_unitidentityfirst) + (ge_representation_imaginary_code_cofactor_unitidentityfirst))) /\ ((exists ge_balance_positive_cofactor_unitidentityfirstreal ge_balance_negative_cofactor_unitidentityfirstreal. (((((ge_representation_real_code_cofactor_unitidentityfirst) = 2 * (ge_balance_positive_cofactor_unitidentityfirstreal) /\ (ge_balance_negative_cofactor_unitidentityfirstreal) = 0) \/ exists ge_signed_half_cofactor_unitidentityfirstrealdecode. (((ge_representation_real_code_cofactor_unitidentityfirst) = 2 * ge_signed_half_cofactor_unitidentityfirstrealdecode + 1 /\ (ge_balance_positive_cofactor_unitidentityfirstreal) = 0) /\ (ge_balance_negative_cofactor_unitidentityfirstreal) = S ge_signed_half_cofactor_unitidentityfirstrealdecode))) /\ ((ge_first_rp_cofactor_unitidentity) + ge_balance_negative_cofactor_unitidentityfirstreal = (ge_first_rn_cofactor_unitidentity) + ge_balance_positive_cofactor_unitidentityfirstreal))) /\ (exists ge_balance_positive_cofactor_unitidentityfirstimaginary ge_balance_negative_cofactor_unitidentityfirstimaginary. (((((ge_representation_imaginary_code_cofactor_unitidentityfirst) = 2 * (ge_balance_positive_cofactor_unitidentityfirstimaginary) /\ (ge_balance_negative_cofactor_unitidentityfirstimaginary) = 0) \/ exists ge_signed_half_cofactor_unitidentityfirstimaginarydecode. (((ge_representation_imaginary_code_cofactor_unitidentityfirst) = 2 * ge_signed_half_cofactor_unitidentityfirstimaginarydecode + 1 /\ (ge_balance_positive_cofactor_unitidentityfirstimaginary) = 0) /\ (ge_balance_negative_cofactor_unitidentityfirstimaginary) = S ge_signed_half_cofactor_unitidentityfirstimaginarydecode))) /\ ((ge_first_ip_cofactor_unitidentity) + ge_balance_negative_cofactor_unitidentityfirstimaginary = (ge_first_in_cofactor_unitidentity) + ge_balance_positive_cofactor_unitidentityfirstimaginary)))))) /\ ((exists ge_representation_real_code_cofactor_unitidentitysecond ge_representation_imaginary_code_cofactor_unitidentitysecond. (((gr_inverse_cofactor_unit) = ((ge_representation_real_code_cofactor_unitidentitysecond) + (ge_representation_imaginary_code_cofactor_unitidentitysecond)) * S ((ge_representation_real_code_cofactor_unitidentitysecond) + (ge_representation_imaginary_code_cofactor_unitidentitysecond)) + ((ge_representation_imaginary_code_cofactor_unitidentitysecond) + (ge_representation_imaginary_code_cofactor_unitidentitysecond))) /\ ((exists ge_balance_positive_cofactor_unitidentitysecondreal ge_balance_negative_cofactor_unitidentitysecondreal. (((((ge_representation_real_code_cofactor_unitidentitysecond) = 2 * (ge_balance_positive_cofactor_unitidentitysecondreal) /\ (ge_balance_negative_cofactor_unitidentitysecondreal) = 0) \/ exists ge_signed_half_cofactor_unitidentitysecondrealdecode. (((ge_representation_real_code_cofactor_unitidentitysecond) = 2 * ge_signed_half_cofactor_unitidentitysecondrealdecode + 1 /\ (ge_balance_positive_cofactor_unitidentitysecondreal) = 0) /\ (ge_balance_negative_cofactor_unitidentitysecondreal) = S ge_signed_half_cofactor_unitidentitysecondrealdecode))) /\ ((ge_second_rp_cofactor_unitidentity) + ge_balance_negative_cofactor_unitidentitysecondreal = (ge_second_rn_cofactor_unitidentity) + ge_balance_positive_cofactor_unitidentitysecondreal))) /\ (exists ge_balance_positive_cofactor_unitidentitysecondimaginary ge_balance_negative_cofactor_unitidentitysecondimaginary. (((((ge_representation_imaginary_code_cofactor_unitidentitysecond) = 2 * (ge_balance_positive_cofactor_unitidentitysecondimaginary) /\ (ge_balance_negative_cofactor_unitidentitysecondimaginary) = 0) \/ exists ge_signed_half_cofactor_unitidentitysecondimaginarydecode. (((ge_representation_imaginary_code_cofactor_unitidentitysecond) = 2 * ge_signed_half_cofactor_unitidentitysecondimaginarydecode + 1 /\ (ge_balance_positive_cofactor_unitidentitysecondimaginary) = 0) /\ (ge_balance_negative_cofactor_unitidentitysecondimaginary) = S ge_signed_half_cofactor_unitidentitysecondimaginarydecode))) /\ ((ge_second_ip_cofactor_unitidentity) + ge_balance_negative_cofactor_unitidentitysecondimaginary = (ge_second_in_cofactor_unitidentity) + ge_balance_positive_cofactor_unitidentitysecondimaginary)))))) /\ (exists ge_representation_real_code_cofactor_unitidentityoutput ge_representation_imaginary_code_cofactor_unitidentityoutput. (((6) = ((ge_representation_real_code_cofactor_unitidentityoutput) + (ge_representation_imaginary_code_cofactor_unitidentityoutput)) * S ((ge_representation_real_code_cofactor_unitidentityoutput) + (ge_representation_imaginary_code_cofactor_unitidentityoutput)) + ((ge_representation_imaginary_code_cofactor_unitidentityoutput) + (ge_representation_imaginary_code_cofactor_unitidentityoutput))) /\ ((exists ge_balance_positive_cofactor_unitidentityoutputreal ge_balance_negative_cofactor_unitidentityoutputreal. (((((ge_representation_real_code_cofactor_unitidentityoutput) = 2 * (ge_balance_positive_cofactor_unitidentityoutputreal) /\ (ge_balance_negative_cofactor_unitidentityoutputreal) = 0) \/ exists ge_signed_half_cofactor_unitidentityoutputrealdecode. (((ge_representation_real_code_cofactor_unitidentityoutput) = 2 * ge_signed_half_cofactor_unitidentityoutputrealdecode + 1 /\ (ge_balance_positive_cofactor_unitidentityoutputreal) = 0) /\ (ge_balance_negative_cofactor_unitidentityoutputreal) = S ge_signed_half_cofactor_unitidentityoutputrealdecode))) /\ ((((((((ge_first_rp_cofactor_unitidentity) * (ge_second_rp_cofactor_unitidentity))) + (((ge_first_rn_cofactor_unitidentity) * (ge_second_rn_cofactor_unitidentity))))) + (((((ge_first_ip_cofactor_unitidentity) * (ge_second_in_cofactor_unitidentity))) + (((ge_first_in_cofactor_unitidentity) * (ge_second_ip_cofactor_unitidentity))))))) + ge_balance_negative_cofactor_unitidentityoutputreal = (((((((ge_first_rp_cofactor_unitidentity) * (ge_second_rn_cofactor_unitidentity))) + (((ge_first_rn_cofactor_unitidentity) * (ge_second_rp_cofactor_unitidentity))))) + (((((ge_first_ip_cofactor_unitidentity) * (ge_second_ip_cofactor_unitidentity))) + (((ge_first_in_cofactor_unitidentity) * (ge_second_in_cofactor_unitidentity))))))) + ge_balance_positive_cofactor_unitidentityoutputreal))) /\ (exists ge_balance_positive_cofactor_unitidentityoutputimaginary ge_balance_negative_cofactor_unitidentityoutputimaginary. (((((ge_representation_imaginary_code_cofactor_unitidentityoutput) = 2 * (ge_balance_positive_cofactor_unitidentityoutputimaginary) /\ (ge_balance_negative_cofactor_unitidentityoutputimaginary) = 0) \/ exists ge_signed_half_cofactor_unitidentityoutputimaginarydecode. (((ge_representation_imaginary_code_cofactor_unitidentityoutput) = 2 * ge_signed_half_cofactor_unitidentityoutputimaginarydecode + 1 /\ (ge_balance_positive_cofactor_unitidentityoutputimaginary) = 0) /\ (ge_balance_negative_cofactor_unitidentityoutputimaginary) = S ge_signed_half_cofactor_unitidentityoutputimaginarydecode))) /\ ((((((((ge_first_rp_cofactor_unitidentity) * (ge_second_ip_cofactor_unitidentity))) + (((ge_first_rn_cofactor_unitidentity) * (ge_second_in_cofactor_unitidentity))))) + (((((ge_first_ip_cofactor_unitidentity) * (ge_second_rp_cofactor_unitidentity))) + (((ge_first_in_cofactor_unitidentity) * (ge_second_rn_cofactor_unitidentity))))))) + ge_balance_negative_cofactor_unitidentityoutputimaginary = (((((((ge_first_rp_cofactor_unitidentity) * (ge_second_in_cofactor_unitidentity))) + (((ge_first_rn_cofactor_unitidentity) * (ge_second_ip_cofactor_unitidentity))))) + (((((ge_first_ip_cofactor_unitidentity) * (ge_second_rn_cofactor_unitidentity))) + (((ge_first_in_cofactor_unitidentity) * (ge_second_rp_cofactor_unitidentity))))))) + ge_balance_positive_cofactor_unitidentityoutputimaginary))))))))))Constructive proof overview
Generated structural guide
If a nonzero actual Gaussian product divides one factor, its other factor has a constructed inverse; no abstract domain axiom is assumed.
The unchanged tactic script uses 8 declared prerequisites and contains 60 exact native proof lines.
Alpha v34 checked-use · first admitted v30 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
gaussian_multiply_exists Alpha theorem; checked-use authorized GF0008 gaussian_multiply_input_right_valid GF0007 gaussian_multiply_input_left_valid GF0025 gaussian_multiply_associative GF003B gaussian_multiply_cancel_left GF0028 gaussian_multiply_one_right GF002F gaussian_multiply_output_transport GF0014 gaussian_multiply_commutativeDirect 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 (7)
01Fix variables and assumptionsL1–6
02Separate the logical casesL7–7
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L7
cases hdiv
03Establish hqL8–17
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian multiply exists.
- L8
have hq : ∃ q. GMul(x,b,q)Definitions: GMul - L9
specialize gaussian_multiply_exists (x) - L10
specialize gaussian_multiply_exists (b) - L11
apply gaussian_multiply_exists - L12
specialize gaussian_multiply_input_right_valid (p) - L13
specialize gaussian_multiply_input_right_valid (x) - L14
specialize gaussian_multiply_input_right_valid (a) - L15
apply gaussian_multiply_input_right_valid - L16
exact hdiv_witness - L17
specialize gaussian_multiply_input_right_valid (a)
04Use earlier factsL18–21
05Separate the logical casesL22–22
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L22
cases hq
06Establish hselfL23–32
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian multiply associative.
- L23
have hself : GMul(p,x1,p)Definitions: GMul - L24
specialize gaussian_multiply_associative (p) - L25
specialize gaussian_multiply_associative (x) - L26
specialize gaussian_multiply_associative (b) - L27
specialize gaussian_multiply_associative (a) - L28
specialize gaussian_multiply_associative (x1) - L29
specialize gaussian_multiply_associative (p) - L30
apply gaussian_multiply_associative - L31
exact hdiv_witness - L32
exact hprod
07Use earlier factsL33–33
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L33
exact hq_witness
08Establish heqL34–43
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian multiply cancel left.
- L34
have heq : x1=6 - L35
specialize gaussian_multiply_cancel_left (p) - L36
specialize gaussian_multiply_cancel_left (x1) - L37
specialize gaussian_multiply_cancel_left (6) - L38
specialize gaussian_multiply_cancel_left (p) - L39
apply gaussian_multiply_cancel_left - L40
exact hn - L41
exact hself - L42
specialize gaussian_multiply_one_right (p) - L43
apply gaussian_multiply_one_right
09Use earlier factsL44–48
Instantiate or apply named facts and discharge the corresponding proof obligations.
10Construct an explicit witnessL49–49
Supply the displayed value, then prove that it has the required property.
- L49
exists (x)
11Use earlier factsL50–59
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L50
specialize gaussian_multiply_commutative (x) - L51
specialize gaussian_multiply_commutative (b) - L52
specialize gaussian_multiply_commutative (6) - L53
apply gaussian_multiply_commutative - L54
specialize gaussian_multiply_output_transport (x) - L55
specialize gaussian_multiply_output_transport (b) - L56
specialize gaussian_multiply_output_transport (x1) - L57
specialize gaussian_multiply_output_transport (6) - L58
apply gaussian_multiply_output_transport - L59
exact heq
12Use earlier factsL60–60
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L60
exact hq_witness
Original exact command ledger · 60 lines
- 0001
intro p - 0002
intro a - 0003
intro b - 0004
intro hn - 0005
intro hprod - 0006
intro hdiv - 0007
cases hdiv - 0008
have hq : exists q. (exists ge_first_rp_cofactor_inverse_product ge_first_rn_cofactor_inverse_product ge_first_ip_cofactor_inverse_product ge_first_in_cofactor_inverse_product ge_second_rp_cofactor_inverse_product ge_second_rn_cofactor_inverse_product ge_second_ip_cofactor_inverse_product ge_second_in_cofactor_inverse_product. ((exists ge_representation_real_code_cofactor_inverse_productfirst ge_representation_imaginary_code_cofactor_inverse_productfirst. (((x) = ((ge_representation_real_code_cofactor_inverse_productfirst) + (ge_representation_imaginary_code_cofactor_inverse_productfirst)) * S ((ge_representation_real_code_cofactor_inverse_productfirst) + (ge_representation_imaginary_code_cofactor_inverse_productfirst)) + ((ge_representation_imaginary_code_cofactor_inverse_productfirst) + (ge_representation_imaginary_code_cofactor_inverse_productfirst))) /\ ((exists ge_balance_positive_cofactor_inverse_productfirstreal ge_balance_negative_cofactor_inverse_productfirstreal. (((((ge_representation_real_code_cofactor_inverse_productfirst) = 2 * (ge_balance_positive_cofactor_inverse_productfirstreal) /\ (ge_balance_negative_cofactor_inverse_productfirstreal) = 0) \/ exists ge_signed_half_cofactor_inverse_productfirstrealdecode. (((ge_representation_real_code_cofactor_inverse_productfirst) = 2 * ge_signed_half_cofactor_inverse_productfirstrealdecode + 1 /\ (ge_balance_positive_cofactor_inverse_productfirstreal) = 0) /\ (ge_balance_negative_cofactor_inverse_productfirstreal) = S ge_signed_half_cofactor_inverse_productfirstrealdecode))) /\ ((ge_first_rp_cofactor_inverse_product) + ge_balance_negative_cofactor_inverse_productfirstreal = (ge_first_rn_cofactor_inverse_product) + ge_balance_positive_cofactor_inverse_productfirstreal))) /\ (exists ge_balance_positive_cofactor_inverse_productfirstimaginary ge_balance_negative_cofactor_inverse_productfirstimaginary. (((((ge_representation_imaginary_code_cofactor_inverse_productfirst) = 2 * (ge_balance_positive_cofactor_inverse_productfirstimaginary) /\ (ge_balance_negative_cofactor_inverse_productfirstimaginary) = 0) \/ exists ge_signed_half_cofactor_inverse_productfirstimaginarydecode. (((ge_representation_imaginary_code_cofactor_inverse_productfirst) = 2 * ge_signed_half_cofactor_inverse_productfirstimaginarydecode + 1 /\ (ge_balance_positive_cofactor_inverse_productfirstimaginary) = 0) /\ (ge_balance_negative_cofactor_inverse_productfirstimaginary) = S ge_signed_half_cofactor_inverse_productfirstimaginarydecode))) /\ ((ge_first_ip_cofactor_inverse_product) + ge_balance_negative_cofactor_inverse_productfirstimaginary = (ge_first_in_cofactor_inverse_product) + ge_balance_positive_cofactor_inverse_productfirstimaginary)))))) /\ ((exists ge_representation_real_code_cofactor_inverse_productsecond ge_representation_imaginary_code_cofactor_inverse_productsecond. (((b) = ((ge_representation_real_code_cofactor_inverse_productsecond) + (ge_representation_imaginary_code_cofactor_inverse_productsecond)) * S ((ge_representation_real_code_cofactor_inverse_productsecond) + (ge_representation_imaginary_code_cofactor_inverse_productsecond)) + ((ge_representation_imaginary_code_cofactor_inverse_productsecond) + (ge_representation_imaginary_code_cofactor_inverse_productsecond))) /\ ((exists ge_balance_positive_cofactor_inverse_productsecondreal ge_balance_negative_cofactor_inverse_productsecondreal. (((((ge_representation_real_code_cofactor_inverse_productsecond) = 2 * (ge_balance_positive_cofactor_inverse_productsecondreal) /\ (ge_balance_negative_cofactor_inverse_productsecondreal) = 0) \/ exists ge_signed_half_cofactor_inverse_productsecondrealdecode. (((ge_representation_real_code_cofactor_inverse_productsecond) = 2 * ge_signed_half_cofactor_inverse_productsecondrealdecode + 1 /\ (ge_balance_positive_cofactor_inverse_productsecondreal) = 0) /\ (ge_balance_negative_cofactor_inverse_productsecondreal) = S ge_signed_half_cofactor_inverse_productsecondrealdecode))) /\ ((ge_second_rp_cofactor_inverse_product) + ge_balance_negative_cofactor_inverse_productsecondreal = (ge_second_rn_cofactor_inverse_product) + ge_balance_positive_cofactor_inverse_productsecondreal))) /\ (exists ge_balance_positive_cofactor_inverse_productsecondimaginary ge_balance_negative_cofactor_inverse_productsecondimaginary. (((((ge_representation_imaginary_code_cofactor_inverse_productsecond) = 2 * (ge_balance_positive_cofactor_inverse_productsecondimaginary) /\ (ge_balance_negative_cofactor_inverse_productsecondimaginary) = 0) \/ exists ge_signed_half_cofactor_inverse_productsecondimaginarydecode. (((ge_representation_imaginary_code_cofactor_inverse_productsecond) = 2 * ge_signed_half_cofactor_inverse_productsecondimaginarydecode + 1 /\ (ge_balance_positive_cofactor_inverse_productsecondimaginary) = 0) /\ (ge_balance_negative_cofactor_inverse_productsecondimaginary) = S ge_signed_half_cofactor_inverse_productsecondimaginarydecode))) /\ ((ge_second_ip_cofactor_inverse_product) + ge_balance_negative_cofactor_inverse_productsecondimaginary = (ge_second_in_cofactor_inverse_product) + ge_balance_positive_cofactor_inverse_productsecondimaginary)))))) /\ (exists ge_representation_real_code_cofactor_inverse_productoutput ge_representation_imaginary_code_cofactor_inverse_productoutput. (((q) = ((ge_representation_real_code_cofactor_inverse_productoutput) + (ge_representation_imaginary_code_cofactor_inverse_productoutput)) * S ((ge_representation_real_code_cofactor_inverse_productoutput) + (ge_representation_imaginary_code_cofactor_inverse_productoutput)) + ((ge_representation_imaginary_code_cofactor_inverse_productoutput) + (ge_representation_imaginary_code_cofactor_inverse_productoutput))) /\ ((exists ge_balance_positive_cofactor_inverse_productoutputreal ge_balance_negative_cofactor_inverse_productoutputreal. (((((ge_representation_real_code_cofactor_inverse_productoutput) = 2 * (ge_balance_positive_cofactor_inverse_productoutputreal) /\ (ge_balance_negative_cofactor_inverse_productoutputreal) = 0) \/ exists ge_signed_half_cofactor_inverse_productoutputrealdecode. (((ge_representation_real_code_cofactor_inverse_productoutput) = 2 * ge_signed_half_cofactor_inverse_productoutputrealdecode + 1 /\ (ge_balance_positive_cofactor_inverse_productoutputreal) = 0) /\ (ge_balance_negative_cofactor_inverse_productoutputreal) = S ge_signed_half_cofactor_inverse_productoutputrealdecode))) /\ ((((((((ge_first_rp_cofactor_inverse_product) * (ge_second_rp_cofactor_inverse_product))) + (((ge_first_rn_cofactor_inverse_product) * (ge_second_rn_cofactor_inverse_product))))) + (((((ge_first_ip_cofactor_inverse_product) * (ge_second_in_cofactor_inverse_product))) + (((ge_first_in_cofactor_inverse_product) * (ge_second_ip_cofactor_inverse_product))))))) + ge_balance_negative_cofactor_inverse_productoutputreal = (((((((ge_first_rp_cofactor_inverse_product) * (ge_second_rn_cofactor_inverse_product))) + (((ge_first_rn_cofactor_inverse_product) * (ge_second_rp_cofactor_inverse_product))))) + (((((ge_first_ip_cofactor_inverse_product) * (ge_second_ip_cofactor_inverse_product))) + (((ge_first_in_cofactor_inverse_product) * (ge_second_in_cofactor_inverse_product))))))) + ge_balance_positive_cofactor_inverse_productoutputreal))) /\ (exists ge_balance_positive_cofactor_inverse_productoutputimaginary ge_balance_negative_cofactor_inverse_productoutputimaginary. (((((ge_representation_imaginary_code_cofactor_inverse_productoutput) = 2 * (ge_balance_positive_cofactor_inverse_productoutputimaginary) /\ (ge_balance_negative_cofactor_inverse_productoutputimaginary) = 0) \/ exists ge_signed_half_cofactor_inverse_productoutputimaginarydecode. (((ge_representation_imaginary_code_cofactor_inverse_productoutput) = 2 * ge_signed_half_cofactor_inverse_productoutputimaginarydecode + 1 /\ (ge_balance_positive_cofactor_inverse_productoutputimaginary) = 0) /\ (ge_balance_negative_cofactor_inverse_productoutputimaginary) = S ge_signed_half_cofactor_inverse_productoutputimaginarydecode))) /\ ((((((((ge_first_rp_cofactor_inverse_product) * (ge_second_ip_cofactor_inverse_product))) + (((ge_first_rn_cofactor_inverse_product) * (ge_second_in_cofactor_inverse_product))))) + (((((ge_first_ip_cofactor_inverse_product) * (ge_second_rp_cofactor_inverse_product))) + (((ge_first_in_cofactor_inverse_product) * (ge_second_rn_cofactor_inverse_product))))))) + ge_balance_negative_cofactor_inverse_productoutputimaginary = (((((((ge_first_rp_cofactor_inverse_product) * (ge_second_in_cofactor_inverse_product))) + (((ge_first_rn_cofactor_inverse_product) * (ge_second_ip_cofactor_inverse_product))))) + (((((ge_first_ip_cofactor_inverse_product) * (ge_second_rn_cofactor_inverse_product))) + (((ge_first_in_cofactor_inverse_product) * (ge_second_rp_cofactor_inverse_product))))))) + ge_balance_positive_cofactor_inverse_productoutputimaginary))))))))) - 0009
specialize gaussian_multiply_exists (x) - 0010
specialize gaussian_multiply_exists (b) - 0011
apply gaussian_multiply_exists - 0012
specialize gaussian_multiply_input_right_valid (p) - 0013
specialize gaussian_multiply_input_right_valid (x) - 0014
specialize gaussian_multiply_input_right_valid (a) - 0015
apply gaussian_multiply_input_right_valid - 0016
exact hdiv_witness - 0017
specialize gaussian_multiply_input_right_valid (a) - 0018
specialize gaussian_multiply_input_right_valid (b) - 0019
specialize gaussian_multiply_input_right_valid (p) - 0020
apply gaussian_multiply_input_right_valid - 0021
exact hprod - 0022
cases hq - 0023
have hself : exists ge_first_rp_cofactor_self ge_first_rn_cofactor_self ge_first_ip_cofactor_self ge_first_in_cofactor_self ge_second_rp_cofactor_self ge_second_rn_cofactor_self ge_second_ip_cofactor_self ge_second_in_cofactor_self. ((exists ge_representation_real_code_cofactor_selffirst ge_representation_imaginary_code_cofactor_selffirst. (((p) = ((ge_representation_real_code_cofactor_selffirst) + (ge_representation_imaginary_code_cofactor_selffirst)) * S ((ge_representation_real_code_cofactor_selffirst) + (ge_representation_imaginary_code_cofactor_selffirst)) + ((ge_representation_imaginary_code_cofactor_selffirst) + (ge_representation_imaginary_code_cofactor_selffirst))) /\ ((exists ge_balance_positive_cofactor_selffirstreal ge_balance_negative_cofactor_selffirstreal. (((((ge_representation_real_code_cofactor_selffirst) = 2 * (ge_balance_positive_cofactor_selffirstreal) /\ (ge_balance_negative_cofactor_selffirstreal) = 0) \/ exists ge_signed_half_cofactor_selffirstrealdecode. (((ge_representation_real_code_cofactor_selffirst) = 2 * ge_signed_half_cofactor_selffirstrealdecode + 1 /\ (ge_balance_positive_cofactor_selffirstreal) = 0) /\ (ge_balance_negative_cofactor_selffirstreal) = S ge_signed_half_cofactor_selffirstrealdecode))) /\ ((ge_first_rp_cofactor_self) + ge_balance_negative_cofactor_selffirstreal = (ge_first_rn_cofactor_self) + ge_balance_positive_cofactor_selffirstreal))) /\ (exists ge_balance_positive_cofactor_selffirstimaginary ge_balance_negative_cofactor_selffirstimaginary. (((((ge_representation_imaginary_code_cofactor_selffirst) = 2 * (ge_balance_positive_cofactor_selffirstimaginary) /\ (ge_balance_negative_cofactor_selffirstimaginary) = 0) \/ exists ge_signed_half_cofactor_selffirstimaginarydecode. (((ge_representation_imaginary_code_cofactor_selffirst) = 2 * ge_signed_half_cofactor_selffirstimaginarydecode + 1 /\ (ge_balance_positive_cofactor_selffirstimaginary) = 0) /\ (ge_balance_negative_cofactor_selffirstimaginary) = S ge_signed_half_cofactor_selffirstimaginarydecode))) /\ ((ge_first_ip_cofactor_self) + ge_balance_negative_cofactor_selffirstimaginary = (ge_first_in_cofactor_self) + ge_balance_positive_cofactor_selffirstimaginary)))))) /\ ((exists ge_representation_real_code_cofactor_selfsecond ge_representation_imaginary_code_cofactor_selfsecond. (((x1) = ((ge_representation_real_code_cofactor_selfsecond) + (ge_representation_imaginary_code_cofactor_selfsecond)) * S ((ge_representation_real_code_cofactor_selfsecond) + (ge_representation_imaginary_code_cofactor_selfsecond)) + ((ge_representation_imaginary_code_cofactor_selfsecond) + (ge_representation_imaginary_code_cofactor_selfsecond))) /\ ((exists ge_balance_positive_cofactor_selfsecondreal ge_balance_negative_cofactor_selfsecondreal. (((((ge_representation_real_code_cofactor_selfsecond) = 2 * (ge_balance_positive_cofactor_selfsecondreal) /\ (ge_balance_negative_cofactor_selfsecondreal) = 0) \/ exists ge_signed_half_cofactor_selfsecondrealdecode. (((ge_representation_real_code_cofactor_selfsecond) = 2 * ge_signed_half_cofactor_selfsecondrealdecode + 1 /\ (ge_balance_positive_cofactor_selfsecondreal) = 0) /\ (ge_balance_negative_cofactor_selfsecondreal) = S ge_signed_half_cofactor_selfsecondrealdecode))) /\ ((ge_second_rp_cofactor_self) + ge_balance_negative_cofactor_selfsecondreal = (ge_second_rn_cofactor_self) + ge_balance_positive_cofactor_selfsecondreal))) /\ (exists ge_balance_positive_cofactor_selfsecondimaginary ge_balance_negative_cofactor_selfsecondimaginary. (((((ge_representation_imaginary_code_cofactor_selfsecond) = 2 * (ge_balance_positive_cofactor_selfsecondimaginary) /\ (ge_balance_negative_cofactor_selfsecondimaginary) = 0) \/ exists ge_signed_half_cofactor_selfsecondimaginarydecode. (((ge_representation_imaginary_code_cofactor_selfsecond) = 2 * ge_signed_half_cofactor_selfsecondimaginarydecode + 1 /\ (ge_balance_positive_cofactor_selfsecondimaginary) = 0) /\ (ge_balance_negative_cofactor_selfsecondimaginary) = S ge_signed_half_cofactor_selfsecondimaginarydecode))) /\ ((ge_second_ip_cofactor_self) + ge_balance_negative_cofactor_selfsecondimaginary = (ge_second_in_cofactor_self) + ge_balance_positive_cofactor_selfsecondimaginary)))))) /\ (exists ge_representation_real_code_cofactor_selfoutput ge_representation_imaginary_code_cofactor_selfoutput. (((p) = ((ge_representation_real_code_cofactor_selfoutput) + (ge_representation_imaginary_code_cofactor_selfoutput)) * S ((ge_representation_real_code_cofactor_selfoutput) + (ge_representation_imaginary_code_cofactor_selfoutput)) + ((ge_representation_imaginary_code_cofactor_selfoutput) + (ge_representation_imaginary_code_cofactor_selfoutput))) /\ ((exists ge_balance_positive_cofactor_selfoutputreal ge_balance_negative_cofactor_selfoutputreal. (((((ge_representation_real_code_cofactor_selfoutput) = 2 * (ge_balance_positive_cofactor_selfoutputreal) /\ (ge_balance_negative_cofactor_selfoutputreal) = 0) \/ exists ge_signed_half_cofactor_selfoutputrealdecode. (((ge_representation_real_code_cofactor_selfoutput) = 2 * ge_signed_half_cofactor_selfoutputrealdecode + 1 /\ (ge_balance_positive_cofactor_selfoutputreal) = 0) /\ (ge_balance_negative_cofactor_selfoutputreal) = S ge_signed_half_cofactor_selfoutputrealdecode))) /\ ((((((((ge_first_rp_cofactor_self) * (ge_second_rp_cofactor_self))) + (((ge_first_rn_cofactor_self) * (ge_second_rn_cofactor_self))))) + (((((ge_first_ip_cofactor_self) * (ge_second_in_cofactor_self))) + (((ge_first_in_cofactor_self) * (ge_second_ip_cofactor_self))))))) + ge_balance_negative_cofactor_selfoutputreal = (((((((ge_first_rp_cofactor_self) * (ge_second_rn_cofactor_self))) + (((ge_first_rn_cofactor_self) * (ge_second_rp_cofactor_self))))) + (((((ge_first_ip_cofactor_self) * (ge_second_ip_cofactor_self))) + (((ge_first_in_cofactor_self) * (ge_second_in_cofactor_self))))))) + ge_balance_positive_cofactor_selfoutputreal))) /\ (exists ge_balance_positive_cofactor_selfoutputimaginary ge_balance_negative_cofactor_selfoutputimaginary. (((((ge_representation_imaginary_code_cofactor_selfoutput) = 2 * (ge_balance_positive_cofactor_selfoutputimaginary) /\ (ge_balance_negative_cofactor_selfoutputimaginary) = 0) \/ exists ge_signed_half_cofactor_selfoutputimaginarydecode. (((ge_representation_imaginary_code_cofactor_selfoutput) = 2 * ge_signed_half_cofactor_selfoutputimaginarydecode + 1 /\ (ge_balance_positive_cofactor_selfoutputimaginary) = 0) /\ (ge_balance_negative_cofactor_selfoutputimaginary) = S ge_signed_half_cofactor_selfoutputimaginarydecode))) /\ ((((((((ge_first_rp_cofactor_self) * (ge_second_ip_cofactor_self))) + (((ge_first_rn_cofactor_self) * (ge_second_in_cofactor_self))))) + (((((ge_first_ip_cofactor_self) * (ge_second_rp_cofactor_self))) + (((ge_first_in_cofactor_self) * (ge_second_rn_cofactor_self))))))) + ge_balance_negative_cofactor_selfoutputimaginary = (((((((ge_first_rp_cofactor_self) * (ge_second_in_cofactor_self))) + (((ge_first_rn_cofactor_self) * (ge_second_ip_cofactor_self))))) + (((((ge_first_ip_cofactor_self) * (ge_second_rn_cofactor_self))) + (((ge_first_in_cofactor_self) * (ge_second_rp_cofactor_self))))))) + ge_balance_positive_cofactor_selfoutputimaginary)))))))) - 0024
specialize gaussian_multiply_associative (p) - 0025
specialize gaussian_multiply_associative (x) - 0026
specialize gaussian_multiply_associative (b) - 0027
specialize gaussian_multiply_associative (a) - 0028
specialize gaussian_multiply_associative (x1) - 0029
specialize gaussian_multiply_associative (p) - 0030
apply gaussian_multiply_associative - 0031
exact hdiv_witness - 0032
exact hprod - 0033
exact hq_witness - 0034
have heq : x1=6 - 0035
specialize gaussian_multiply_cancel_left (p) - 0036
specialize gaussian_multiply_cancel_left (x1) - 0037
specialize gaussian_multiply_cancel_left (6) - 0038
specialize gaussian_multiply_cancel_left (p) - 0039
apply gaussian_multiply_cancel_left - 0040
exact hn - 0041
exact hself - 0042
specialize gaussian_multiply_one_right (p) - 0043
apply gaussian_multiply_one_right - 0044
specialize gaussian_multiply_input_left_valid (p) - 0045
specialize gaussian_multiply_input_left_valid (x) - 0046
specialize gaussian_multiply_input_left_valid (a) - 0047
apply gaussian_multiply_input_left_valid - 0048
exact hdiv_witness - 0049
exists (x) - 0050
specialize gaussian_multiply_commutative (x) - 0051
specialize gaussian_multiply_commutative (b) - 0052
specialize gaussian_multiply_commutative (6) - 0053
apply gaussian_multiply_commutative - 0054
specialize gaussian_multiply_output_transport (x) - 0055
specialize gaussian_multiply_output_transport (b) - 0056
specialize gaussian_multiply_output_transport (x1) - 0057
specialize gaussian_multiply_output_transport (6) - 0058
apply gaussian_multiply_output_transport - 0059
exact heq - 0060
exact hq_witness