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 ac bc. (exists ge_real_positive_euclidean_input_dividend ge_real_negative_euclidean_input_dividend ge_imaginary_positive_euclidean_input_dividend ge_imaginary_negative_euclidean_input_dividend. (exists ge_real_code_euclidean_input_dividenddecode ge_imaginary_code_euclidean_input_dividenddecode. (((ac) = ((ge_real_code_euclidean_input_dividenddecode) + (ge_imaginary_code_euclidean_input_dividenddecode)) * S ((ge_real_code_euclidean_input_dividenddecode) + (ge_imaginary_code_euclidean_input_dividenddecode)) + ((ge_imaginary_code_euclidean_input_dividenddecode) + (ge_imaginary_code_euclidean_input_dividenddecode))) /\ (((((ge_real_code_euclidean_input_dividenddecode) = 2 * (ge_real_positive_euclidean_input_dividend) /\ (ge_real_negative_euclidean_input_dividend) = 0) \/ exists ge_signed_half_ge_euclidean_input_dividenddecode_real. (((ge_real_code_euclidean_input_dividenddecode) = 2 * ge_signed_half_ge_euclidean_input_dividenddecode_real + 1 /\ (ge_real_positive_euclidean_input_dividend) = 0) /\ (ge_real_negative_euclidean_input_dividend) = S ge_signed_half_ge_euclidean_input_dividenddecode_real))) /\ ((((ge_imaginary_code_euclidean_input_dividenddecode) = 2 * (ge_imaginary_positive_euclidean_input_dividend) /\ (ge_imaginary_negative_euclidean_input_dividend) = 0) \/ exists ge_signed_half_ge_euclidean_input_dividenddecode_imaginary. (((ge_imaginary_code_euclidean_input_dividenddecode) = 2 * ge_signed_half_ge_euclidean_input_dividenddecode_imaginary + 1 /\ (ge_imaginary_positive_euclidean_input_dividend) = 0) /\ (ge_imaginary_negative_euclidean_input_dividend) = S ge_signed_half_ge_euclidean_input_dividenddecode_imaginary))))))) -> (exists ge_real_positive_euclidean_input_divisor ge_real_negative_euclidean_input_divisor ge_imaginary_positive_euclidean_input_divisor ge_imaginary_negative_euclidean_input_divisor. (exists ge_real_code_euclidean_input_divisordecode ge_imaginary_code_euclidean_input_divisordecode. (((bc) = ((ge_real_code_euclidean_input_divisordecode) + (ge_imaginary_code_euclidean_input_divisordecode)) * S ((ge_real_code_euclidean_input_divisordecode) + (ge_imaginary_code_euclidean_input_divisordecode)) + ((ge_imaginary_code_euclidean_input_divisordecode) + (ge_imaginary_code_euclidean_input_divisordecode))) /\ (((((ge_real_code_euclidean_input_divisordecode) = 2 * (ge_real_positive_euclidean_input_divisor) /\ (ge_real_negative_euclidean_input_divisor) = 0) \/ exists ge_signed_half_ge_euclidean_input_divisordecode_real. (((ge_real_code_euclidean_input_divisordecode) = 2 * ge_signed_half_ge_euclidean_input_divisordecode_real + 1 /\ (ge_real_positive_euclidean_input_divisor) = 0) /\ (ge_real_negative_euclidean_input_divisor) = S ge_signed_half_ge_euclidean_input_divisordecode_real))) /\ ((((ge_imaginary_code_euclidean_input_divisordecode) = 2 * (ge_imaginary_positive_euclidean_input_divisor) /\ (ge_imaginary_negative_euclidean_input_divisor) = 0) \/ exists ge_signed_half_ge_euclidean_input_divisordecode_imaginary. (((ge_imaginary_code_euclidean_input_divisordecode) = 2 * ge_signed_half_ge_euclidean_input_divisordecode_imaginary + 1 /\ (ge_imaginary_positive_euclidean_input_divisor) = 0) /\ (ge_imaginary_negative_euclidean_input_divisor) = S ge_signed_half_ge_euclidean_input_divisordecode_imaginary))))))) -> ~(bc = 0) -> exists qc rc U V. (((exists ee_division_product_euclidean_canonical_outputequation. ((exists ee_first_rp_euclidean_canonical_outputequationproduct ee_first_rn_euclidean_canonical_outputequationproduct ee_first_ip_euclidean_canonical_outputequationproduct ee_first_in_euclidean_canonical_outputequationproduct ee_second_rp_euclidean_canonical_outputequationproduct ee_second_rn_euclidean_canonical_outputequationproduct ee_second_ip_euclidean_canonical_outputequationproduct ee_second_in_euclidean_canonical_outputequationproduct. ((exists ge_representation_real_code_euclidean_canonical_outputequationproductfirst ge_representation_imaginary_code_euclidean_canonical_outputequationproductfirst. (((bc) = ((ge_representation_real_code_euclidean_canonical_outputequationproductfirst) + (ge_representation_imaginary_code_euclidean_canonical_outputequationproductfirst)) * S ((ge_representation_real_code_euclidean_canonical_outputequationproductfirst) + (ge_representation_imaginary_code_euclidean_canonical_outputequationproductfirst)) + ((ge_representation_imaginary_code_euclidean_canonical_outputequationproductfirst) + (ge_representation_imaginary_code_euclidean_canonical_outputequationproductfirst))) /\ ((exists ge_balance_positive_euclidean_canonical_outputequationproductfirstreal ge_balance_negative_euclidean_canonical_outputequationproductfirstreal. (((((ge_representation_real_code_euclidean_canonical_outputequationproductfirst) = 2 * (ge_balance_positive_euclidean_canonical_outputequationproductfirstreal) /\ (ge_balance_negative_euclidean_canonical_outputequationproductfirstreal) = 0) \/ exists ge_signed_half_euclidean_canonical_outputequationproductfirstrealdecode. (((ge_representation_real_code_euclidean_canonical_outputequationproductfirst) = 2 * ge_signed_half_euclidean_canonical_outputequationproductfirstrealdecode + 1 /\ (ge_balance_positive_euclidean_canonical_outputequationproductfirstreal) = 0) /\ (ge_balance_negative_euclidean_canonical_outputequationproductfirstreal) = S ge_signed_half_euclidean_canonical_outputequationproductfirstrealdecode))) /\ ((ee_first_rp_euclidean_canonical_outputequationproduct) + ge_balance_negative_euclidean_canonical_outputequationproductfirstreal = (ee_first_rn_euclidean_canonical_outputequationproduct) + ge_balance_positive_euclidean_canonical_outputequationproductfirstreal))) /\ (exists ge_balance_positive_euclidean_canonical_outputequationproductfirstimaginary ge_balance_negative_euclidean_canonical_outputequationproductfirstimaginary. (((((ge_representation_imaginary_code_euclidean_canonical_outputequationproductfirst) = 2 * (ge_balance_positive_euclidean_canonical_outputequationproductfirstimaginary) /\ (ge_balance_negative_euclidean_canonical_outputequationproductfirstimaginary) = 0) \/ exists ge_signed_half_euclidean_canonical_outputequationproductfirstimaginarydecode. (((ge_representation_imaginary_code_euclidean_canonical_outputequationproductfirst) = 2 * ge_signed_half_euclidean_canonical_outputequationproductfirstimaginarydecode + 1 /\ (ge_balance_positive_euclidean_canonical_outputequationproductfirstimaginary) = 0) /\ (ge_balance_negative_euclidean_canonical_outputequationproductfirstimaginary) = S ge_signed_half_euclidean_canonical_outputequationproductfirstimaginarydecode))) /\ ((ee_first_ip_euclidean_canonical_outputequationproduct) + ge_balance_negative_euclidean_canonical_outputequationproductfirstimaginary = (ee_first_in_euclidean_canonical_outputequationproduct) + ge_balance_positive_euclidean_canonical_outputequationproductfirstimaginary)))))) /\ ((exists ge_representation_real_code_euclidean_canonical_outputequationproductsecond ge_representation_imaginary_code_euclidean_canonical_outputequationproductsecond. (((qc) = ((ge_representation_real_code_euclidean_canonical_outputequationproductsecond) + (ge_representation_imaginary_code_euclidean_canonical_outputequationproductsecond)) * S ((ge_representation_real_code_euclidean_canonical_outputequationproductsecond) + (ge_representation_imaginary_code_euclidean_canonical_outputequationproductsecond)) + ((ge_representation_imaginary_code_euclidean_canonical_outputequationproductsecond) + (ge_representation_imaginary_code_euclidean_canonical_outputequationproductsecond))) /\ ((exists ge_balance_positive_euclidean_canonical_outputequationproductsecondreal ge_balance_negative_euclidean_canonical_outputequationproductsecondreal. (((((ge_representation_real_code_euclidean_canonical_outputequationproductsecond) = 2 * (ge_balance_positive_euclidean_canonical_outputequationproductsecondreal) /\ (ge_balance_negative_euclidean_canonical_outputequationproductsecondreal) = 0) \/ exists ge_signed_half_euclidean_canonical_outputequationproductsecondrealdecode. (((ge_representation_real_code_euclidean_canonical_outputequationproductsecond) = 2 * ge_signed_half_euclidean_canonical_outputequationproductsecondrealdecode + 1 /\ (ge_balance_positive_euclidean_canonical_outputequationproductsecondreal) = 0) /\ (ge_balance_negative_euclidean_canonical_outputequationproductsecondreal) = S ge_signed_half_euclidean_canonical_outputequationproductsecondrealdecode))) /\ ((ee_second_rp_euclidean_canonical_outputequationproduct) + ge_balance_negative_euclidean_canonical_outputequationproductsecondreal = (ee_second_rn_euclidean_canonical_outputequationproduct) + ge_balance_positive_euclidean_canonical_outputequationproductsecondreal))) /\ (exists ge_balance_positive_euclidean_canonical_outputequationproductsecondimaginary ge_balance_negative_euclidean_canonical_outputequationproductsecondimaginary. (((((ge_representation_imaginary_code_euclidean_canonical_outputequationproductsecond) = 2 * (ge_balance_positive_euclidean_canonical_outputequationproductsecondimaginary) /\ (ge_balance_negative_euclidean_canonical_outputequationproductsecondimaginary) = 0) \/ exists ge_signed_half_euclidean_canonical_outputequationproductsecondimaginarydecode. (((ge_representation_imaginary_code_euclidean_canonical_outputequationproductsecond) = 2 * ge_signed_half_euclidean_canonical_outputequationproductsecondimaginarydecode + 1 /\ (ge_balance_positive_euclidean_canonical_outputequationproductsecondimaginary) = 0) /\ (ge_balance_negative_euclidean_canonical_outputequationproductsecondimaginary) = S ge_signed_half_euclidean_canonical_outputequationproductsecondimaginarydecode))) /\ ((ee_second_ip_euclidean_canonical_outputequationproduct) + ge_balance_negative_euclidean_canonical_outputequationproductsecondimaginary = (ee_second_in_euclidean_canonical_outputequationproduct) + ge_balance_positive_euclidean_canonical_outputequationproductsecondimaginary)))))) /\ (exists ge_representation_real_code_euclidean_canonical_outputequationproductoutput ge_representation_imaginary_code_euclidean_canonical_outputequationproductoutput. (((ee_division_product_euclidean_canonical_outputequation) = ((ge_representation_real_code_euclidean_canonical_outputequationproductoutput) + (ge_representation_imaginary_code_euclidean_canonical_outputequationproductoutput)) * S ((ge_representation_real_code_euclidean_canonical_outputequationproductoutput) + (ge_representation_imaginary_code_euclidean_canonical_outputequationproductoutput)) + ((ge_representation_imaginary_code_euclidean_canonical_outputequationproductoutput) + (ge_representation_imaginary_code_euclidean_canonical_outputequationproductoutput))) /\ ((exists ge_balance_positive_euclidean_canonical_outputequationproductoutputreal ge_balance_negative_euclidean_canonical_outputequationproductoutputreal. (((((ge_representation_real_code_euclidean_canonical_outputequationproductoutput) = 2 * (ge_balance_positive_euclidean_canonical_outputequationproductoutputreal) /\ (ge_balance_negative_euclidean_canonical_outputequationproductoutputreal) = 0) \/ exists ge_signed_half_euclidean_canonical_outputequationproductoutputrealdecode. (((ge_representation_real_code_euclidean_canonical_outputequationproductoutput) = 2 * ge_signed_half_euclidean_canonical_outputequationproductoutputrealdecode + 1 /\ (ge_balance_positive_euclidean_canonical_outputequationproductoutputreal) = 0) /\ (ge_balance_negative_euclidean_canonical_outputequationproductoutputreal) = S ge_signed_half_euclidean_canonical_outputequationproductoutputrealdecode))) /\ ((((((((ee_first_rp_euclidean_canonical_outputequationproduct) * (ee_second_rp_euclidean_canonical_outputequationproduct))) + (((ee_first_rn_euclidean_canonical_outputequationproduct) * (ee_second_rn_euclidean_canonical_outputequationproduct))))) + (((((ee_first_ip_euclidean_canonical_outputequationproduct) * (ee_second_in_euclidean_canonical_outputequationproduct))) + (((ee_first_in_euclidean_canonical_outputequationproduct) * (ee_second_ip_euclidean_canonical_outputequationproduct))))))) + ge_balance_negative_euclidean_canonical_outputequationproductoutputreal = (((((((ee_first_rp_euclidean_canonical_outputequationproduct) * (ee_second_rn_euclidean_canonical_outputequationproduct))) + (((ee_first_rn_euclidean_canonical_outputequationproduct) * (ee_second_rp_euclidean_canonical_outputequationproduct))))) + (((((ee_first_ip_euclidean_canonical_outputequationproduct) * (ee_second_ip_euclidean_canonical_outputequationproduct))) + (((ee_first_in_euclidean_canonical_outputequationproduct) * (ee_second_in_euclidean_canonical_outputequationproduct))))))) + ge_balance_positive_euclidean_canonical_outputequationproductoutputreal))) /\ (exists ge_balance_positive_euclidean_canonical_outputequationproductoutputimaginary ge_balance_negative_euclidean_canonical_outputequationproductoutputimaginary. (((((ge_representation_imaginary_code_euclidean_canonical_outputequationproductoutput) = 2 * (ge_balance_positive_euclidean_canonical_outputequationproductoutputimaginary) /\ (ge_balance_negative_euclidean_canonical_outputequationproductoutputimaginary) = 0) \/ exists ge_signed_half_euclidean_canonical_outputequationproductoutputimaginarydecode. (((ge_representation_imaginary_code_euclidean_canonical_outputequationproductoutput) = 2 * ge_signed_half_euclidean_canonical_outputequationproductoutputimaginarydecode + 1 /\ (ge_balance_positive_euclidean_canonical_outputequationproductoutputimaginary) = 0) /\ (ge_balance_negative_euclidean_canonical_outputequationproductoutputimaginary) = S ge_signed_half_euclidean_canonical_outputequationproductoutputimaginarydecode))) /\ ((((((((((ee_first_rp_euclidean_canonical_outputequationproduct) * (ee_second_ip_euclidean_canonical_outputequationproduct))) + (((ee_first_rn_euclidean_canonical_outputequationproduct) * (ee_second_in_euclidean_canonical_outputequationproduct))))) + (((((ee_first_ip_euclidean_canonical_outputequationproduct) * (ee_second_rp_euclidean_canonical_outputequationproduct))) + (((ee_first_in_euclidean_canonical_outputequationproduct) * (ee_second_rn_euclidean_canonical_outputequationproduct))))))) + (((((ee_first_ip_euclidean_canonical_outputequationproduct) * (ee_second_in_euclidean_canonical_outputequationproduct))) + (((ee_first_in_euclidean_canonical_outputequationproduct) * (ee_second_ip_euclidean_canonical_outputequationproduct))))))) + ge_balance_negative_euclidean_canonical_outputequationproductoutputimaginary = (((((((((ee_first_rp_euclidean_canonical_outputequationproduct) * (ee_second_in_euclidean_canonical_outputequationproduct))) + (((ee_first_rn_euclidean_canonical_outputequationproduct) * (ee_second_ip_euclidean_canonical_outputequationproduct))))) + (((((ee_first_ip_euclidean_canonical_outputequationproduct) * (ee_second_rn_euclidean_canonical_outputequationproduct))) + (((ee_first_in_euclidean_canonical_outputequationproduct) * (ee_second_rp_euclidean_canonical_outputequationproduct))))))) + (((((ee_first_ip_euclidean_canonical_outputequationproduct) * (ee_second_ip_euclidean_canonical_outputequationproduct))) + (((ee_first_in_euclidean_canonical_outputequationproduct) * (ee_second_in_euclidean_canonical_outputequationproduct))))))) + ge_balance_positive_euclidean_canonical_outputequationproductoutputimaginary))))))))) /\ (exists ge_first_rp_euclidean_canonical_outputequationsum ge_first_rn_euclidean_canonical_outputequationsum ge_first_ip_euclidean_canonical_outputequationsum ge_first_in_euclidean_canonical_outputequationsum ge_second_rp_euclidean_canonical_outputequationsum ge_second_rn_euclidean_canonical_outputequationsum ge_second_ip_euclidean_canonical_outputequationsum ge_second_in_euclidean_canonical_outputequationsum. ((exists ge_representation_real_code_euclidean_canonical_outputequationsumfirst ge_representation_imaginary_code_euclidean_canonical_outputequationsumfirst. (((ee_division_product_euclidean_canonical_outputequation) = ((ge_representation_real_code_euclidean_canonical_outputequationsumfirst) + (ge_representation_imaginary_code_euclidean_canonical_outputequationsumfirst)) * S ((ge_representation_real_code_euclidean_canonical_outputequationsumfirst) + (ge_representation_imaginary_code_euclidean_canonical_outputequationsumfirst)) + ((ge_representation_imaginary_code_euclidean_canonical_outputequationsumfirst) + (ge_representation_imaginary_code_euclidean_canonical_outputequationsumfirst))) /\ ((exists ge_balance_positive_euclidean_canonical_outputequationsumfirstreal ge_balance_negative_euclidean_canonical_outputequationsumfirstreal. (((((ge_representation_real_code_euclidean_canonical_outputequationsumfirst) = 2 * (ge_balance_positive_euclidean_canonical_outputequationsumfirstreal) /\ (ge_balance_negative_euclidean_canonical_outputequationsumfirstreal) = 0) \/ exists ge_signed_half_euclidean_canonical_outputequationsumfirstrealdecode. (((ge_representation_real_code_euclidean_canonical_outputequationsumfirst) = 2 * ge_signed_half_euclidean_canonical_outputequationsumfirstrealdecode + 1 /\ (ge_balance_positive_euclidean_canonical_outputequationsumfirstreal) = 0) /\ (ge_balance_negative_euclidean_canonical_outputequationsumfirstreal) = S ge_signed_half_euclidean_canonical_outputequationsumfirstrealdecode))) /\ ((ge_first_rp_euclidean_canonical_outputequationsum) + ge_balance_negative_euclidean_canonical_outputequationsumfirstreal = (ge_first_rn_euclidean_canonical_outputequationsum) + ge_balance_positive_euclidean_canonical_outputequationsumfirstreal))) /\ (exists ge_balance_positive_euclidean_canonical_outputequationsumfirstimaginary ge_balance_negative_euclidean_canonical_outputequationsumfirstimaginary. (((((ge_representation_imaginary_code_euclidean_canonical_outputequationsumfirst) = 2 * (ge_balance_positive_euclidean_canonical_outputequationsumfirstimaginary) /\ (ge_balance_negative_euclidean_canonical_outputequationsumfirstimaginary) = 0) \/ exists ge_signed_half_euclidean_canonical_outputequationsumfirstimaginarydecode. (((ge_representation_imaginary_code_euclidean_canonical_outputequationsumfirst) = 2 * ge_signed_half_euclidean_canonical_outputequationsumfirstimaginarydecode + 1 /\ (ge_balance_positive_euclidean_canonical_outputequationsumfirstimaginary) = 0) /\ (ge_balance_negative_euclidean_canonical_outputequationsumfirstimaginary) = S ge_signed_half_euclidean_canonical_outputequationsumfirstimaginarydecode))) /\ ((ge_first_ip_euclidean_canonical_outputequationsum) + ge_balance_negative_euclidean_canonical_outputequationsumfirstimaginary = (ge_first_in_euclidean_canonical_outputequationsum) + ge_balance_positive_euclidean_canonical_outputequationsumfirstimaginary)))))) /\ ((exists ge_representation_real_code_euclidean_canonical_outputequationsumsecond ge_representation_imaginary_code_euclidean_canonical_outputequationsumsecond. (((rc) = ((ge_representation_real_code_euclidean_canonical_outputequationsumsecond) + (ge_representation_imaginary_code_euclidean_canonical_outputequationsumsecond)) * S ((ge_representation_real_code_euclidean_canonical_outputequationsumsecond) + (ge_representation_imaginary_code_euclidean_canonical_outputequationsumsecond)) + ((ge_representation_imaginary_code_euclidean_canonical_outputequationsumsecond) + (ge_representation_imaginary_code_euclidean_canonical_outputequationsumsecond))) /\ ((exists ge_balance_positive_euclidean_canonical_outputequationsumsecondreal ge_balance_negative_euclidean_canonical_outputequationsumsecondreal. (((((ge_representation_real_code_euclidean_canonical_outputequationsumsecond) = 2 * (ge_balance_positive_euclidean_canonical_outputequationsumsecondreal) /\ (ge_balance_negative_euclidean_canonical_outputequationsumsecondreal) = 0) \/ exists ge_signed_half_euclidean_canonical_outputequationsumsecondrealdecode. (((ge_representation_real_code_euclidean_canonical_outputequationsumsecond) = 2 * ge_signed_half_euclidean_canonical_outputequationsumsecondrealdecode + 1 /\ (ge_balance_positive_euclidean_canonical_outputequationsumsecondreal) = 0) /\ (ge_balance_negative_euclidean_canonical_outputequationsumsecondreal) = S ge_signed_half_euclidean_canonical_outputequationsumsecondrealdecode))) /\ ((ge_second_rp_euclidean_canonical_outputequationsum) + ge_balance_negative_euclidean_canonical_outputequationsumsecondreal = (ge_second_rn_euclidean_canonical_outputequationsum) + ge_balance_positive_euclidean_canonical_outputequationsumsecondreal))) /\ (exists ge_balance_positive_euclidean_canonical_outputequationsumsecondimaginary ge_balance_negative_euclidean_canonical_outputequationsumsecondimaginary. (((((ge_representation_imaginary_code_euclidean_canonical_outputequationsumsecond) = 2 * (ge_balance_positive_euclidean_canonical_outputequationsumsecondimaginary) /\ (ge_balance_negative_euclidean_canonical_outputequationsumsecondimaginary) = 0) \/ exists ge_signed_half_euclidean_canonical_outputequationsumsecondimaginarydecode. (((ge_representation_imaginary_code_euclidean_canonical_outputequationsumsecond) = 2 * ge_signed_half_euclidean_canonical_outputequationsumsecondimaginarydecode + 1 /\ (ge_balance_positive_euclidean_canonical_outputequationsumsecondimaginary) = 0) /\ (ge_balance_negative_euclidean_canonical_outputequationsumsecondimaginary) = S ge_signed_half_euclidean_canonical_outputequationsumsecondimaginarydecode))) /\ ((ge_second_ip_euclidean_canonical_outputequationsum) + ge_balance_negative_euclidean_canonical_outputequationsumsecondimaginary = (ge_second_in_euclidean_canonical_outputequationsum) + ge_balance_positive_euclidean_canonical_outputequationsumsecondimaginary)))))) /\ (exists ge_representation_real_code_euclidean_canonical_outputequationsumoutput ge_representation_imaginary_code_euclidean_canonical_outputequationsumoutput. (((ac) = ((ge_representation_real_code_euclidean_canonical_outputequationsumoutput) + (ge_representation_imaginary_code_euclidean_canonical_outputequationsumoutput)) * S ((ge_representation_real_code_euclidean_canonical_outputequationsumoutput) + (ge_representation_imaginary_code_euclidean_canonical_outputequationsumoutput)) + ((ge_representation_imaginary_code_euclidean_canonical_outputequationsumoutput) + (ge_representation_imaginary_code_euclidean_canonical_outputequationsumoutput))) /\ ((exists ge_balance_positive_euclidean_canonical_outputequationsumoutputreal ge_balance_negative_euclidean_canonical_outputequationsumoutputreal. (((((ge_representation_real_code_euclidean_canonical_outputequationsumoutput) = 2 * (ge_balance_positive_euclidean_canonical_outputequationsumoutputreal) /\ (ge_balance_negative_euclidean_canonical_outputequationsumoutputreal) = 0) \/ exists ge_signed_half_euclidean_canonical_outputequationsumoutputrealdecode. (((ge_representation_real_code_euclidean_canonical_outputequationsumoutput) = 2 * ge_signed_half_euclidean_canonical_outputequationsumoutputrealdecode + 1 /\ (ge_balance_positive_euclidean_canonical_outputequationsumoutputreal) = 0) /\ (ge_balance_negative_euclidean_canonical_outputequationsumoutputreal) = S ge_signed_half_euclidean_canonical_outputequationsumoutputrealdecode))) /\ ((((ge_first_rp_euclidean_canonical_outputequationsum) + (ge_second_rp_euclidean_canonical_outputequationsum))) + ge_balance_negative_euclidean_canonical_outputequationsumoutputreal = (((ge_first_rn_euclidean_canonical_outputequationsum) + (ge_second_rn_euclidean_canonical_outputequationsum))) + ge_balance_positive_euclidean_canonical_outputequationsumoutputreal))) /\ (exists ge_balance_positive_euclidean_canonical_outputequationsumoutputimaginary ge_balance_negative_euclidean_canonical_outputequationsumoutputimaginary. (((((ge_representation_imaginary_code_euclidean_canonical_outputequationsumoutput) = 2 * (ge_balance_positive_euclidean_canonical_outputequationsumoutputimaginary) /\ (ge_balance_negative_euclidean_canonical_outputequationsumoutputimaginary) = 0) \/ exists ge_signed_half_euclidean_canonical_outputequationsumoutputimaginarydecode. (((ge_representation_imaginary_code_euclidean_canonical_outputequationsumoutput) = 2 * ge_signed_half_euclidean_canonical_outputequationsumoutputimaginarydecode + 1 /\ (ge_balance_positive_euclidean_canonical_outputequationsumoutputimaginary) = 0) /\ (ge_balance_negative_euclidean_canonical_outputequationsumoutputimaginary) = S ge_signed_half_euclidean_canonical_outputequationsumoutputimaginarydecode))) /\ ((((ge_first_ip_euclidean_canonical_outputequationsum) + (ge_second_ip_euclidean_canonical_outputequationsum))) + ge_balance_negative_euclidean_canonical_outputequationsumoutputimaginary = (((ge_first_in_euclidean_canonical_outputequationsum) + (ge_second_in_euclidean_canonical_outputequationsum))) + ge_balance_positive_euclidean_canonical_outputequationsumoutputimaginary))))))))))) /\ ((exists ee_norm_rp_euclidean_canonical_outputsmallnorm ee_norm_rn_euclidean_canonical_outputsmallnorm ee_norm_ip_euclidean_canonical_outputsmallnorm ee_norm_in_euclidean_canonical_outputsmallnorm. ((exists ge_representation_real_code_euclidean_canonical_outputsmallnormrepresentation ge_representation_imaginary_code_euclidean_canonical_outputsmallnormrepresentation. (((rc) = ((ge_representation_real_code_euclidean_canonical_outputsmallnormrepresentation) + (ge_representation_imaginary_code_euclidean_canonical_outputsmallnormrepresentation)) * S ((ge_representation_real_code_euclidean_canonical_outputsmallnormrepresentation) + (ge_representation_imaginary_code_euclidean_canonical_outputsmallnormrepresentation)) + ((ge_representation_imaginary_code_euclidean_canonical_outputsmallnormrepresentation) + (ge_representation_imaginary_code_euclidean_canonical_outputsmallnormrepresentation))) /\ ((exists ge_balance_positive_euclidean_canonical_outputsmallnormrepresentationreal ge_balance_negative_euclidean_canonical_outputsmallnormrepresentationreal. (((((ge_representation_real_code_euclidean_canonical_outputsmallnormrepresentation) = 2 * (ge_balance_positive_euclidean_canonical_outputsmallnormrepresentationreal) /\ (ge_balance_negative_euclidean_canonical_outputsmallnormrepresentationreal) = 0) \/ exists ge_signed_half_euclidean_canonical_outputsmallnormrepresentationrealdecode. (((ge_representation_real_code_euclidean_canonical_outputsmallnormrepresentation) = 2 * ge_signed_half_euclidean_canonical_outputsmallnormrepresentationrealdecode + 1 /\ (ge_balance_positive_euclidean_canonical_outputsmallnormrepresentationreal) = 0) /\ (ge_balance_negative_euclidean_canonical_outputsmallnormrepresentationreal) = S ge_signed_half_euclidean_canonical_outputsmallnormrepresentationrealdecode))) /\ ((ee_norm_rp_euclidean_canonical_outputsmallnorm) + ge_balance_negative_euclidean_canonical_outputsmallnormrepresentationreal = (ee_norm_rn_euclidean_canonical_outputsmallnorm) + ge_balance_positive_euclidean_canonical_outputsmallnormrepresentationreal))) /\ (exists ge_balance_positive_euclidean_canonical_outputsmallnormrepresentationimaginary ge_balance_negative_euclidean_canonical_outputsmallnormrepresentationimaginary. (((((ge_representation_imaginary_code_euclidean_canonical_outputsmallnormrepresentation) = 2 * (ge_balance_positive_euclidean_canonical_outputsmallnormrepresentationimaginary) /\ (ge_balance_negative_euclidean_canonical_outputsmallnormrepresentationimaginary) = 0) \/ exists ge_signed_half_euclidean_canonical_outputsmallnormrepresentationimaginarydecode. (((ge_representation_imaginary_code_euclidean_canonical_outputsmallnormrepresentation) = 2 * ge_signed_half_euclidean_canonical_outputsmallnormrepresentationimaginarydecode + 1 /\ (ge_balance_positive_euclidean_canonical_outputsmallnormrepresentationimaginary) = 0) /\ (ge_balance_negative_euclidean_canonical_outputsmallnormrepresentationimaginary) = S ge_signed_half_euclidean_canonical_outputsmallnormrepresentationimaginarydecode))) /\ ((ee_norm_ip_euclidean_canonical_outputsmallnorm) + ge_balance_negative_euclidean_canonical_outputsmallnormrepresentationimaginary = (ee_norm_in_euclidean_canonical_outputsmallnorm) + ge_balance_positive_euclidean_canonical_outputsmallnormrepresentationimaginary)))))) /\ (((((((((ee_norm_rp_euclidean_canonical_outputsmallnorm) * (ee_norm_rp_euclidean_canonical_outputsmallnorm))) + (((ee_norm_rn_euclidean_canonical_outputsmallnorm) * (ee_norm_rn_euclidean_canonical_outputsmallnorm))))) + (((((ee_norm_ip_euclidean_canonical_outputsmallnorm) * (ee_norm_ip_euclidean_canonical_outputsmallnorm))) + (((ee_norm_in_euclidean_canonical_outputsmallnorm) * (ee_norm_in_euclidean_canonical_outputsmallnorm))))))) + (((((ee_norm_rp_euclidean_canonical_outputsmallnorm) * (ee_norm_in_euclidean_canonical_outputsmallnorm))) + (((ee_norm_rn_euclidean_canonical_outputsmallnorm) * (ee_norm_ip_euclidean_canonical_outputsmallnorm)))))) = ((((((((((ee_norm_rp_euclidean_canonical_outputsmallnorm) * (ee_norm_rn_euclidean_canonical_outputsmallnorm))) + (((ee_norm_rn_euclidean_canonical_outputsmallnorm) * (ee_norm_rp_euclidean_canonical_outputsmallnorm))))) + (((((ee_norm_ip_euclidean_canonical_outputsmallnorm) * (ee_norm_in_euclidean_canonical_outputsmallnorm))) + (((ee_norm_in_euclidean_canonical_outputsmallnorm) * (ee_norm_ip_euclidean_canonical_outputsmallnorm))))))) + (((((ee_norm_rp_euclidean_canonical_outputsmallnorm) * (ee_norm_ip_euclidean_canonical_outputsmallnorm))) + (((ee_norm_rn_euclidean_canonical_outputsmallnorm) * (ee_norm_in_euclidean_canonical_outputsmallnorm))))))) + (U))))) /\ ((exists ee_norm_rp_euclidean_canonical_outputlargenorm ee_norm_rn_euclidean_canonical_outputlargenorm ee_norm_ip_euclidean_canonical_outputlargenorm ee_norm_in_euclidean_canonical_outputlargenorm. ((exists ge_representation_real_code_euclidean_canonical_outputlargenormrepresentation ge_representation_imaginary_code_euclidean_canonical_outputlargenormrepresentation. (((bc) = ((ge_representation_real_code_euclidean_canonical_outputlargenormrepresentation) + (ge_representation_imaginary_code_euclidean_canonical_outputlargenormrepresentation)) * S ((ge_representation_real_code_euclidean_canonical_outputlargenormrepresentation) + (ge_representation_imaginary_code_euclidean_canonical_outputlargenormrepresentation)) + ((ge_representation_imaginary_code_euclidean_canonical_outputlargenormrepresentation) + (ge_representation_imaginary_code_euclidean_canonical_outputlargenormrepresentation))) /\ ((exists ge_balance_positive_euclidean_canonical_outputlargenormrepresentationreal ge_balance_negative_euclidean_canonical_outputlargenormrepresentationreal. (((((ge_representation_real_code_euclidean_canonical_outputlargenormrepresentation) = 2 * (ge_balance_positive_euclidean_canonical_outputlargenormrepresentationreal) /\ (ge_balance_negative_euclidean_canonical_outputlargenormrepresentationreal) = 0) \/ exists ge_signed_half_euclidean_canonical_outputlargenormrepresentationrealdecode. (((ge_representation_real_code_euclidean_canonical_outputlargenormrepresentation) = 2 * ge_signed_half_euclidean_canonical_outputlargenormrepresentationrealdecode + 1 /\ (ge_balance_positive_euclidean_canonical_outputlargenormrepresentationreal) = 0) /\ (ge_balance_negative_euclidean_canonical_outputlargenormrepresentationreal) = S ge_signed_half_euclidean_canonical_outputlargenormrepresentationrealdecode))) /\ ((ee_norm_rp_euclidean_canonical_outputlargenorm) + ge_balance_negative_euclidean_canonical_outputlargenormrepresentationreal = (ee_norm_rn_euclidean_canonical_outputlargenorm) + ge_balance_positive_euclidean_canonical_outputlargenormrepresentationreal))) /\ (exists ge_balance_positive_euclidean_canonical_outputlargenormrepresentationimaginary ge_balance_negative_euclidean_canonical_outputlargenormrepresentationimaginary. (((((ge_representation_imaginary_code_euclidean_canonical_outputlargenormrepresentation) = 2 * (ge_balance_positive_euclidean_canonical_outputlargenormrepresentationimaginary) /\ (ge_balance_negative_euclidean_canonical_outputlargenormrepresentationimaginary) = 0) \/ exists ge_signed_half_euclidean_canonical_outputlargenormrepresentationimaginarydecode. (((ge_representation_imaginary_code_euclidean_canonical_outputlargenormrepresentation) = 2 * ge_signed_half_euclidean_canonical_outputlargenormrepresentationimaginarydecode + 1 /\ (ge_balance_positive_euclidean_canonical_outputlargenormrepresentationimaginary) = 0) /\ (ge_balance_negative_euclidean_canonical_outputlargenormrepresentationimaginary) = S ge_signed_half_euclidean_canonical_outputlargenormrepresentationimaginarydecode))) /\ ((ee_norm_ip_euclidean_canonical_outputlargenorm) + ge_balance_negative_euclidean_canonical_outputlargenormrepresentationimaginary = (ee_norm_in_euclidean_canonical_outputlargenorm) + ge_balance_positive_euclidean_canonical_outputlargenormrepresentationimaginary)))))) /\ (((((((((ee_norm_rp_euclidean_canonical_outputlargenorm) * (ee_norm_rp_euclidean_canonical_outputlargenorm))) + (((ee_norm_rn_euclidean_canonical_outputlargenorm) * (ee_norm_rn_euclidean_canonical_outputlargenorm))))) + (((((ee_norm_ip_euclidean_canonical_outputlargenorm) * (ee_norm_ip_euclidean_canonical_outputlargenorm))) + (((ee_norm_in_euclidean_canonical_outputlargenorm) * (ee_norm_in_euclidean_canonical_outputlargenorm))))))) + (((((ee_norm_rp_euclidean_canonical_outputlargenorm) * (ee_norm_in_euclidean_canonical_outputlargenorm))) + (((ee_norm_rn_euclidean_canonical_outputlargenorm) * (ee_norm_ip_euclidean_canonical_outputlargenorm)))))) = ((((((((((ee_norm_rp_euclidean_canonical_outputlargenorm) * (ee_norm_rn_euclidean_canonical_outputlargenorm))) + (((ee_norm_rn_euclidean_canonical_outputlargenorm) * (ee_norm_rp_euclidean_canonical_outputlargenorm))))) + (((((ee_norm_ip_euclidean_canonical_outputlargenorm) * (ee_norm_in_euclidean_canonical_outputlargenorm))) + (((ee_norm_in_euclidean_canonical_outputlargenorm) * (ee_norm_ip_euclidean_canonical_outputlargenorm))))))) + (((((ee_norm_rp_euclidean_canonical_outputlargenorm) * (ee_norm_ip_euclidean_canonical_outputlargenorm))) + (((ee_norm_rn_euclidean_canonical_outputlargenorm) * (ee_norm_in_euclidean_canonical_outputlargenorm))))))) + (V))))) /\ (exists ee_gap_euclidean_canonical_outputstrict. ee_gap_euclidean_canonical_outputstrict + S (U) = (V))))))Constructive proof overview
Generated structural guide
Full constructive Eisenstein Euclidean division: every canonical dividend and nonzero canonical divisor produce actual canonical quotient and remainder, an exact a=bq+r equation, and strict decrease of their actual norms a²-ab+b².
The unchanged tactic script uses 6 declared prerequisites and contains 133 exact native proof lines.
Alpha v34 checked-use · first admitted v28 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
gaussian_decode_representation Alpha theorem; checked-use authorized gaussian_representation_zero_iff Alpha theorem; checked-use authorized EI0033 eisenstein_signed_euclidean_division_exists gaussian_representation_exists Alpha theorem; checked-use authorized EI0040 eisenstein_division_remainder_of_representations EI0034 eisenstein_norm_of_representationDirect 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 (3)
01Fix variables and assumptionsL1–5
02Separate the logical casesL6–13
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
03Establish hAL14–21
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian decode representation.
- L14
have hA : ZPairRep(ac,x,x1,x2,x3)Definitions: ZPairRep - L15
specialize gaussian_decode_representation ac - L16
specialize gaussian_decode_representation x - L17
specialize gaussian_decode_representation x1 - L18
specialize gaussian_decode_representation x2 - L19
specialize gaussian_decode_representation x3 - L20
apply gaussian_decode_representation - L21
exact hfirst_witness_witness_witness_witness
04Establish hBL22–29
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian decode representation.
- L22
have hB : ZPairRep(bc,x4,x5,x6,x7)Definitions: ZPairRep - L23
specialize gaussian_decode_representation bc - L24
specialize gaussian_decode_representation x4 - L25
specialize gaussian_decode_representation x5 - L26
specialize gaussian_decode_representation x6 - L27
specialize gaussian_decode_representation x7 - L28
apply gaussian_decode_representation - L29
exact hsecond_witness_witness_witness_witness
05Establish hzeroL30–37
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian representation zero iff.
- L30
have hzero : (bc = 0 -> (x4 = x5 /\ x6 = x7)) /\ ((x4 = x5 /\ x6 = x7) -> bc = 0) - L31
specialize gaussian_representation_zero_iff bc - L32
specialize gaussian_representation_zero_iff x4 - L33
specialize gaussian_representation_zero_iff x5 - L34
specialize gaussian_representation_zero_iff x6 - L35
specialize gaussian_representation_zero_iff x7 - L36
apply gaussian_representation_zero_iff - L37
exact hB
06Separate the logical casesL38–38
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L38
cases hzero
07Establish hraw_nonzeroL39–43
08Establish hdivisionL44–53
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply eisenstein signed euclidean division exists.
- L44
have hdivision : ∃ i. ∃ j. ∃ k. ∃ l. ∃ o. ∃ p. ∃ s. ∃ t. ∃ U. ∃ V. EisensteinSignedDivisionRemainder(x,x1,x2,x3,x4,x5,x6,x7,i,j,k,l,o,p,s,t,U,V)Definitions: EisensteinSignedDivisionRemainder - L45
specialize eisenstein_signed_euclidean_division_exists x - L46
specialize eisenstein_signed_euclidean_division_exists x1 - L47
specialize eisenstein_signed_euclidean_division_exists x2 - L48
specialize eisenstein_signed_euclidean_division_exists x3 - L49
specialize eisenstein_signed_euclidean_division_exists x4 - L50
specialize eisenstein_signed_euclidean_division_exists x5 - L51
specialize eisenstein_signed_euclidean_division_exists x6 - L52
specialize eisenstein_signed_euclidean_division_exists x7 - L53
apply eisenstein_signed_euclidean_division_exists
09Use earlier factsL54–54
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L54
exact hraw_nonzero
10Separate the logical casesL55–64
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L55
cases hdivision - L56
cases hdivision_witness - L57
cases hdivision_witness_witness - L58
cases hdivision_witness_witness_witness - L59
cases hdivision_witness_witness_witness_witness - L60
cases hdivision_witness_witness_witness_witness_witness - L61
cases hdivision_witness_witness_witness_witness_witness_witness - L62
cases hdivision_witness_witness_witness_witness_witness_witness_witness - L63
cases hdivision_witness_witness_witness_witness_witness_witness_witness_witness - L64
cases hdivision_witness_witness_witness_witness_witness_witness_witness_witness_witness
11Separate the logical casesL65–67
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L65
cases hdivision_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness - L66
cases hdivision_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_right - L67
cases hdivision_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_right_right
12Establish hQL68–73
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian representation exists.
13Separate the logical casesL74–74
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L74
cases hQ
14Establish hRL75–80
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian representation exists.
15Separate the logical casesL81–81
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L81
cases hR
16Construct an explicit witnessL82–85
17Separate the logical casesL86–86
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L86
split
18Use earlier factsL87–96
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L87
specialize eisenstein_division_remainder_of_representations ac - L88
specialize eisenstein_division_remainder_of_representations bc - L89
specialize eisenstein_division_remainder_of_representations x18 - L90
specialize eisenstein_division_remainder_of_representations x19 - L91
specialize eisenstein_division_remainder_of_representations x - L92
specialize eisenstein_division_remainder_of_representations x1 - L93
specialize eisenstein_division_remainder_of_representations x2 - L94
specialize eisenstein_division_remainder_of_representations x3 - L95
specialize eisenstein_division_remainder_of_representations x4 - L96
specialize eisenstein_division_remainder_of_representations x5
19Use earlier factsL97–106
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L97
specialize eisenstein_division_remainder_of_representations x6 - L98
specialize eisenstein_division_remainder_of_representations x7 - L99
specialize eisenstein_division_remainder_of_representations x8 - L100
specialize eisenstein_division_remainder_of_representations x9 - L101
specialize eisenstein_division_remainder_of_representations x10 - L102
specialize eisenstein_division_remainder_of_representations x11 - L103
specialize eisenstein_division_remainder_of_representations x12 - L104
specialize eisenstein_division_remainder_of_representations x13 - L105
specialize eisenstein_division_remainder_of_representations x14 - L106
specialize eisenstein_division_remainder_of_representations x15
20Use earlier factsL107–112
Instantiate or apply named facts and discharge the corresponding proof obligations.
21Separate the logical casesL113–113
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L113
split
22Use earlier factsL114–122
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L114
specialize eisenstein_norm_of_representation x19 - L115
specialize eisenstein_norm_of_representation x12 - L116
specialize eisenstein_norm_of_representation x13 - L117
specialize eisenstein_norm_of_representation x14 - L118
specialize eisenstein_norm_of_representation x15 - L119
specialize eisenstein_norm_of_representation x16 - L120
apply eisenstein_norm_of_representation - L121
exact hR_witness - L122
exact hdivision_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_right_left
23Separate the logical casesL123–123
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L123
split
24Use earlier factsL124–133
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L124
specialize eisenstein_norm_of_representation bc - L125
specialize eisenstein_norm_of_representation x4 - L126
specialize eisenstein_norm_of_representation x5 - L127
specialize eisenstein_norm_of_representation x6 - L128
specialize eisenstein_norm_of_representation x7 - L129
specialize eisenstein_norm_of_representation x17 - L130
apply eisenstein_norm_of_representation - L131
exact hB - L132
exact hdivision_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_right_right_left - L133
exact hdivision_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right
Original exact command ledger · 133 lines
- 0001
intro ac - 0002
intro bc - 0003
intro hfirst - 0004
intro hsecond - 0005
intro hnonzero - 0006
cases hfirst - 0007
cases hfirst_witness - 0008
cases hfirst_witness_witness - 0009
cases hfirst_witness_witness_witness - 0010
cases hsecond - 0011
cases hsecond_witness - 0012
cases hsecond_witness_witness - 0013
cases hsecond_witness_witness_witness - 0014
have hA : exists ge_representation_real_code_euclidean_dividend_rep ge_representation_imaginary_code_euclidean_dividend_rep. (((ac) = ((ge_representation_real_code_euclidean_dividend_rep) + (ge_representation_imaginary_code_euclidean_dividend_rep)) * S ((ge_representation_real_code_euclidean_dividend_rep) + (ge_representation_imaginary_code_euclidean_dividend_rep)) + ((ge_representation_imaginary_code_euclidean_dividend_rep) + (ge_representation_imaginary_code_euclidean_dividend_rep))) /\ ((exists ge_balance_positive_euclidean_dividend_repreal ge_balance_negative_euclidean_dividend_repreal. (((((ge_representation_real_code_euclidean_dividend_rep) = 2 * (ge_balance_positive_euclidean_dividend_repreal) /\ (ge_balance_negative_euclidean_dividend_repreal) = 0) \/ exists ge_signed_half_euclidean_dividend_reprealdecode. (((ge_representation_real_code_euclidean_dividend_rep) = 2 * ge_signed_half_euclidean_dividend_reprealdecode + 1 /\ (ge_balance_positive_euclidean_dividend_repreal) = 0) /\ (ge_balance_negative_euclidean_dividend_repreal) = S ge_signed_half_euclidean_dividend_reprealdecode))) /\ ((x) + ge_balance_negative_euclidean_dividend_repreal = (x1) + ge_balance_positive_euclidean_dividend_repreal))) /\ (exists ge_balance_positive_euclidean_dividend_repimaginary ge_balance_negative_euclidean_dividend_repimaginary. (((((ge_representation_imaginary_code_euclidean_dividend_rep) = 2 * (ge_balance_positive_euclidean_dividend_repimaginary) /\ (ge_balance_negative_euclidean_dividend_repimaginary) = 0) \/ exists ge_signed_half_euclidean_dividend_repimaginarydecode. (((ge_representation_imaginary_code_euclidean_dividend_rep) = 2 * ge_signed_half_euclidean_dividend_repimaginarydecode + 1 /\ (ge_balance_positive_euclidean_dividend_repimaginary) = 0) /\ (ge_balance_negative_euclidean_dividend_repimaginary) = S ge_signed_half_euclidean_dividend_repimaginarydecode))) /\ ((x2) + ge_balance_negative_euclidean_dividend_repimaginary = (x3) + ge_balance_positive_euclidean_dividend_repimaginary))))) - 0015
specialize gaussian_decode_representation ac - 0016
specialize gaussian_decode_representation x - 0017
specialize gaussian_decode_representation x1 - 0018
specialize gaussian_decode_representation x2 - 0019
specialize gaussian_decode_representation x3 - 0020
apply gaussian_decode_representation - 0021
exact hfirst_witness_witness_witness_witness - 0022
have hB : exists ge_representation_real_code_euclidean_divisor_rep ge_representation_imaginary_code_euclidean_divisor_rep. (((bc) = ((ge_representation_real_code_euclidean_divisor_rep) + (ge_representation_imaginary_code_euclidean_divisor_rep)) * S ((ge_representation_real_code_euclidean_divisor_rep) + (ge_representation_imaginary_code_euclidean_divisor_rep)) + ((ge_representation_imaginary_code_euclidean_divisor_rep) + (ge_representation_imaginary_code_euclidean_divisor_rep))) /\ ((exists ge_balance_positive_euclidean_divisor_repreal ge_balance_negative_euclidean_divisor_repreal. (((((ge_representation_real_code_euclidean_divisor_rep) = 2 * (ge_balance_positive_euclidean_divisor_repreal) /\ (ge_balance_negative_euclidean_divisor_repreal) = 0) \/ exists ge_signed_half_euclidean_divisor_reprealdecode. (((ge_representation_real_code_euclidean_divisor_rep) = 2 * ge_signed_half_euclidean_divisor_reprealdecode + 1 /\ (ge_balance_positive_euclidean_divisor_repreal) = 0) /\ (ge_balance_negative_euclidean_divisor_repreal) = S ge_signed_half_euclidean_divisor_reprealdecode))) /\ ((x4) + ge_balance_negative_euclidean_divisor_repreal = (x5) + ge_balance_positive_euclidean_divisor_repreal))) /\ (exists ge_balance_positive_euclidean_divisor_repimaginary ge_balance_negative_euclidean_divisor_repimaginary. (((((ge_representation_imaginary_code_euclidean_divisor_rep) = 2 * (ge_balance_positive_euclidean_divisor_repimaginary) /\ (ge_balance_negative_euclidean_divisor_repimaginary) = 0) \/ exists ge_signed_half_euclidean_divisor_repimaginarydecode. (((ge_representation_imaginary_code_euclidean_divisor_rep) = 2 * ge_signed_half_euclidean_divisor_repimaginarydecode + 1 /\ (ge_balance_positive_euclidean_divisor_repimaginary) = 0) /\ (ge_balance_negative_euclidean_divisor_repimaginary) = S ge_signed_half_euclidean_divisor_repimaginarydecode))) /\ ((x6) + ge_balance_negative_euclidean_divisor_repimaginary = (x7) + ge_balance_positive_euclidean_divisor_repimaginary))))) - 0023
specialize gaussian_decode_representation bc - 0024
specialize gaussian_decode_representation x4 - 0025
specialize gaussian_decode_representation x5 - 0026
specialize gaussian_decode_representation x6 - 0027
specialize gaussian_decode_representation x7 - 0028
apply gaussian_decode_representation - 0029
exact hsecond_witness_witness_witness_witness - 0030
have hzero : (bc = 0 -> (x4 = x5 /\ x6 = x7)) /\ ((x4 = x5 /\ x6 = x7) -> bc = 0) - 0031
specialize gaussian_representation_zero_iff bc - 0032
specialize gaussian_representation_zero_iff x4 - 0033
specialize gaussian_representation_zero_iff x5 - 0034
specialize gaussian_representation_zero_iff x6 - 0035
specialize gaussian_representation_zero_iff x7 - 0036
apply gaussian_representation_zero_iff - 0037
exact hB - 0038
cases hzero - 0039
have hraw_nonzero : ~(x4 = x5 /\ x6 = x7) - 0040
intro hvanishing - 0041
apply hnonzero - 0042
apply hzero_right - 0043
exact hvanishing - 0044
have hdivision : exists i j k l o p s t U V. (((((((((((((((x4) * (i))) + (((x5) * (j))))) + (((((x6) * (l))) + (((x7) * (k))))))) + (o))) + (x1)) = ((x) + (((((((((x4) * (j))) + (((x5) * (i))))) + (((((x6) * (k))) + (((x7) * (l))))))) + (p))))) /\ (((((((((((((x4) * (k))) + (((x5) * (l))))) + (((((x6) * (i))) + (((x7) * (j))))))) + (((((x6) * (l))) + (((x7) * (k))))))) + (s))) + (x3)) = ((x2) + (((((((((((x4) * (l))) + (((x5) * (k))))) + (((((x6) * (j))) + (((x7) * (i))))))) + (((((x6) * (k))) + (((x7) * (l))))))) + (t))))))) /\ ((((((((((o) * (o))) + (((p) * (p))))) + (((((s) * (s))) + (((t) * (t))))))) + (((((o) * (t))) + (((p) * (s)))))) = ((((((((((o) * (p))) + (((p) * (o))))) + (((((s) * (t))) + (((t) * (s))))))) + (((((o) * (s))) + (((p) * (t))))))) + (U))) /\ ((((((((((x4) * (x4))) + (((x5) * (x5))))) + (((((x6) * (x6))) + (((x7) * (x7))))))) + (((((x4) * (x7))) + (((x5) * (x6)))))) = ((((((((((x4) * (x5))) + (((x5) * (x4))))) + (((((x6) * (x7))) + (((x7) * (x6))))))) + (((((x4) * (x6))) + (((x5) * (x7))))))) + (V))) /\ (exists ee_gap_euclidean_raw_construct. ee_gap_euclidean_raw_construct + S (U) = (V)))))) - 0045
specialize eisenstein_signed_euclidean_division_exists x - 0046
specialize eisenstein_signed_euclidean_division_exists x1 - 0047
specialize eisenstein_signed_euclidean_division_exists x2 - 0048
specialize eisenstein_signed_euclidean_division_exists x3 - 0049
specialize eisenstein_signed_euclidean_division_exists x4 - 0050
specialize eisenstein_signed_euclidean_division_exists x5 - 0051
specialize eisenstein_signed_euclidean_division_exists x6 - 0052
specialize eisenstein_signed_euclidean_division_exists x7 - 0053
apply eisenstein_signed_euclidean_division_exists - 0054
exact hraw_nonzero - 0055
cases hdivision - 0056
cases hdivision_witness - 0057
cases hdivision_witness_witness - 0058
cases hdivision_witness_witness_witness - 0059
cases hdivision_witness_witness_witness_witness - 0060
cases hdivision_witness_witness_witness_witness_witness - 0061
cases hdivision_witness_witness_witness_witness_witness_witness - 0062
cases hdivision_witness_witness_witness_witness_witness_witness_witness - 0063
cases hdivision_witness_witness_witness_witness_witness_witness_witness_witness - 0064
cases hdivision_witness_witness_witness_witness_witness_witness_witness_witness_witness - 0065
cases hdivision_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness - 0066
cases hdivision_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_right - 0067
cases hdivision_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_right_right - 0068
have hQ : exists qc. (exists ge_representation_real_code_euclidean_quotient_construct ge_representation_imaginary_code_euclidean_quotient_construct. (((qc) = ((ge_representation_real_code_euclidean_quotient_construct) + (ge_representation_imaginary_code_euclidean_quotient_construct)) * S ((ge_representation_real_code_euclidean_quotient_construct) + (ge_representation_imaginary_code_euclidean_quotient_construct)) + ((ge_representation_imaginary_code_euclidean_quotient_construct) + (ge_representation_imaginary_code_euclidean_quotient_construct))) /\ ((exists ge_balance_positive_euclidean_quotient_constructreal ge_balance_negative_euclidean_quotient_constructreal. (((((ge_representation_real_code_euclidean_quotient_construct) = 2 * (ge_balance_positive_euclidean_quotient_constructreal) /\ (ge_balance_negative_euclidean_quotient_constructreal) = 0) \/ exists ge_signed_half_euclidean_quotient_constructrealdecode. (((ge_representation_real_code_euclidean_quotient_construct) = 2 * ge_signed_half_euclidean_quotient_constructrealdecode + 1 /\ (ge_balance_positive_euclidean_quotient_constructreal) = 0) /\ (ge_balance_negative_euclidean_quotient_constructreal) = S ge_signed_half_euclidean_quotient_constructrealdecode))) /\ ((x8) + ge_balance_negative_euclidean_quotient_constructreal = (x9) + ge_balance_positive_euclidean_quotient_constructreal))) /\ (exists ge_balance_positive_euclidean_quotient_constructimaginary ge_balance_negative_euclidean_quotient_constructimaginary. (((((ge_representation_imaginary_code_euclidean_quotient_construct) = 2 * (ge_balance_positive_euclidean_quotient_constructimaginary) /\ (ge_balance_negative_euclidean_quotient_constructimaginary) = 0) \/ exists ge_signed_half_euclidean_quotient_constructimaginarydecode. (((ge_representation_imaginary_code_euclidean_quotient_construct) = 2 * ge_signed_half_euclidean_quotient_constructimaginarydecode + 1 /\ (ge_balance_positive_euclidean_quotient_constructimaginary) = 0) /\ (ge_balance_negative_euclidean_quotient_constructimaginary) = S ge_signed_half_euclidean_quotient_constructimaginarydecode))) /\ ((x10) + ge_balance_negative_euclidean_quotient_constructimaginary = (x11) + ge_balance_positive_euclidean_quotient_constructimaginary)))))) - 0069
specialize gaussian_representation_exists x8 - 0070
specialize gaussian_representation_exists x9 - 0071
specialize gaussian_representation_exists x10 - 0072
specialize gaussian_representation_exists x11 - 0073
apply gaussian_representation_exists - 0074
cases hQ - 0075
have hR : exists rc. (exists ge_representation_real_code_euclidean_remainder_construct ge_representation_imaginary_code_euclidean_remainder_construct. (((rc) = ((ge_representation_real_code_euclidean_remainder_construct) + (ge_representation_imaginary_code_euclidean_remainder_construct)) * S ((ge_representation_real_code_euclidean_remainder_construct) + (ge_representation_imaginary_code_euclidean_remainder_construct)) + ((ge_representation_imaginary_code_euclidean_remainder_construct) + (ge_representation_imaginary_code_euclidean_remainder_construct))) /\ ((exists ge_balance_positive_euclidean_remainder_constructreal ge_balance_negative_euclidean_remainder_constructreal. (((((ge_representation_real_code_euclidean_remainder_construct) = 2 * (ge_balance_positive_euclidean_remainder_constructreal) /\ (ge_balance_negative_euclidean_remainder_constructreal) = 0) \/ exists ge_signed_half_euclidean_remainder_constructrealdecode. (((ge_representation_real_code_euclidean_remainder_construct) = 2 * ge_signed_half_euclidean_remainder_constructrealdecode + 1 /\ (ge_balance_positive_euclidean_remainder_constructreal) = 0) /\ (ge_balance_negative_euclidean_remainder_constructreal) = S ge_signed_half_euclidean_remainder_constructrealdecode))) /\ ((x12) + ge_balance_negative_euclidean_remainder_constructreal = (x13) + ge_balance_positive_euclidean_remainder_constructreal))) /\ (exists ge_balance_positive_euclidean_remainder_constructimaginary ge_balance_negative_euclidean_remainder_constructimaginary. (((((ge_representation_imaginary_code_euclidean_remainder_construct) = 2 * (ge_balance_positive_euclidean_remainder_constructimaginary) /\ (ge_balance_negative_euclidean_remainder_constructimaginary) = 0) \/ exists ge_signed_half_euclidean_remainder_constructimaginarydecode. (((ge_representation_imaginary_code_euclidean_remainder_construct) = 2 * ge_signed_half_euclidean_remainder_constructimaginarydecode + 1 /\ (ge_balance_positive_euclidean_remainder_constructimaginary) = 0) /\ (ge_balance_negative_euclidean_remainder_constructimaginary) = S ge_signed_half_euclidean_remainder_constructimaginarydecode))) /\ ((x14) + ge_balance_negative_euclidean_remainder_constructimaginary = (x15) + ge_balance_positive_euclidean_remainder_constructimaginary)))))) - 0076
specialize gaussian_representation_exists x12 - 0077
specialize gaussian_representation_exists x13 - 0078
specialize gaussian_representation_exists x14 - 0079
specialize gaussian_representation_exists x15 - 0080
apply gaussian_representation_exists - 0081
cases hR - 0082
exists x18 - 0083
exists x19 - 0084
exists x16 - 0085
exists x17 - 0086
split - 0087
specialize eisenstein_division_remainder_of_representations ac - 0088
specialize eisenstein_division_remainder_of_representations bc - 0089
specialize eisenstein_division_remainder_of_representations x18 - 0090
specialize eisenstein_division_remainder_of_representations x19 - 0091
specialize eisenstein_division_remainder_of_representations x - 0092
specialize eisenstein_division_remainder_of_representations x1 - 0093
specialize eisenstein_division_remainder_of_representations x2 - 0094
specialize eisenstein_division_remainder_of_representations x3 - 0095
specialize eisenstein_division_remainder_of_representations x4 - 0096
specialize eisenstein_division_remainder_of_representations x5 - 0097
specialize eisenstein_division_remainder_of_representations x6 - 0098
specialize eisenstein_division_remainder_of_representations x7 - 0099
specialize eisenstein_division_remainder_of_representations x8 - 0100
specialize eisenstein_division_remainder_of_representations x9 - 0101
specialize eisenstein_division_remainder_of_representations x10 - 0102
specialize eisenstein_division_remainder_of_representations x11 - 0103
specialize eisenstein_division_remainder_of_representations x12 - 0104
specialize eisenstein_division_remainder_of_representations x13 - 0105
specialize eisenstein_division_remainder_of_representations x14 - 0106
specialize eisenstein_division_remainder_of_representations x15 - 0107
apply eisenstein_division_remainder_of_representations - 0108
exact hA - 0109
exact hB - 0110
exact hQ_witness - 0111
exact hR_witness - 0112
exact hdivision_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_left - 0113
split - 0114
specialize eisenstein_norm_of_representation x19 - 0115
specialize eisenstein_norm_of_representation x12 - 0116
specialize eisenstein_norm_of_representation x13 - 0117
specialize eisenstein_norm_of_representation x14 - 0118
specialize eisenstein_norm_of_representation x15 - 0119
specialize eisenstein_norm_of_representation x16 - 0120
apply eisenstein_norm_of_representation - 0121
exact hR_witness - 0122
exact hdivision_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_right_left - 0123
split - 0124
specialize eisenstein_norm_of_representation bc - 0125
specialize eisenstein_norm_of_representation x4 - 0126
specialize eisenstein_norm_of_representation x5 - 0127
specialize eisenstein_norm_of_representation x6 - 0128
specialize eisenstein_norm_of_representation x7 - 0129
specialize eisenstein_norm_of_representation x17 - 0130
apply eisenstein_norm_of_representation - 0131
exact hB - 0132
exact hdivision_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_right_right_left - 0133
exact hdivision_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right