GF0074

gaussian_proper_norm_divisor_decidable

Alpha v34 independently verified · alpha_closed; checked-use authorized; not Stable

Decide a genuine nonunit divisor and strict actual norm bound using G081 division, norm functionality and natural order decision.

Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.

Exact expanded first-order arithmetic statement

forall d z N. (exists ge_real_positive_proper_candidate_valid ge_real_negative_proper_candidate_valid ge_imaginary_positive_proper_candidate_valid ge_imaginary_negative_proper_candidate_valid. (exists ge_real_code_proper_candidate_validdecode ge_imaginary_code_proper_candidate_validdecode. (((d) = ((ge_real_code_proper_candidate_validdecode) + (ge_imaginary_code_proper_candidate_validdecode)) * S ((ge_real_code_proper_candidate_validdecode) + (ge_imaginary_code_proper_candidate_validdecode)) + ((ge_imaginary_code_proper_candidate_validdecode) + (ge_imaginary_code_proper_candidate_validdecode))) /\ (((((ge_real_code_proper_candidate_validdecode) = 2 * (ge_real_positive_proper_candidate_valid) /\ (ge_real_negative_proper_candidate_valid) = 0) \/ exists ge_signed_half_ge_proper_candidate_validdecode_real. (((ge_real_code_proper_candidate_validdecode) = 2 * ge_signed_half_ge_proper_candidate_validdecode_real + 1 /\ (ge_real_positive_proper_candidate_valid) = 0) /\ (ge_real_negative_proper_candidate_valid) = S ge_signed_half_ge_proper_candidate_validdecode_real))) /\ ((((ge_imaginary_code_proper_candidate_validdecode) = 2 * (ge_imaginary_positive_proper_candidate_valid) /\ (ge_imaginary_negative_proper_candidate_valid) = 0) \/ exists ge_signed_half_ge_proper_candidate_validdecode_imaginary. (((ge_imaginary_code_proper_candidate_validdecode) = 2 * ge_signed_half_ge_proper_candidate_validdecode_imaginary + 1 /\ (ge_imaginary_positive_proper_candidate_valid) = 0) /\ (ge_imaginary_negative_proper_candidate_valid) = S ge_signed_half_ge_proper_candidate_validdecode_imaginary))))))) -> (exists ge_real_positive_proper_target_valid ge_real_negative_proper_target_valid ge_imaginary_positive_proper_target_valid ge_imaginary_negative_proper_target_valid. (exists ge_real_code_proper_target_validdecode ge_imaginary_code_proper_target_validdecode. (((z) = ((ge_real_code_proper_target_validdecode) + (ge_imaginary_code_proper_target_validdecode)) * S ((ge_real_code_proper_target_validdecode) + (ge_imaginary_code_proper_target_validdecode)) + ((ge_imaginary_code_proper_target_validdecode) + (ge_imaginary_code_proper_target_validdecode))) /\ (((((ge_real_code_proper_target_validdecode) = 2 * (ge_real_positive_proper_target_valid) /\ (ge_real_negative_proper_target_valid) = 0) \/ exists ge_signed_half_ge_proper_target_validdecode_real. (((ge_real_code_proper_target_validdecode) = 2 * ge_signed_half_ge_proper_target_validdecode_real + 1 /\ (ge_real_positive_proper_target_valid) = 0) /\ (ge_real_negative_proper_target_valid) = S ge_signed_half_ge_proper_target_validdecode_real))) /\ ((((ge_imaginary_code_proper_target_validdecode) = 2 * (ge_imaginary_positive_proper_target_valid) /\ (ge_imaginary_negative_proper_target_valid) = 0) \/ exists ge_signed_half_ge_proper_target_validdecode_imaginary. (((ge_imaginary_code_proper_target_validdecode) = 2 * ge_signed_half_ge_proper_target_validdecode_imaginary + 1 /\ (ge_imaginary_positive_proper_target_valid) = 0) /\ (ge_imaginary_negative_proper_target_valid) = S ge_signed_half_ge_proper_target_validdecode_imaginary))))))) -> (((~(exists gr_inverse_proper_decision_yesnonunit. (exists ge_first_rp_proper_decision_yesnonunitidentity ge_first_rn_proper_decision_yesnonunitidentity ge_first_ip_proper_decision_yesnonunitidentity ge_first_in_proper_decision_yesnonunitidentity ge_second_rp_proper_decision_yesnonunitidentity ge_second_rn_proper_decision_yesnonunitidentity ge_second_ip_proper_decision_yesnonunitidentity ge_second_in_proper_decision_yesnonunitidentity. ((exists ge_representation_real_code_proper_decision_yesnonunitidentityfirst ge_representation_imaginary_code_proper_decision_yesnonunitidentityfirst. (((d) = ((ge_representation_real_code_proper_decision_yesnonunitidentityfirst) + (ge_representation_imaginary_code_proper_decision_yesnonunitidentityfirst)) * S ((ge_representation_real_code_proper_decision_yesnonunitidentityfirst) + (ge_representation_imaginary_code_proper_decision_yesnonunitidentityfirst)) + ((ge_representation_imaginary_code_proper_decision_yesnonunitidentityfirst) + (ge_representation_imaginary_code_proper_decision_yesnonunitidentityfirst))) /\ ((exists ge_balance_positive_proper_decision_yesnonunitidentityfirstreal ge_balance_negative_proper_decision_yesnonunitidentityfirstreal. (((((ge_representation_real_code_proper_decision_yesnonunitidentityfirst) = 2 * (ge_balance_positive_proper_decision_yesnonunitidentityfirstreal) /\ (ge_balance_negative_proper_decision_yesnonunitidentityfirstreal) = 0) \/ exists ge_signed_half_proper_decision_yesnonunitidentityfirstrealdecode. (((ge_representation_real_code_proper_decision_yesnonunitidentityfirst) = 2 * ge_signed_half_proper_decision_yesnonunitidentityfirstrealdecode + 1 /\ (ge_balance_positive_proper_decision_yesnonunitidentityfirstreal) = 0) /\ (ge_balance_negative_proper_decision_yesnonunitidentityfirstreal) = S ge_signed_half_proper_decision_yesnonunitidentityfirstrealdecode))) /\ ((ge_first_rp_proper_decision_yesnonunitidentity) + ge_balance_negative_proper_decision_yesnonunitidentityfirstreal = (ge_first_rn_proper_decision_yesnonunitidentity) + ge_balance_positive_proper_decision_yesnonunitidentityfirstreal))) /\ (exists ge_balance_positive_proper_decision_yesnonunitidentityfirstimaginary ge_balance_negative_proper_decision_yesnonunitidentityfirstimaginary. (((((ge_representation_imaginary_code_proper_decision_yesnonunitidentityfirst) = 2 * (ge_balance_positive_proper_decision_yesnonunitidentityfirstimaginary) /\ (ge_balance_negative_proper_decision_yesnonunitidentityfirstimaginary) = 0) \/ exists ge_signed_half_proper_decision_yesnonunitidentityfirstimaginarydecode. (((ge_representation_imaginary_code_proper_decision_yesnonunitidentityfirst) = 2 * ge_signed_half_proper_decision_yesnonunitidentityfirstimaginarydecode + 1 /\ (ge_balance_positive_proper_decision_yesnonunitidentityfirstimaginary) = 0) /\ (ge_balance_negative_proper_decision_yesnonunitidentityfirstimaginary) = S ge_signed_half_proper_decision_yesnonunitidentityfirstimaginarydecode))) /\ ((ge_first_ip_proper_decision_yesnonunitidentity) + ge_balance_negative_proper_decision_yesnonunitidentityfirstimaginary = (ge_first_in_proper_decision_yesnonunitidentity) + ge_balance_positive_proper_decision_yesnonunitidentityfirstimaginary)))))) /\ ((exists ge_representation_real_code_proper_decision_yesnonunitidentitysecond ge_representation_imaginary_code_proper_decision_yesnonunitidentitysecond. (((gr_inverse_proper_decision_yesnonunit) = ((ge_representation_real_code_proper_decision_yesnonunitidentitysecond) + (ge_representation_imaginary_code_proper_decision_yesnonunitidentitysecond)) * S ((ge_representation_real_code_proper_decision_yesnonunitidentitysecond) + (ge_representation_imaginary_code_proper_decision_yesnonunitidentitysecond)) + ((ge_representation_imaginary_code_proper_decision_yesnonunitidentitysecond) + (ge_representation_imaginary_code_proper_decision_yesnonunitidentitysecond))) /\ ((exists ge_balance_positive_proper_decision_yesnonunitidentitysecondreal ge_balance_negative_proper_decision_yesnonunitidentitysecondreal. (((((ge_representation_real_code_proper_decision_yesnonunitidentitysecond) = 2 * (ge_balance_positive_proper_decision_yesnonunitidentitysecondreal) /\ (ge_balance_negative_proper_decision_yesnonunitidentitysecondreal) = 0) \/ exists ge_signed_half_proper_decision_yesnonunitidentitysecondrealdecode. (((ge_representation_real_code_proper_decision_yesnonunitidentitysecond) = 2 * ge_signed_half_proper_decision_yesnonunitidentitysecondrealdecode + 1 /\ (ge_balance_positive_proper_decision_yesnonunitidentitysecondreal) = 0) /\ (ge_balance_negative_proper_decision_yesnonunitidentitysecondreal) = S ge_signed_half_proper_decision_yesnonunitidentitysecondrealdecode))) /\ ((ge_second_rp_proper_decision_yesnonunitidentity) + ge_balance_negative_proper_decision_yesnonunitidentitysecondreal = (ge_second_rn_proper_decision_yesnonunitidentity) + ge_balance_positive_proper_decision_yesnonunitidentitysecondreal))) /\ (exists ge_balance_positive_proper_decision_yesnonunitidentitysecondimaginary ge_balance_negative_proper_decision_yesnonunitidentitysecondimaginary. (((((ge_representation_imaginary_code_proper_decision_yesnonunitidentitysecond) = 2 * (ge_balance_positive_proper_decision_yesnonunitidentitysecondimaginary) /\ (ge_balance_negative_proper_decision_yesnonunitidentitysecondimaginary) = 0) \/ exists ge_signed_half_proper_decision_yesnonunitidentitysecondimaginarydecode. (((ge_representation_imaginary_code_proper_decision_yesnonunitidentitysecond) = 2 * ge_signed_half_proper_decision_yesnonunitidentitysecondimaginarydecode + 1 /\ (ge_balance_positive_proper_decision_yesnonunitidentitysecondimaginary) = 0) /\ (ge_balance_negative_proper_decision_yesnonunitidentitysecondimaginary) = S ge_signed_half_proper_decision_yesnonunitidentitysecondimaginarydecode))) /\ ((ge_second_ip_proper_decision_yesnonunitidentity) + ge_balance_negative_proper_decision_yesnonunitidentitysecondimaginary = (ge_second_in_proper_decision_yesnonunitidentity) + ge_balance_positive_proper_decision_yesnonunitidentitysecondimaginary)))))) /\ (exists ge_representation_real_code_proper_decision_yesnonunitidentityoutput ge_representation_imaginary_code_proper_decision_yesnonunitidentityoutput. (((6) = ((ge_representation_real_code_proper_decision_yesnonunitidentityoutput) + (ge_representation_imaginary_code_proper_decision_yesnonunitidentityoutput)) * S ((ge_representation_real_code_proper_decision_yesnonunitidentityoutput) + (ge_representation_imaginary_code_proper_decision_yesnonunitidentityoutput)) + ((ge_representation_imaginary_code_proper_decision_yesnonunitidentityoutput) + (ge_representation_imaginary_code_proper_decision_yesnonunitidentityoutput))) /\ ((exists ge_balance_positive_proper_decision_yesnonunitidentityoutputreal ge_balance_negative_proper_decision_yesnonunitidentityoutputreal. (((((ge_representation_real_code_proper_decision_yesnonunitidentityoutput) = 2 * (ge_balance_positive_proper_decision_yesnonunitidentityoutputreal) /\ (ge_balance_negative_proper_decision_yesnonunitidentityoutputreal) = 0) \/ exists ge_signed_half_proper_decision_yesnonunitidentityoutputrealdecode. (((ge_representation_real_code_proper_decision_yesnonunitidentityoutput) = 2 * ge_signed_half_proper_decision_yesnonunitidentityoutputrealdecode + 1 /\ (ge_balance_positive_proper_decision_yesnonunitidentityoutputreal) = 0) /\ (ge_balance_negative_proper_decision_yesnonunitidentityoutputreal) = S ge_signed_half_proper_decision_yesnonunitidentityoutputrealdecode))) /\ ((((((((ge_first_rp_proper_decision_yesnonunitidentity) * (ge_second_rp_proper_decision_yesnonunitidentity))) + (((ge_first_rn_proper_decision_yesnonunitidentity) * (ge_second_rn_proper_decision_yesnonunitidentity))))) + (((((ge_first_ip_proper_decision_yesnonunitidentity) * (ge_second_in_proper_decision_yesnonunitidentity))) + (((ge_first_in_proper_decision_yesnonunitidentity) * (ge_second_ip_proper_decision_yesnonunitidentity))))))) + ge_balance_negative_proper_decision_yesnonunitidentityoutputreal = (((((((ge_first_rp_proper_decision_yesnonunitidentity) * (ge_second_rn_proper_decision_yesnonunitidentity))) + (((ge_first_rn_proper_decision_yesnonunitidentity) * (ge_second_rp_proper_decision_yesnonunitidentity))))) + (((((ge_first_ip_proper_decision_yesnonunitidentity) * (ge_second_ip_proper_decision_yesnonunitidentity))) + (((ge_first_in_proper_decision_yesnonunitidentity) * (ge_second_in_proper_decision_yesnonunitidentity))))))) + ge_balance_positive_proper_decision_yesnonunitidentityoutputreal))) /\ (exists ge_balance_positive_proper_decision_yesnonunitidentityoutputimaginary ge_balance_negative_proper_decision_yesnonunitidentityoutputimaginary. (((((ge_representation_imaginary_code_proper_decision_yesnonunitidentityoutput) = 2 * (ge_balance_positive_proper_decision_yesnonunitidentityoutputimaginary) /\ (ge_balance_negative_proper_decision_yesnonunitidentityoutputimaginary) = 0) \/ exists ge_signed_half_proper_decision_yesnonunitidentityoutputimaginarydecode. (((ge_representation_imaginary_code_proper_decision_yesnonunitidentityoutput) = 2 * ge_signed_half_proper_decision_yesnonunitidentityoutputimaginarydecode + 1 /\ (ge_balance_positive_proper_decision_yesnonunitidentityoutputimaginary) = 0) /\ (ge_balance_negative_proper_decision_yesnonunitidentityoutputimaginary) = S ge_signed_half_proper_decision_yesnonunitidentityoutputimaginarydecode))) /\ ((((((((ge_first_rp_proper_decision_yesnonunitidentity) * (ge_second_ip_proper_decision_yesnonunitidentity))) + (((ge_first_rn_proper_decision_yesnonunitidentity) * (ge_second_in_proper_decision_yesnonunitidentity))))) + (((((ge_first_ip_proper_decision_yesnonunitidentity) * (ge_second_rp_proper_decision_yesnonunitidentity))) + (((ge_first_in_proper_decision_yesnonunitidentity) * (ge_second_rn_proper_decision_yesnonunitidentity))))))) + ge_balance_negative_proper_decision_yesnonunitidentityoutputimaginary = (((((((ge_first_rp_proper_decision_yesnonunitidentity) * (ge_second_in_proper_decision_yesnonunitidentity))) + (((ge_first_rn_proper_decision_yesnonunitidentity) * (ge_second_ip_proper_decision_yesnonunitidentity))))) + (((((ge_first_ip_proper_decision_yesnonunitidentity) * (ge_second_rn_proper_decision_yesnonunitidentity))) + (((ge_first_in_proper_decision_yesnonunitidentity) * (ge_second_rp_proper_decision_yesnonunitidentity))))))) + ge_balance_positive_proper_decision_yesnonunitidentityoutputimaginary))))))))))) /\ ((exists gr_quotient_proper_decision_yesquotient. (exists ge_first_rp_proper_decision_yesquotientproduct ge_first_rn_proper_decision_yesquotientproduct ge_first_ip_proper_decision_yesquotientproduct ge_first_in_proper_decision_yesquotientproduct ge_second_rp_proper_decision_yesquotientproduct ge_second_rn_proper_decision_yesquotientproduct ge_second_ip_proper_decision_yesquotientproduct ge_second_in_proper_decision_yesquotientproduct. ((exists ge_representation_real_code_proper_decision_yesquotientproductfirst ge_representation_imaginary_code_proper_decision_yesquotientproductfirst. (((d) = ((ge_representation_real_code_proper_decision_yesquotientproductfirst) + (ge_representation_imaginary_code_proper_decision_yesquotientproductfirst)) * S ((ge_representation_real_code_proper_decision_yesquotientproductfirst) + (ge_representation_imaginary_code_proper_decision_yesquotientproductfirst)) + ((ge_representation_imaginary_code_proper_decision_yesquotientproductfirst) + (ge_representation_imaginary_code_proper_decision_yesquotientproductfirst))) /\ ((exists ge_balance_positive_proper_decision_yesquotientproductfirstreal ge_balance_negative_proper_decision_yesquotientproductfirstreal. (((((ge_representation_real_code_proper_decision_yesquotientproductfirst) = 2 * (ge_balance_positive_proper_decision_yesquotientproductfirstreal) /\ (ge_balance_negative_proper_decision_yesquotientproductfirstreal) = 0) \/ exists ge_signed_half_proper_decision_yesquotientproductfirstrealdecode. (((ge_representation_real_code_proper_decision_yesquotientproductfirst) = 2 * ge_signed_half_proper_decision_yesquotientproductfirstrealdecode + 1 /\ (ge_balance_positive_proper_decision_yesquotientproductfirstreal) = 0) /\ (ge_balance_negative_proper_decision_yesquotientproductfirstreal) = S ge_signed_half_proper_decision_yesquotientproductfirstrealdecode))) /\ ((ge_first_rp_proper_decision_yesquotientproduct) + ge_balance_negative_proper_decision_yesquotientproductfirstreal = (ge_first_rn_proper_decision_yesquotientproduct) + ge_balance_positive_proper_decision_yesquotientproductfirstreal))) /\ (exists ge_balance_positive_proper_decision_yesquotientproductfirstimaginary ge_balance_negative_proper_decision_yesquotientproductfirstimaginary. (((((ge_representation_imaginary_code_proper_decision_yesquotientproductfirst) = 2 * (ge_balance_positive_proper_decision_yesquotientproductfirstimaginary) /\ (ge_balance_negative_proper_decision_yesquotientproductfirstimaginary) = 0) \/ exists ge_signed_half_proper_decision_yesquotientproductfirstimaginarydecode. (((ge_representation_imaginary_code_proper_decision_yesquotientproductfirst) = 2 * ge_signed_half_proper_decision_yesquotientproductfirstimaginarydecode + 1 /\ (ge_balance_positive_proper_decision_yesquotientproductfirstimaginary) = 0) /\ (ge_balance_negative_proper_decision_yesquotientproductfirstimaginary) = S ge_signed_half_proper_decision_yesquotientproductfirstimaginarydecode))) /\ ((ge_first_ip_proper_decision_yesquotientproduct) + ge_balance_negative_proper_decision_yesquotientproductfirstimaginary = (ge_first_in_proper_decision_yesquotientproduct) + ge_balance_positive_proper_decision_yesquotientproductfirstimaginary)))))) /\ ((exists ge_representation_real_code_proper_decision_yesquotientproductsecond ge_representation_imaginary_code_proper_decision_yesquotientproductsecond. (((gr_quotient_proper_decision_yesquotient) = ((ge_representation_real_code_proper_decision_yesquotientproductsecond) + (ge_representation_imaginary_code_proper_decision_yesquotientproductsecond)) * S ((ge_representation_real_code_proper_decision_yesquotientproductsecond) + (ge_representation_imaginary_code_proper_decision_yesquotientproductsecond)) + ((ge_representation_imaginary_code_proper_decision_yesquotientproductsecond) + (ge_representation_imaginary_code_proper_decision_yesquotientproductsecond))) /\ ((exists ge_balance_positive_proper_decision_yesquotientproductsecondreal ge_balance_negative_proper_decision_yesquotientproductsecondreal. (((((ge_representation_real_code_proper_decision_yesquotientproductsecond) = 2 * (ge_balance_positive_proper_decision_yesquotientproductsecondreal) /\ (ge_balance_negative_proper_decision_yesquotientproductsecondreal) = 0) \/ exists ge_signed_half_proper_decision_yesquotientproductsecondrealdecode. (((ge_representation_real_code_proper_decision_yesquotientproductsecond) = 2 * ge_signed_half_proper_decision_yesquotientproductsecondrealdecode + 1 /\ (ge_balance_positive_proper_decision_yesquotientproductsecondreal) = 0) /\ (ge_balance_negative_proper_decision_yesquotientproductsecondreal) = S ge_signed_half_proper_decision_yesquotientproductsecondrealdecode))) /\ ((ge_second_rp_proper_decision_yesquotientproduct) + ge_balance_negative_proper_decision_yesquotientproductsecondreal = (ge_second_rn_proper_decision_yesquotientproduct) + ge_balance_positive_proper_decision_yesquotientproductsecondreal))) /\ (exists ge_balance_positive_proper_decision_yesquotientproductsecondimaginary ge_balance_negative_proper_decision_yesquotientproductsecondimaginary. (((((ge_representation_imaginary_code_proper_decision_yesquotientproductsecond) = 2 * (ge_balance_positive_proper_decision_yesquotientproductsecondimaginary) /\ (ge_balance_negative_proper_decision_yesquotientproductsecondimaginary) = 0) \/ exists ge_signed_half_proper_decision_yesquotientproductsecondimaginarydecode. (((ge_representation_imaginary_code_proper_decision_yesquotientproductsecond) = 2 * ge_signed_half_proper_decision_yesquotientproductsecondimaginarydecode + 1 /\ (ge_balance_positive_proper_decision_yesquotientproductsecondimaginary) = 0) /\ (ge_balance_negative_proper_decision_yesquotientproductsecondimaginary) = S ge_signed_half_proper_decision_yesquotientproductsecondimaginarydecode))) /\ ((ge_second_ip_proper_decision_yesquotientproduct) + ge_balance_negative_proper_decision_yesquotientproductsecondimaginary = (ge_second_in_proper_decision_yesquotientproduct) + ge_balance_positive_proper_decision_yesquotientproductsecondimaginary)))))) /\ (exists ge_representation_real_code_proper_decision_yesquotientproductoutput ge_representation_imaginary_code_proper_decision_yesquotientproductoutput. (((z) = ((ge_representation_real_code_proper_decision_yesquotientproductoutput) + (ge_representation_imaginary_code_proper_decision_yesquotientproductoutput)) * S ((ge_representation_real_code_proper_decision_yesquotientproductoutput) + (ge_representation_imaginary_code_proper_decision_yesquotientproductoutput)) + ((ge_representation_imaginary_code_proper_decision_yesquotientproductoutput) + (ge_representation_imaginary_code_proper_decision_yesquotientproductoutput))) /\ ((exists ge_balance_positive_proper_decision_yesquotientproductoutputreal ge_balance_negative_proper_decision_yesquotientproductoutputreal. (((((ge_representation_real_code_proper_decision_yesquotientproductoutput) = 2 * (ge_balance_positive_proper_decision_yesquotientproductoutputreal) /\ (ge_balance_negative_proper_decision_yesquotientproductoutputreal) = 0) \/ exists ge_signed_half_proper_decision_yesquotientproductoutputrealdecode. (((ge_representation_real_code_proper_decision_yesquotientproductoutput) = 2 * ge_signed_half_proper_decision_yesquotientproductoutputrealdecode + 1 /\ (ge_balance_positive_proper_decision_yesquotientproductoutputreal) = 0) /\ (ge_balance_negative_proper_decision_yesquotientproductoutputreal) = S ge_signed_half_proper_decision_yesquotientproductoutputrealdecode))) /\ ((((((((ge_first_rp_proper_decision_yesquotientproduct) * (ge_second_rp_proper_decision_yesquotientproduct))) + (((ge_first_rn_proper_decision_yesquotientproduct) * (ge_second_rn_proper_decision_yesquotientproduct))))) + (((((ge_first_ip_proper_decision_yesquotientproduct) * (ge_second_in_proper_decision_yesquotientproduct))) + (((ge_first_in_proper_decision_yesquotientproduct) * (ge_second_ip_proper_decision_yesquotientproduct))))))) + ge_balance_negative_proper_decision_yesquotientproductoutputreal = (((((((ge_first_rp_proper_decision_yesquotientproduct) * (ge_second_rn_proper_decision_yesquotientproduct))) + (((ge_first_rn_proper_decision_yesquotientproduct) * (ge_second_rp_proper_decision_yesquotientproduct))))) + (((((ge_first_ip_proper_decision_yesquotientproduct) * (ge_second_ip_proper_decision_yesquotientproduct))) + (((ge_first_in_proper_decision_yesquotientproduct) * (ge_second_in_proper_decision_yesquotientproduct))))))) + ge_balance_positive_proper_decision_yesquotientproductoutputreal))) /\ (exists ge_balance_positive_proper_decision_yesquotientproductoutputimaginary ge_balance_negative_proper_decision_yesquotientproductoutputimaginary. (((((ge_representation_imaginary_code_proper_decision_yesquotientproductoutput) = 2 * (ge_balance_positive_proper_decision_yesquotientproductoutputimaginary) /\ (ge_balance_negative_proper_decision_yesquotientproductoutputimaginary) = 0) \/ exists ge_signed_half_proper_decision_yesquotientproductoutputimaginarydecode. (((ge_representation_imaginary_code_proper_decision_yesquotientproductoutput) = 2 * ge_signed_half_proper_decision_yesquotientproductoutputimaginarydecode + 1 /\ (ge_balance_positive_proper_decision_yesquotientproductoutputimaginary) = 0) /\ (ge_balance_negative_proper_decision_yesquotientproductoutputimaginary) = S ge_signed_half_proper_decision_yesquotientproductoutputimaginarydecode))) /\ ((((((((ge_first_rp_proper_decision_yesquotientproduct) * (ge_second_ip_proper_decision_yesquotientproduct))) + (((ge_first_rn_proper_decision_yesquotientproduct) * (ge_second_in_proper_decision_yesquotientproduct))))) + (((((ge_first_ip_proper_decision_yesquotientproduct) * (ge_second_rp_proper_decision_yesquotientproduct))) + (((ge_first_in_proper_decision_yesquotientproduct) * (ge_second_rn_proper_decision_yesquotientproduct))))))) + ge_balance_negative_proper_decision_yesquotientproductoutputimaginary = (((((((ge_first_rp_proper_decision_yesquotientproduct) * (ge_second_in_proper_decision_yesquotientproduct))) + (((ge_first_rn_proper_decision_yesquotientproduct) * (ge_second_ip_proper_decision_yesquotientproduct))))) + (((((ge_first_ip_proper_decision_yesquotientproduct) * (ge_second_rn_proper_decision_yesquotientproduct))) + (((ge_first_in_proper_decision_yesquotientproduct) * (ge_second_rp_proper_decision_yesquotientproduct))))))) + ge_balance_positive_proper_decision_yesquotientproductoutputimaginary)))))))))) /\ (exists gr_proper_divisor_norm_proper_decision_yes. ((exists ge_norm_rp_proper_decision_yesnorm ge_norm_rn_proper_decision_yesnorm ge_norm_ip_proper_decision_yesnorm ge_norm_in_proper_decision_yesnorm. ((exists ge_representation_real_code_proper_decision_yesnormrepresentation ge_representation_imaginary_code_proper_decision_yesnormrepresentation. (((d) = ((ge_representation_real_code_proper_decision_yesnormrepresentation) + (ge_representation_imaginary_code_proper_decision_yesnormrepresentation)) * S ((ge_representation_real_code_proper_decision_yesnormrepresentation) + (ge_representation_imaginary_code_proper_decision_yesnormrepresentation)) + ((ge_representation_imaginary_code_proper_decision_yesnormrepresentation) + (ge_representation_imaginary_code_proper_decision_yesnormrepresentation))) /\ ((exists ge_balance_positive_proper_decision_yesnormrepresentationreal ge_balance_negative_proper_decision_yesnormrepresentationreal. (((((ge_representation_real_code_proper_decision_yesnormrepresentation) = 2 * (ge_balance_positive_proper_decision_yesnormrepresentationreal) /\ (ge_balance_negative_proper_decision_yesnormrepresentationreal) = 0) \/ exists ge_signed_half_proper_decision_yesnormrepresentationrealdecode. (((ge_representation_real_code_proper_decision_yesnormrepresentation) = 2 * ge_signed_half_proper_decision_yesnormrepresentationrealdecode + 1 /\ (ge_balance_positive_proper_decision_yesnormrepresentationreal) = 0) /\ (ge_balance_negative_proper_decision_yesnormrepresentationreal) = S ge_signed_half_proper_decision_yesnormrepresentationrealdecode))) /\ ((ge_norm_rp_proper_decision_yesnorm) + ge_balance_negative_proper_decision_yesnormrepresentationreal = (ge_norm_rn_proper_decision_yesnorm) + ge_balance_positive_proper_decision_yesnormrepresentationreal))) /\ (exists ge_balance_positive_proper_decision_yesnormrepresentationimaginary ge_balance_negative_proper_decision_yesnormrepresentationimaginary. (((((ge_representation_imaginary_code_proper_decision_yesnormrepresentation) = 2 * (ge_balance_positive_proper_decision_yesnormrepresentationimaginary) /\ (ge_balance_negative_proper_decision_yesnormrepresentationimaginary) = 0) \/ exists ge_signed_half_proper_decision_yesnormrepresentationimaginarydecode. (((ge_representation_imaginary_code_proper_decision_yesnormrepresentation) = 2 * ge_signed_half_proper_decision_yesnormrepresentationimaginarydecode + 1 /\ (ge_balance_positive_proper_decision_yesnormrepresentationimaginary) = 0) /\ (ge_balance_negative_proper_decision_yesnormrepresentationimaginary) = S ge_signed_half_proper_decision_yesnormrepresentationimaginarydecode))) /\ ((ge_norm_ip_proper_decision_yesnorm) + ge_balance_negative_proper_decision_yesnormrepresentationimaginary = (ge_norm_in_proper_decision_yesnorm) + ge_balance_positive_proper_decision_yesnormrepresentationimaginary)))))) /\ (exists ge_real_square_proper_decision_yesnormsquare ge_imaginary_square_proper_decision_yesnormsquare. ((((((ge_norm_rp_proper_decision_yesnorm) * (ge_norm_rp_proper_decision_yesnorm))) + (((ge_norm_rn_proper_decision_yesnorm) * (ge_norm_rn_proper_decision_yesnorm)))) = ((ge_real_square_proper_decision_yesnormsquare) + (((((ge_norm_rp_proper_decision_yesnorm) * (ge_norm_rn_proper_decision_yesnorm))) + (((ge_norm_rn_proper_decision_yesnorm) * (ge_norm_rp_proper_decision_yesnorm))))))) /\ ((((((ge_norm_ip_proper_decision_yesnorm) * (ge_norm_ip_proper_decision_yesnorm))) + (((ge_norm_in_proper_decision_yesnorm) * (ge_norm_in_proper_decision_yesnorm)))) = ((ge_imaginary_square_proper_decision_yesnormsquare) + (((((ge_norm_ip_proper_decision_yesnorm) * (ge_norm_in_proper_decision_yesnorm))) + (((ge_norm_in_proper_decision_yesnorm) * (ge_norm_ip_proper_decision_yesnorm))))))) /\ ((gr_proper_divisor_norm_proper_decision_yes) = ge_real_square_proper_decision_yesnormsquare + ge_imaginary_square_proper_decision_yesnormsquare)))))) /\ (exists ge_gap_proper_decision_yesstrict. ge_gap_proper_decision_yesstrict + S (gr_proper_divisor_norm_proper_decision_yes) = (N))))))) \/ ~(((~(exists gr_inverse_proper_decision_nononunit. (exists ge_first_rp_proper_decision_nononunitidentity ge_first_rn_proper_decision_nononunitidentity ge_first_ip_proper_decision_nononunitidentity ge_first_in_proper_decision_nononunitidentity ge_second_rp_proper_decision_nononunitidentity ge_second_rn_proper_decision_nononunitidentity ge_second_ip_proper_decision_nononunitidentity ge_second_in_proper_decision_nononunitidentity. ((exists ge_representation_real_code_proper_decision_nononunitidentityfirst ge_representation_imaginary_code_proper_decision_nononunitidentityfirst. (((d) = ((ge_representation_real_code_proper_decision_nononunitidentityfirst) + (ge_representation_imaginary_code_proper_decision_nononunitidentityfirst)) * S ((ge_representation_real_code_proper_decision_nononunitidentityfirst) + (ge_representation_imaginary_code_proper_decision_nononunitidentityfirst)) + ((ge_representation_imaginary_code_proper_decision_nononunitidentityfirst) + (ge_representation_imaginary_code_proper_decision_nononunitidentityfirst))) /\ ((exists ge_balance_positive_proper_decision_nononunitidentityfirstreal ge_balance_negative_proper_decision_nononunitidentityfirstreal. (((((ge_representation_real_code_proper_decision_nononunitidentityfirst) = 2 * (ge_balance_positive_proper_decision_nononunitidentityfirstreal) /\ (ge_balance_negative_proper_decision_nononunitidentityfirstreal) = 0) \/ exists ge_signed_half_proper_decision_nononunitidentityfirstrealdecode. (((ge_representation_real_code_proper_decision_nononunitidentityfirst) = 2 * ge_signed_half_proper_decision_nononunitidentityfirstrealdecode + 1 /\ (ge_balance_positive_proper_decision_nononunitidentityfirstreal) = 0) /\ (ge_balance_negative_proper_decision_nononunitidentityfirstreal) = S ge_signed_half_proper_decision_nononunitidentityfirstrealdecode))) /\ ((ge_first_rp_proper_decision_nononunitidentity) + ge_balance_negative_proper_decision_nononunitidentityfirstreal = (ge_first_rn_proper_decision_nononunitidentity) + ge_balance_positive_proper_decision_nononunitidentityfirstreal))) /\ (exists ge_balance_positive_proper_decision_nononunitidentityfirstimaginary ge_balance_negative_proper_decision_nononunitidentityfirstimaginary. (((((ge_representation_imaginary_code_proper_decision_nononunitidentityfirst) = 2 * (ge_balance_positive_proper_decision_nononunitidentityfirstimaginary) /\ (ge_balance_negative_proper_decision_nononunitidentityfirstimaginary) = 0) \/ exists ge_signed_half_proper_decision_nononunitidentityfirstimaginarydecode. (((ge_representation_imaginary_code_proper_decision_nononunitidentityfirst) = 2 * ge_signed_half_proper_decision_nononunitidentityfirstimaginarydecode + 1 /\ (ge_balance_positive_proper_decision_nononunitidentityfirstimaginary) = 0) /\ (ge_balance_negative_proper_decision_nononunitidentityfirstimaginary) = S ge_signed_half_proper_decision_nononunitidentityfirstimaginarydecode))) /\ ((ge_first_ip_proper_decision_nononunitidentity) + ge_balance_negative_proper_decision_nononunitidentityfirstimaginary = (ge_first_in_proper_decision_nononunitidentity) + ge_balance_positive_proper_decision_nononunitidentityfirstimaginary)))))) /\ ((exists ge_representation_real_code_proper_decision_nononunitidentitysecond ge_representation_imaginary_code_proper_decision_nononunitidentitysecond. (((gr_inverse_proper_decision_nononunit) = ((ge_representation_real_code_proper_decision_nononunitidentitysecond) + (ge_representation_imaginary_code_proper_decision_nononunitidentitysecond)) * S ((ge_representation_real_code_proper_decision_nononunitidentitysecond) + (ge_representation_imaginary_code_proper_decision_nononunitidentitysecond)) + ((ge_representation_imaginary_code_proper_decision_nononunitidentitysecond) + (ge_representation_imaginary_code_proper_decision_nononunitidentitysecond))) /\ ((exists ge_balance_positive_proper_decision_nononunitidentitysecondreal ge_balance_negative_proper_decision_nononunitidentitysecondreal. (((((ge_representation_real_code_proper_decision_nononunitidentitysecond) = 2 * (ge_balance_positive_proper_decision_nononunitidentitysecondreal) /\ (ge_balance_negative_proper_decision_nononunitidentitysecondreal) = 0) \/ exists ge_signed_half_proper_decision_nononunitidentitysecondrealdecode. (((ge_representation_real_code_proper_decision_nononunitidentitysecond) = 2 * ge_signed_half_proper_decision_nononunitidentitysecondrealdecode + 1 /\ (ge_balance_positive_proper_decision_nononunitidentitysecondreal) = 0) /\ (ge_balance_negative_proper_decision_nononunitidentitysecondreal) = S ge_signed_half_proper_decision_nononunitidentitysecondrealdecode))) /\ ((ge_second_rp_proper_decision_nononunitidentity) + ge_balance_negative_proper_decision_nononunitidentitysecondreal = (ge_second_rn_proper_decision_nononunitidentity) + ge_balance_positive_proper_decision_nononunitidentitysecondreal))) /\ (exists ge_balance_positive_proper_decision_nononunitidentitysecondimaginary ge_balance_negative_proper_decision_nononunitidentitysecondimaginary. (((((ge_representation_imaginary_code_proper_decision_nononunitidentitysecond) = 2 * (ge_balance_positive_proper_decision_nononunitidentitysecondimaginary) /\ (ge_balance_negative_proper_decision_nononunitidentitysecondimaginary) = 0) \/ exists ge_signed_half_proper_decision_nononunitidentitysecondimaginarydecode. (((ge_representation_imaginary_code_proper_decision_nononunitidentitysecond) = 2 * ge_signed_half_proper_decision_nononunitidentitysecondimaginarydecode + 1 /\ (ge_balance_positive_proper_decision_nononunitidentitysecondimaginary) = 0) /\ (ge_balance_negative_proper_decision_nononunitidentitysecondimaginary) = S ge_signed_half_proper_decision_nononunitidentitysecondimaginarydecode))) /\ ((ge_second_ip_proper_decision_nononunitidentity) + ge_balance_negative_proper_decision_nononunitidentitysecondimaginary = (ge_second_in_proper_decision_nononunitidentity) + ge_balance_positive_proper_decision_nononunitidentitysecondimaginary)))))) /\ (exists ge_representation_real_code_proper_decision_nononunitidentityoutput ge_representation_imaginary_code_proper_decision_nononunitidentityoutput. (((6) = ((ge_representation_real_code_proper_decision_nononunitidentityoutput) + (ge_representation_imaginary_code_proper_decision_nononunitidentityoutput)) * S ((ge_representation_real_code_proper_decision_nononunitidentityoutput) + (ge_representation_imaginary_code_proper_decision_nononunitidentityoutput)) + ((ge_representation_imaginary_code_proper_decision_nononunitidentityoutput) + (ge_representation_imaginary_code_proper_decision_nononunitidentityoutput))) /\ ((exists ge_balance_positive_proper_decision_nononunitidentityoutputreal ge_balance_negative_proper_decision_nononunitidentityoutputreal. (((((ge_representation_real_code_proper_decision_nononunitidentityoutput) = 2 * (ge_balance_positive_proper_decision_nononunitidentityoutputreal) /\ (ge_balance_negative_proper_decision_nononunitidentityoutputreal) = 0) \/ exists ge_signed_half_proper_decision_nononunitidentityoutputrealdecode. (((ge_representation_real_code_proper_decision_nononunitidentityoutput) = 2 * ge_signed_half_proper_decision_nononunitidentityoutputrealdecode + 1 /\ (ge_balance_positive_proper_decision_nononunitidentityoutputreal) = 0) /\ (ge_balance_negative_proper_decision_nononunitidentityoutputreal) = S ge_signed_half_proper_decision_nononunitidentityoutputrealdecode))) /\ ((((((((ge_first_rp_proper_decision_nononunitidentity) * (ge_second_rp_proper_decision_nononunitidentity))) + (((ge_first_rn_proper_decision_nononunitidentity) * (ge_second_rn_proper_decision_nononunitidentity))))) + (((((ge_first_ip_proper_decision_nononunitidentity) * (ge_second_in_proper_decision_nononunitidentity))) + (((ge_first_in_proper_decision_nononunitidentity) * (ge_second_ip_proper_decision_nononunitidentity))))))) + ge_balance_negative_proper_decision_nononunitidentityoutputreal = (((((((ge_first_rp_proper_decision_nononunitidentity) * (ge_second_rn_proper_decision_nononunitidentity))) + (((ge_first_rn_proper_decision_nononunitidentity) * (ge_second_rp_proper_decision_nononunitidentity))))) + (((((ge_first_ip_proper_decision_nononunitidentity) * (ge_second_ip_proper_decision_nononunitidentity))) + (((ge_first_in_proper_decision_nononunitidentity) * (ge_second_in_proper_decision_nononunitidentity))))))) + ge_balance_positive_proper_decision_nononunitidentityoutputreal))) /\ (exists ge_balance_positive_proper_decision_nononunitidentityoutputimaginary ge_balance_negative_proper_decision_nononunitidentityoutputimaginary. (((((ge_representation_imaginary_code_proper_decision_nononunitidentityoutput) = 2 * (ge_balance_positive_proper_decision_nononunitidentityoutputimaginary) /\ (ge_balance_negative_proper_decision_nononunitidentityoutputimaginary) = 0) \/ exists ge_signed_half_proper_decision_nononunitidentityoutputimaginarydecode. (((ge_representation_imaginary_code_proper_decision_nononunitidentityoutput) = 2 * ge_signed_half_proper_decision_nononunitidentityoutputimaginarydecode + 1 /\ (ge_balance_positive_proper_decision_nononunitidentityoutputimaginary) = 0) /\ (ge_balance_negative_proper_decision_nononunitidentityoutputimaginary) = S ge_signed_half_proper_decision_nononunitidentityoutputimaginarydecode))) /\ ((((((((ge_first_rp_proper_decision_nononunitidentity) * (ge_second_ip_proper_decision_nononunitidentity))) + (((ge_first_rn_proper_decision_nononunitidentity) * (ge_second_in_proper_decision_nononunitidentity))))) + (((((ge_first_ip_proper_decision_nononunitidentity) * (ge_second_rp_proper_decision_nononunitidentity))) + (((ge_first_in_proper_decision_nononunitidentity) * (ge_second_rn_proper_decision_nononunitidentity))))))) + ge_balance_negative_proper_decision_nononunitidentityoutputimaginary = (((((((ge_first_rp_proper_decision_nononunitidentity) * (ge_second_in_proper_decision_nononunitidentity))) + (((ge_first_rn_proper_decision_nononunitidentity) * (ge_second_ip_proper_decision_nononunitidentity))))) + (((((ge_first_ip_proper_decision_nononunitidentity) * (ge_second_rn_proper_decision_nononunitidentity))) + (((ge_first_in_proper_decision_nononunitidentity) * (ge_second_rp_proper_decision_nononunitidentity))))))) + ge_balance_positive_proper_decision_nononunitidentityoutputimaginary))))))))))) /\ ((exists gr_quotient_proper_decision_noquotient. (exists ge_first_rp_proper_decision_noquotientproduct ge_first_rn_proper_decision_noquotientproduct ge_first_ip_proper_decision_noquotientproduct ge_first_in_proper_decision_noquotientproduct ge_second_rp_proper_decision_noquotientproduct ge_second_rn_proper_decision_noquotientproduct ge_second_ip_proper_decision_noquotientproduct ge_second_in_proper_decision_noquotientproduct. ((exists ge_representation_real_code_proper_decision_noquotientproductfirst ge_representation_imaginary_code_proper_decision_noquotientproductfirst. (((d) = ((ge_representation_real_code_proper_decision_noquotientproductfirst) + (ge_representation_imaginary_code_proper_decision_noquotientproductfirst)) * S ((ge_representation_real_code_proper_decision_noquotientproductfirst) + (ge_representation_imaginary_code_proper_decision_noquotientproductfirst)) + ((ge_representation_imaginary_code_proper_decision_noquotientproductfirst) + (ge_representation_imaginary_code_proper_decision_noquotientproductfirst))) /\ ((exists ge_balance_positive_proper_decision_noquotientproductfirstreal ge_balance_negative_proper_decision_noquotientproductfirstreal. (((((ge_representation_real_code_proper_decision_noquotientproductfirst) = 2 * (ge_balance_positive_proper_decision_noquotientproductfirstreal) /\ (ge_balance_negative_proper_decision_noquotientproductfirstreal) = 0) \/ exists ge_signed_half_proper_decision_noquotientproductfirstrealdecode. (((ge_representation_real_code_proper_decision_noquotientproductfirst) = 2 * ge_signed_half_proper_decision_noquotientproductfirstrealdecode + 1 /\ (ge_balance_positive_proper_decision_noquotientproductfirstreal) = 0) /\ (ge_balance_negative_proper_decision_noquotientproductfirstreal) = S ge_signed_half_proper_decision_noquotientproductfirstrealdecode))) /\ ((ge_first_rp_proper_decision_noquotientproduct) + ge_balance_negative_proper_decision_noquotientproductfirstreal = (ge_first_rn_proper_decision_noquotientproduct) + ge_balance_positive_proper_decision_noquotientproductfirstreal))) /\ (exists ge_balance_positive_proper_decision_noquotientproductfirstimaginary ge_balance_negative_proper_decision_noquotientproductfirstimaginary. (((((ge_representation_imaginary_code_proper_decision_noquotientproductfirst) = 2 * (ge_balance_positive_proper_decision_noquotientproductfirstimaginary) /\ (ge_balance_negative_proper_decision_noquotientproductfirstimaginary) = 0) \/ exists ge_signed_half_proper_decision_noquotientproductfirstimaginarydecode. (((ge_representation_imaginary_code_proper_decision_noquotientproductfirst) = 2 * ge_signed_half_proper_decision_noquotientproductfirstimaginarydecode + 1 /\ (ge_balance_positive_proper_decision_noquotientproductfirstimaginary) = 0) /\ (ge_balance_negative_proper_decision_noquotientproductfirstimaginary) = S ge_signed_half_proper_decision_noquotientproductfirstimaginarydecode))) /\ ((ge_first_ip_proper_decision_noquotientproduct) + ge_balance_negative_proper_decision_noquotientproductfirstimaginary = (ge_first_in_proper_decision_noquotientproduct) + ge_balance_positive_proper_decision_noquotientproductfirstimaginary)))))) /\ ((exists ge_representation_real_code_proper_decision_noquotientproductsecond ge_representation_imaginary_code_proper_decision_noquotientproductsecond. (((gr_quotient_proper_decision_noquotient) = ((ge_representation_real_code_proper_decision_noquotientproductsecond) + (ge_representation_imaginary_code_proper_decision_noquotientproductsecond)) * S ((ge_representation_real_code_proper_decision_noquotientproductsecond) + (ge_representation_imaginary_code_proper_decision_noquotientproductsecond)) + ((ge_representation_imaginary_code_proper_decision_noquotientproductsecond) + (ge_representation_imaginary_code_proper_decision_noquotientproductsecond))) /\ ((exists ge_balance_positive_proper_decision_noquotientproductsecondreal ge_balance_negative_proper_decision_noquotientproductsecondreal. (((((ge_representation_real_code_proper_decision_noquotientproductsecond) = 2 * (ge_balance_positive_proper_decision_noquotientproductsecondreal) /\ (ge_balance_negative_proper_decision_noquotientproductsecondreal) = 0) \/ exists ge_signed_half_proper_decision_noquotientproductsecondrealdecode. (((ge_representation_real_code_proper_decision_noquotientproductsecond) = 2 * ge_signed_half_proper_decision_noquotientproductsecondrealdecode + 1 /\ (ge_balance_positive_proper_decision_noquotientproductsecondreal) = 0) /\ (ge_balance_negative_proper_decision_noquotientproductsecondreal) = S ge_signed_half_proper_decision_noquotientproductsecondrealdecode))) /\ ((ge_second_rp_proper_decision_noquotientproduct) + ge_balance_negative_proper_decision_noquotientproductsecondreal = (ge_second_rn_proper_decision_noquotientproduct) + ge_balance_positive_proper_decision_noquotientproductsecondreal))) /\ (exists ge_balance_positive_proper_decision_noquotientproductsecondimaginary ge_balance_negative_proper_decision_noquotientproductsecondimaginary. (((((ge_representation_imaginary_code_proper_decision_noquotientproductsecond) = 2 * (ge_balance_positive_proper_decision_noquotientproductsecondimaginary) /\ (ge_balance_negative_proper_decision_noquotientproductsecondimaginary) = 0) \/ exists ge_signed_half_proper_decision_noquotientproductsecondimaginarydecode. (((ge_representation_imaginary_code_proper_decision_noquotientproductsecond) = 2 * ge_signed_half_proper_decision_noquotientproductsecondimaginarydecode + 1 /\ (ge_balance_positive_proper_decision_noquotientproductsecondimaginary) = 0) /\ (ge_balance_negative_proper_decision_noquotientproductsecondimaginary) = S ge_signed_half_proper_decision_noquotientproductsecondimaginarydecode))) /\ ((ge_second_ip_proper_decision_noquotientproduct) + ge_balance_negative_proper_decision_noquotientproductsecondimaginary = (ge_second_in_proper_decision_noquotientproduct) + ge_balance_positive_proper_decision_noquotientproductsecondimaginary)))))) /\ (exists ge_representation_real_code_proper_decision_noquotientproductoutput ge_representation_imaginary_code_proper_decision_noquotientproductoutput. (((z) = ((ge_representation_real_code_proper_decision_noquotientproductoutput) + (ge_representation_imaginary_code_proper_decision_noquotientproductoutput)) * S ((ge_representation_real_code_proper_decision_noquotientproductoutput) + (ge_representation_imaginary_code_proper_decision_noquotientproductoutput)) + ((ge_representation_imaginary_code_proper_decision_noquotientproductoutput) + (ge_representation_imaginary_code_proper_decision_noquotientproductoutput))) /\ ((exists ge_balance_positive_proper_decision_noquotientproductoutputreal ge_balance_negative_proper_decision_noquotientproductoutputreal. (((((ge_representation_real_code_proper_decision_noquotientproductoutput) = 2 * (ge_balance_positive_proper_decision_noquotientproductoutputreal) /\ (ge_balance_negative_proper_decision_noquotientproductoutputreal) = 0) \/ exists ge_signed_half_proper_decision_noquotientproductoutputrealdecode. (((ge_representation_real_code_proper_decision_noquotientproductoutput) = 2 * ge_signed_half_proper_decision_noquotientproductoutputrealdecode + 1 /\ (ge_balance_positive_proper_decision_noquotientproductoutputreal) = 0) /\ (ge_balance_negative_proper_decision_noquotientproductoutputreal) = S ge_signed_half_proper_decision_noquotientproductoutputrealdecode))) /\ ((((((((ge_first_rp_proper_decision_noquotientproduct) * (ge_second_rp_proper_decision_noquotientproduct))) + (((ge_first_rn_proper_decision_noquotientproduct) * (ge_second_rn_proper_decision_noquotientproduct))))) + (((((ge_first_ip_proper_decision_noquotientproduct) * (ge_second_in_proper_decision_noquotientproduct))) + (((ge_first_in_proper_decision_noquotientproduct) * (ge_second_ip_proper_decision_noquotientproduct))))))) + ge_balance_negative_proper_decision_noquotientproductoutputreal = (((((((ge_first_rp_proper_decision_noquotientproduct) * (ge_second_rn_proper_decision_noquotientproduct))) + (((ge_first_rn_proper_decision_noquotientproduct) * (ge_second_rp_proper_decision_noquotientproduct))))) + (((((ge_first_ip_proper_decision_noquotientproduct) * (ge_second_ip_proper_decision_noquotientproduct))) + (((ge_first_in_proper_decision_noquotientproduct) * (ge_second_in_proper_decision_noquotientproduct))))))) + ge_balance_positive_proper_decision_noquotientproductoutputreal))) /\ (exists ge_balance_positive_proper_decision_noquotientproductoutputimaginary ge_balance_negative_proper_decision_noquotientproductoutputimaginary. (((((ge_representation_imaginary_code_proper_decision_noquotientproductoutput) = 2 * (ge_balance_positive_proper_decision_noquotientproductoutputimaginary) /\ (ge_balance_negative_proper_decision_noquotientproductoutputimaginary) = 0) \/ exists ge_signed_half_proper_decision_noquotientproductoutputimaginarydecode. (((ge_representation_imaginary_code_proper_decision_noquotientproductoutput) = 2 * ge_signed_half_proper_decision_noquotientproductoutputimaginarydecode + 1 /\ (ge_balance_positive_proper_decision_noquotientproductoutputimaginary) = 0) /\ (ge_balance_negative_proper_decision_noquotientproductoutputimaginary) = S ge_signed_half_proper_decision_noquotientproductoutputimaginarydecode))) /\ ((((((((ge_first_rp_proper_decision_noquotientproduct) * (ge_second_ip_proper_decision_noquotientproduct))) + (((ge_first_rn_proper_decision_noquotientproduct) * (ge_second_in_proper_decision_noquotientproduct))))) + (((((ge_first_ip_proper_decision_noquotientproduct) * (ge_second_rp_proper_decision_noquotientproduct))) + (((ge_first_in_proper_decision_noquotientproduct) * (ge_second_rn_proper_decision_noquotientproduct))))))) + ge_balance_negative_proper_decision_noquotientproductoutputimaginary = (((((((ge_first_rp_proper_decision_noquotientproduct) * (ge_second_in_proper_decision_noquotientproduct))) + (((ge_first_rn_proper_decision_noquotientproduct) * (ge_second_ip_proper_decision_noquotientproduct))))) + (((((ge_first_ip_proper_decision_noquotientproduct) * (ge_second_rn_proper_decision_noquotientproduct))) + (((ge_first_in_proper_decision_noquotientproduct) * (ge_second_rp_proper_decision_noquotientproduct))))))) + ge_balance_positive_proper_decision_noquotientproductoutputimaginary)))))))))) /\ (exists gr_proper_divisor_norm_proper_decision_no. ((exists ge_norm_rp_proper_decision_nonorm ge_norm_rn_proper_decision_nonorm ge_norm_ip_proper_decision_nonorm ge_norm_in_proper_decision_nonorm. ((exists ge_representation_real_code_proper_decision_nonormrepresentation ge_representation_imaginary_code_proper_decision_nonormrepresentation. (((d) = ((ge_representation_real_code_proper_decision_nonormrepresentation) + (ge_representation_imaginary_code_proper_decision_nonormrepresentation)) * S ((ge_representation_real_code_proper_decision_nonormrepresentation) + (ge_representation_imaginary_code_proper_decision_nonormrepresentation)) + ((ge_representation_imaginary_code_proper_decision_nonormrepresentation) + (ge_representation_imaginary_code_proper_decision_nonormrepresentation))) /\ ((exists ge_balance_positive_proper_decision_nonormrepresentationreal ge_balance_negative_proper_decision_nonormrepresentationreal. (((((ge_representation_real_code_proper_decision_nonormrepresentation) = 2 * (ge_balance_positive_proper_decision_nonormrepresentationreal) /\ (ge_balance_negative_proper_decision_nonormrepresentationreal) = 0) \/ exists ge_signed_half_proper_decision_nonormrepresentationrealdecode. (((ge_representation_real_code_proper_decision_nonormrepresentation) = 2 * ge_signed_half_proper_decision_nonormrepresentationrealdecode + 1 /\ (ge_balance_positive_proper_decision_nonormrepresentationreal) = 0) /\ (ge_balance_negative_proper_decision_nonormrepresentationreal) = S ge_signed_half_proper_decision_nonormrepresentationrealdecode))) /\ ((ge_norm_rp_proper_decision_nonorm) + ge_balance_negative_proper_decision_nonormrepresentationreal = (ge_norm_rn_proper_decision_nonorm) + ge_balance_positive_proper_decision_nonormrepresentationreal))) /\ (exists ge_balance_positive_proper_decision_nonormrepresentationimaginary ge_balance_negative_proper_decision_nonormrepresentationimaginary. (((((ge_representation_imaginary_code_proper_decision_nonormrepresentation) = 2 * (ge_balance_positive_proper_decision_nonormrepresentationimaginary) /\ (ge_balance_negative_proper_decision_nonormrepresentationimaginary) = 0) \/ exists ge_signed_half_proper_decision_nonormrepresentationimaginarydecode. (((ge_representation_imaginary_code_proper_decision_nonormrepresentation) = 2 * ge_signed_half_proper_decision_nonormrepresentationimaginarydecode + 1 /\ (ge_balance_positive_proper_decision_nonormrepresentationimaginary) = 0) /\ (ge_balance_negative_proper_decision_nonormrepresentationimaginary) = S ge_signed_half_proper_decision_nonormrepresentationimaginarydecode))) /\ ((ge_norm_ip_proper_decision_nonorm) + ge_balance_negative_proper_decision_nonormrepresentationimaginary = (ge_norm_in_proper_decision_nonorm) + ge_balance_positive_proper_decision_nonormrepresentationimaginary)))))) /\ (exists ge_real_square_proper_decision_nonormsquare ge_imaginary_square_proper_decision_nonormsquare. ((((((ge_norm_rp_proper_decision_nonorm) * (ge_norm_rp_proper_decision_nonorm))) + (((ge_norm_rn_proper_decision_nonorm) * (ge_norm_rn_proper_decision_nonorm)))) = ((ge_real_square_proper_decision_nonormsquare) + (((((ge_norm_rp_proper_decision_nonorm) * (ge_norm_rn_proper_decision_nonorm))) + (((ge_norm_rn_proper_decision_nonorm) * (ge_norm_rp_proper_decision_nonorm))))))) /\ ((((((ge_norm_ip_proper_decision_nonorm) * (ge_norm_ip_proper_decision_nonorm))) + (((ge_norm_in_proper_decision_nonorm) * (ge_norm_in_proper_decision_nonorm)))) = ((ge_imaginary_square_proper_decision_nonormsquare) + (((((ge_norm_ip_proper_decision_nonorm) * (ge_norm_in_proper_decision_nonorm))) + (((ge_norm_in_proper_decision_nonorm) * (ge_norm_ip_proper_decision_nonorm))))))) /\ ((gr_proper_divisor_norm_proper_decision_no) = ge_real_square_proper_decision_nonormsquare + ge_imaginary_square_proper_decision_nonormsquare)))))) /\ (exists ge_gap_proper_decision_nostrict. ge_gap_proper_decision_nostrict + S (gr_proper_divisor_norm_proper_decision_no) = (N)))))))

Constructive proof overview

Generated structural guide

Decide a genuine nonunit divisor and strict actual norm bound using G081 division, norm functionality and natural order decision.

The unchanged tactic script uses 6 declared prerequisites and contains 66 exact native proof lines.

Alpha v34 checked-use · first admitted v30 · independently kernel and Lean verified; not Stable

Proof neighborhood

Direct dependencies

GF001C gaussian_unit_decidable GF0053 gaussian_divides_decidable gaussian_norm_exists Alpha theorem; checked-use authorized le_or_lt Stable theorem; checked-use authorized gaussian_norm_functional Alpha theorem; checked-use authorized lt_not_le Stable theorem; checked-use authorized

Direct 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

66 script commands · 27 reading checkpoints · 5 local claims

This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.

Named ingredients (2)

Long local formulas use this family’s existing definitions. Each new abbreviation was expanded back to the identical native formula, including its free-variable context. The original edition is preserved below.

01Fix variables and assumptionsL1–5

Work with arbitrary variables or the premises of the current implication.

  1. L1
    intro d
  2. L2
    intro z
  3. L3
    intro N
  4. L4
    intro hd
  5. L5
    intro hz
02Establish huL6–9

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian unit decidable.

  1. L6
    have hu : GUnit(d) ∨ ¬GUnit(d)Definitions: GUnit
  2. L7
    specialize gaussian_unit_decidable (d)
  3. L8
    apply gaussian_unit_decidable
  4. L9
    exact hd
03Separate the logical casesL10–11

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L10
    cases hu
  2. L11
    right
04Fix variables and assumptionsL12–12

Work with arbitrary variables or the premises of the current implication.

  1. L12
    intro hp
05Separate the logical casesL13–13

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L13
    cases hp
06Use earlier factsL14–15

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L14
    apply hp_left
  2. L15
    exact hu_left
07Establish hvL16–21

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian divides decidable.

  1. L16
    have hv : GDvd(d,z) ∨ ¬GDvd(d,z)Definitions: GDvd
  2. L17
    specialize gaussian_divides_decidable (d)
  3. L18
    specialize gaussian_divides_decidable (z)
  4. L19
    apply gaussian_divides_decidable
  5. L20
    exact hd
  6. L21
    exact hz
08Separate the logical casesL22–22

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L22
    cases hv
09Establish hnL23–26

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian norm exists.

  1. L23
    have hn : ∃ D. GNorm(d,D)Definitions: GNorm
  2. L24
    specialize gaussian_norm_exists (d)
  3. L25
    apply gaussian_norm_exists
  4. L26
    exact hd
10Separate the logical casesL27–27

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L27
    cases hn
11Establish hbL28–31

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le or lt.

  1. L28
    have hb : (exists ge_gap_proper_bound_no. ge_gap_proper_bound_no + (N) = (x)) \/ (exists ge_gap_proper_bound_yes. ge_gap_proper_bound_yes + S (x) = (N))
  2. L29
    specialize le_or_lt (N)
  3. L30
    specialize le_or_lt (x)
  4. L31
    apply le_or_lt
12Separate the logical casesL32–33

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L32
    cases hb
  2. L33
    right
13Fix variables and assumptionsL34–34

Work with arbitrary variables or the premises of the current implication.

  1. L34
    intro hp
14Separate the logical casesL35–38

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L35
    cases hp
  2. L36
    cases hp_right
  3. L37
    cases hp_right_right
  4. L38
    cases hp_right_right_witness
15Establish heqL39–48

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian norm functional.

  1. L39
    have heq : x1=x
  2. L40
    specialize gaussian_norm_functional (d)
  3. L41
    specialize gaussian_norm_functional (x1)
  4. L42
    specialize gaussian_norm_functional (x)
  5. L43
    apply gaussian_norm_functional
  6. L44
    exact hp_right_right_witness_left
  7. L45
    exact hn_witness
  8. L46
    rewrite heq at hp_right_right_witness_right
  9. L47
    specialize lt_not_le (x)
  10. L48
    specialize lt_not_le (N)
16Use earlier factsL49–51

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L49
    apply lt_not_le
  2. L50
    exact hp_right_right_witness_right
  3. L51
    exact hb_left
17Separate the logical casesL52–53

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L52
    left
  2. L53
    split
18Use earlier factsL54–54

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L54
    exact hu_right
19Separate the logical casesL55–55

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L55
    split
20Use earlier factsL56–56

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L56
    exact hv_left
21Construct an explicit witnessL57–57

Supply the displayed value, then prove that it has the required property.

  1. L57
    exists (x)
22Separate the logical casesL58–58

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L58
    split
23Use earlier factsL59–60

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L59
    exact hn_witness
  2. L60
    exact hb_right
24Separate the logical casesL61–61

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L61
    right
25Fix variables and assumptionsL62–62

Work with arbitrary variables or the premises of the current implication.

  1. L62
    intro hp
26Separate the logical casesL63–64

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L63
    cases hp
  2. L64
    cases hp_right
27Use earlier factsL65–66

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L65
    apply hv_right
  2. L66
    exact hp_right_left

Library-wide reading audit

Original exact command ledger · 66 lines
  1. 0001intro d
  2. 0002intro z
  3. 0003intro N
  4. 0004intro hd
  5. 0005intro hz
  6. 0006have hu : (exists gr_inverse_proper_unit_yes. (exists ge_first_rp_proper_unit_yesidentity ge_first_rn_proper_unit_yesidentity ge_first_ip_proper_unit_yesidentity ge_first_in_proper_unit_yesidentity ge_second_rp_proper_unit_yesidentity ge_second_rn_proper_unit_yesidentity ge_second_ip_proper_unit_yesidentity ge_second_in_proper_unit_yesidentity. ((exists ge_representation_real_code_proper_unit_yesidentityfirst ge_representation_imaginary_code_proper_unit_yesidentityfirst. (((d) = ((ge_representation_real_code_proper_unit_yesidentityfirst) + (ge_representation_imaginary_code_proper_unit_yesidentityfirst)) * S ((ge_representation_real_code_proper_unit_yesidentityfirst) + (ge_representation_imaginary_code_proper_unit_yesidentityfirst)) + ((ge_representation_imaginary_code_proper_unit_yesidentityfirst) + (ge_representation_imaginary_code_proper_unit_yesidentityfirst))) /\ ((exists ge_balance_positive_proper_unit_yesidentityfirstreal ge_balance_negative_proper_unit_yesidentityfirstreal. (((((ge_representation_real_code_proper_unit_yesidentityfirst) = 2 * (ge_balance_positive_proper_unit_yesidentityfirstreal) /\ (ge_balance_negative_proper_unit_yesidentityfirstreal) = 0) \/ exists ge_signed_half_proper_unit_yesidentityfirstrealdecode. (((ge_representation_real_code_proper_unit_yesidentityfirst) = 2 * ge_signed_half_proper_unit_yesidentityfirstrealdecode + 1 /\ (ge_balance_positive_proper_unit_yesidentityfirstreal) = 0) /\ (ge_balance_negative_proper_unit_yesidentityfirstreal) = S ge_signed_half_proper_unit_yesidentityfirstrealdecode))) /\ ((ge_first_rp_proper_unit_yesidentity) + ge_balance_negative_proper_unit_yesidentityfirstreal = (ge_first_rn_proper_unit_yesidentity) + ge_balance_positive_proper_unit_yesidentityfirstreal))) /\ (exists ge_balance_positive_proper_unit_yesidentityfirstimaginary ge_balance_negative_proper_unit_yesidentityfirstimaginary. (((((ge_representation_imaginary_code_proper_unit_yesidentityfirst) = 2 * (ge_balance_positive_proper_unit_yesidentityfirstimaginary) /\ (ge_balance_negative_proper_unit_yesidentityfirstimaginary) = 0) \/ exists ge_signed_half_proper_unit_yesidentityfirstimaginarydecode. (((ge_representation_imaginary_code_proper_unit_yesidentityfirst) = 2 * ge_signed_half_proper_unit_yesidentityfirstimaginarydecode + 1 /\ (ge_balance_positive_proper_unit_yesidentityfirstimaginary) = 0) /\ (ge_balance_negative_proper_unit_yesidentityfirstimaginary) = S ge_signed_half_proper_unit_yesidentityfirstimaginarydecode))) /\ ((ge_first_ip_proper_unit_yesidentity) + ge_balance_negative_proper_unit_yesidentityfirstimaginary = (ge_first_in_proper_unit_yesidentity) + ge_balance_positive_proper_unit_yesidentityfirstimaginary)))))) /\ ((exists ge_representation_real_code_proper_unit_yesidentitysecond ge_representation_imaginary_code_proper_unit_yesidentitysecond. (((gr_inverse_proper_unit_yes) = ((ge_representation_real_code_proper_unit_yesidentitysecond) + (ge_representation_imaginary_code_proper_unit_yesidentitysecond)) * S ((ge_representation_real_code_proper_unit_yesidentitysecond) + (ge_representation_imaginary_code_proper_unit_yesidentitysecond)) + ((ge_representation_imaginary_code_proper_unit_yesidentitysecond) + (ge_representation_imaginary_code_proper_unit_yesidentitysecond))) /\ ((exists ge_balance_positive_proper_unit_yesidentitysecondreal ge_balance_negative_proper_unit_yesidentitysecondreal. (((((ge_representation_real_code_proper_unit_yesidentitysecond) = 2 * (ge_balance_positive_proper_unit_yesidentitysecondreal) /\ (ge_balance_negative_proper_unit_yesidentitysecondreal) = 0) \/ exists ge_signed_half_proper_unit_yesidentitysecondrealdecode. (((ge_representation_real_code_proper_unit_yesidentitysecond) = 2 * ge_signed_half_proper_unit_yesidentitysecondrealdecode + 1 /\ (ge_balance_positive_proper_unit_yesidentitysecondreal) = 0) /\ (ge_balance_negative_proper_unit_yesidentitysecondreal) = S ge_signed_half_proper_unit_yesidentitysecondrealdecode))) /\ ((ge_second_rp_proper_unit_yesidentity) + ge_balance_negative_proper_unit_yesidentitysecondreal = (ge_second_rn_proper_unit_yesidentity) + ge_balance_positive_proper_unit_yesidentitysecondreal))) /\ (exists ge_balance_positive_proper_unit_yesidentitysecondimaginary ge_balance_negative_proper_unit_yesidentitysecondimaginary. (((((ge_representation_imaginary_code_proper_unit_yesidentitysecond) = 2 * (ge_balance_positive_proper_unit_yesidentitysecondimaginary) /\ (ge_balance_negative_proper_unit_yesidentitysecondimaginary) = 0) \/ exists ge_signed_half_proper_unit_yesidentitysecondimaginarydecode. (((ge_representation_imaginary_code_proper_unit_yesidentitysecond) = 2 * ge_signed_half_proper_unit_yesidentitysecondimaginarydecode + 1 /\ (ge_balance_positive_proper_unit_yesidentitysecondimaginary) = 0) /\ (ge_balance_negative_proper_unit_yesidentitysecondimaginary) = S ge_signed_half_proper_unit_yesidentitysecondimaginarydecode))) /\ ((ge_second_ip_proper_unit_yesidentity) + ge_balance_negative_proper_unit_yesidentitysecondimaginary = (ge_second_in_proper_unit_yesidentity) + ge_balance_positive_proper_unit_yesidentitysecondimaginary)))))) /\ (exists ge_representation_real_code_proper_unit_yesidentityoutput ge_representation_imaginary_code_proper_unit_yesidentityoutput. (((6) = ((ge_representation_real_code_proper_unit_yesidentityoutput) + (ge_representation_imaginary_code_proper_unit_yesidentityoutput)) * S ((ge_representation_real_code_proper_unit_yesidentityoutput) + (ge_representation_imaginary_code_proper_unit_yesidentityoutput)) + ((ge_representation_imaginary_code_proper_unit_yesidentityoutput) + (ge_representation_imaginary_code_proper_unit_yesidentityoutput))) /\ ((exists ge_balance_positive_proper_unit_yesidentityoutputreal ge_balance_negative_proper_unit_yesidentityoutputreal. (((((ge_representation_real_code_proper_unit_yesidentityoutput) = 2 * (ge_balance_positive_proper_unit_yesidentityoutputreal) /\ (ge_balance_negative_proper_unit_yesidentityoutputreal) = 0) \/ exists ge_signed_half_proper_unit_yesidentityoutputrealdecode. (((ge_representation_real_code_proper_unit_yesidentityoutput) = 2 * ge_signed_half_proper_unit_yesidentityoutputrealdecode + 1 /\ (ge_balance_positive_proper_unit_yesidentityoutputreal) = 0) /\ (ge_balance_negative_proper_unit_yesidentityoutputreal) = S ge_signed_half_proper_unit_yesidentityoutputrealdecode))) /\ ((((((((ge_first_rp_proper_unit_yesidentity) * (ge_second_rp_proper_unit_yesidentity))) + (((ge_first_rn_proper_unit_yesidentity) * (ge_second_rn_proper_unit_yesidentity))))) + (((((ge_first_ip_proper_unit_yesidentity) * (ge_second_in_proper_unit_yesidentity))) + (((ge_first_in_proper_unit_yesidentity) * (ge_second_ip_proper_unit_yesidentity))))))) + ge_balance_negative_proper_unit_yesidentityoutputreal = (((((((ge_first_rp_proper_unit_yesidentity) * (ge_second_rn_proper_unit_yesidentity))) + (((ge_first_rn_proper_unit_yesidentity) * (ge_second_rp_proper_unit_yesidentity))))) + (((((ge_first_ip_proper_unit_yesidentity) * (ge_second_ip_proper_unit_yesidentity))) + (((ge_first_in_proper_unit_yesidentity) * (ge_second_in_proper_unit_yesidentity))))))) + ge_balance_positive_proper_unit_yesidentityoutputreal))) /\ (exists ge_balance_positive_proper_unit_yesidentityoutputimaginary ge_balance_negative_proper_unit_yesidentityoutputimaginary. (((((ge_representation_imaginary_code_proper_unit_yesidentityoutput) = 2 * (ge_balance_positive_proper_unit_yesidentityoutputimaginary) /\ (ge_balance_negative_proper_unit_yesidentityoutputimaginary) = 0) \/ exists ge_signed_half_proper_unit_yesidentityoutputimaginarydecode. (((ge_representation_imaginary_code_proper_unit_yesidentityoutput) = 2 * ge_signed_half_proper_unit_yesidentityoutputimaginarydecode + 1 /\ (ge_balance_positive_proper_unit_yesidentityoutputimaginary) = 0) /\ (ge_balance_negative_proper_unit_yesidentityoutputimaginary) = S ge_signed_half_proper_unit_yesidentityoutputimaginarydecode))) /\ ((((((((ge_first_rp_proper_unit_yesidentity) * (ge_second_ip_proper_unit_yesidentity))) + (((ge_first_rn_proper_unit_yesidentity) * (ge_second_in_proper_unit_yesidentity))))) + (((((ge_first_ip_proper_unit_yesidentity) * (ge_second_rp_proper_unit_yesidentity))) + (((ge_first_in_proper_unit_yesidentity) * (ge_second_rn_proper_unit_yesidentity))))))) + ge_balance_negative_proper_unit_yesidentityoutputimaginary = (((((((ge_first_rp_proper_unit_yesidentity) * (ge_second_in_proper_unit_yesidentity))) + (((ge_first_rn_proper_unit_yesidentity) * (ge_second_ip_proper_unit_yesidentity))))) + (((((ge_first_ip_proper_unit_yesidentity) * (ge_second_rn_proper_unit_yesidentity))) + (((ge_first_in_proper_unit_yesidentity) * (ge_second_rp_proper_unit_yesidentity))))))) + ge_balance_positive_proper_unit_yesidentityoutputimaginary)))))))))) \/ ~(exists gr_inverse_proper_unit_no. (exists ge_first_rp_proper_unit_noidentity ge_first_rn_proper_unit_noidentity ge_first_ip_proper_unit_noidentity ge_first_in_proper_unit_noidentity ge_second_rp_proper_unit_noidentity ge_second_rn_proper_unit_noidentity ge_second_ip_proper_unit_noidentity ge_second_in_proper_unit_noidentity. ((exists ge_representation_real_code_proper_unit_noidentityfirst ge_representation_imaginary_code_proper_unit_noidentityfirst. (((d) = ((ge_representation_real_code_proper_unit_noidentityfirst) + (ge_representation_imaginary_code_proper_unit_noidentityfirst)) * S ((ge_representation_real_code_proper_unit_noidentityfirst) + (ge_representation_imaginary_code_proper_unit_noidentityfirst)) + ((ge_representation_imaginary_code_proper_unit_noidentityfirst) + (ge_representation_imaginary_code_proper_unit_noidentityfirst))) /\ ((exists ge_balance_positive_proper_unit_noidentityfirstreal ge_balance_negative_proper_unit_noidentityfirstreal. (((((ge_representation_real_code_proper_unit_noidentityfirst) = 2 * (ge_balance_positive_proper_unit_noidentityfirstreal) /\ (ge_balance_negative_proper_unit_noidentityfirstreal) = 0) \/ exists ge_signed_half_proper_unit_noidentityfirstrealdecode. (((ge_representation_real_code_proper_unit_noidentityfirst) = 2 * ge_signed_half_proper_unit_noidentityfirstrealdecode + 1 /\ (ge_balance_positive_proper_unit_noidentityfirstreal) = 0) /\ (ge_balance_negative_proper_unit_noidentityfirstreal) = S ge_signed_half_proper_unit_noidentityfirstrealdecode))) /\ ((ge_first_rp_proper_unit_noidentity) + ge_balance_negative_proper_unit_noidentityfirstreal = (ge_first_rn_proper_unit_noidentity) + ge_balance_positive_proper_unit_noidentityfirstreal))) /\ (exists ge_balance_positive_proper_unit_noidentityfirstimaginary ge_balance_negative_proper_unit_noidentityfirstimaginary. (((((ge_representation_imaginary_code_proper_unit_noidentityfirst) = 2 * (ge_balance_positive_proper_unit_noidentityfirstimaginary) /\ (ge_balance_negative_proper_unit_noidentityfirstimaginary) = 0) \/ exists ge_signed_half_proper_unit_noidentityfirstimaginarydecode. (((ge_representation_imaginary_code_proper_unit_noidentityfirst) = 2 * ge_signed_half_proper_unit_noidentityfirstimaginarydecode + 1 /\ (ge_balance_positive_proper_unit_noidentityfirstimaginary) = 0) /\ (ge_balance_negative_proper_unit_noidentityfirstimaginary) = S ge_signed_half_proper_unit_noidentityfirstimaginarydecode))) /\ ((ge_first_ip_proper_unit_noidentity) + ge_balance_negative_proper_unit_noidentityfirstimaginary = (ge_first_in_proper_unit_noidentity) + ge_balance_positive_proper_unit_noidentityfirstimaginary)))))) /\ ((exists ge_representation_real_code_proper_unit_noidentitysecond ge_representation_imaginary_code_proper_unit_noidentitysecond. (((gr_inverse_proper_unit_no) = ((ge_representation_real_code_proper_unit_noidentitysecond) + (ge_representation_imaginary_code_proper_unit_noidentitysecond)) * S ((ge_representation_real_code_proper_unit_noidentitysecond) + (ge_representation_imaginary_code_proper_unit_noidentitysecond)) + ((ge_representation_imaginary_code_proper_unit_noidentitysecond) + (ge_representation_imaginary_code_proper_unit_noidentitysecond))) /\ ((exists ge_balance_positive_proper_unit_noidentitysecondreal ge_balance_negative_proper_unit_noidentitysecondreal. (((((ge_representation_real_code_proper_unit_noidentitysecond) = 2 * (ge_balance_positive_proper_unit_noidentitysecondreal) /\ (ge_balance_negative_proper_unit_noidentitysecondreal) = 0) \/ exists ge_signed_half_proper_unit_noidentitysecondrealdecode. (((ge_representation_real_code_proper_unit_noidentitysecond) = 2 * ge_signed_half_proper_unit_noidentitysecondrealdecode + 1 /\ (ge_balance_positive_proper_unit_noidentitysecondreal) = 0) /\ (ge_balance_negative_proper_unit_noidentitysecondreal) = S ge_signed_half_proper_unit_noidentitysecondrealdecode))) /\ ((ge_second_rp_proper_unit_noidentity) + ge_balance_negative_proper_unit_noidentitysecondreal = (ge_second_rn_proper_unit_noidentity) + ge_balance_positive_proper_unit_noidentitysecondreal))) /\ (exists ge_balance_positive_proper_unit_noidentitysecondimaginary ge_balance_negative_proper_unit_noidentitysecondimaginary. (((((ge_representation_imaginary_code_proper_unit_noidentitysecond) = 2 * (ge_balance_positive_proper_unit_noidentitysecondimaginary) /\ (ge_balance_negative_proper_unit_noidentitysecondimaginary) = 0) \/ exists ge_signed_half_proper_unit_noidentitysecondimaginarydecode. (((ge_representation_imaginary_code_proper_unit_noidentitysecond) = 2 * ge_signed_half_proper_unit_noidentitysecondimaginarydecode + 1 /\ (ge_balance_positive_proper_unit_noidentitysecondimaginary) = 0) /\ (ge_balance_negative_proper_unit_noidentitysecondimaginary) = S ge_signed_half_proper_unit_noidentitysecondimaginarydecode))) /\ ((ge_second_ip_proper_unit_noidentity) + ge_balance_negative_proper_unit_noidentitysecondimaginary = (ge_second_in_proper_unit_noidentity) + ge_balance_positive_proper_unit_noidentitysecondimaginary)))))) /\ (exists ge_representation_real_code_proper_unit_noidentityoutput ge_representation_imaginary_code_proper_unit_noidentityoutput. (((6) = ((ge_representation_real_code_proper_unit_noidentityoutput) + (ge_representation_imaginary_code_proper_unit_noidentityoutput)) * S ((ge_representation_real_code_proper_unit_noidentityoutput) + (ge_representation_imaginary_code_proper_unit_noidentityoutput)) + ((ge_representation_imaginary_code_proper_unit_noidentityoutput) + (ge_representation_imaginary_code_proper_unit_noidentityoutput))) /\ ((exists ge_balance_positive_proper_unit_noidentityoutputreal ge_balance_negative_proper_unit_noidentityoutputreal. (((((ge_representation_real_code_proper_unit_noidentityoutput) = 2 * (ge_balance_positive_proper_unit_noidentityoutputreal) /\ (ge_balance_negative_proper_unit_noidentityoutputreal) = 0) \/ exists ge_signed_half_proper_unit_noidentityoutputrealdecode. (((ge_representation_real_code_proper_unit_noidentityoutput) = 2 * ge_signed_half_proper_unit_noidentityoutputrealdecode + 1 /\ (ge_balance_positive_proper_unit_noidentityoutputreal) = 0) /\ (ge_balance_negative_proper_unit_noidentityoutputreal) = S ge_signed_half_proper_unit_noidentityoutputrealdecode))) /\ ((((((((ge_first_rp_proper_unit_noidentity) * (ge_second_rp_proper_unit_noidentity))) + (((ge_first_rn_proper_unit_noidentity) * (ge_second_rn_proper_unit_noidentity))))) + (((((ge_first_ip_proper_unit_noidentity) * (ge_second_in_proper_unit_noidentity))) + (((ge_first_in_proper_unit_noidentity) * (ge_second_ip_proper_unit_noidentity))))))) + ge_balance_negative_proper_unit_noidentityoutputreal = (((((((ge_first_rp_proper_unit_noidentity) * (ge_second_rn_proper_unit_noidentity))) + (((ge_first_rn_proper_unit_noidentity) * (ge_second_rp_proper_unit_noidentity))))) + (((((ge_first_ip_proper_unit_noidentity) * (ge_second_ip_proper_unit_noidentity))) + (((ge_first_in_proper_unit_noidentity) * (ge_second_in_proper_unit_noidentity))))))) + ge_balance_positive_proper_unit_noidentityoutputreal))) /\ (exists ge_balance_positive_proper_unit_noidentityoutputimaginary ge_balance_negative_proper_unit_noidentityoutputimaginary. (((((ge_representation_imaginary_code_proper_unit_noidentityoutput) = 2 * (ge_balance_positive_proper_unit_noidentityoutputimaginary) /\ (ge_balance_negative_proper_unit_noidentityoutputimaginary) = 0) \/ exists ge_signed_half_proper_unit_noidentityoutputimaginarydecode. (((ge_representation_imaginary_code_proper_unit_noidentityoutput) = 2 * ge_signed_half_proper_unit_noidentityoutputimaginarydecode + 1 /\ (ge_balance_positive_proper_unit_noidentityoutputimaginary) = 0) /\ (ge_balance_negative_proper_unit_noidentityoutputimaginary) = S ge_signed_half_proper_unit_noidentityoutputimaginarydecode))) /\ ((((((((ge_first_rp_proper_unit_noidentity) * (ge_second_ip_proper_unit_noidentity))) + (((ge_first_rn_proper_unit_noidentity) * (ge_second_in_proper_unit_noidentity))))) + (((((ge_first_ip_proper_unit_noidentity) * (ge_second_rp_proper_unit_noidentity))) + (((ge_first_in_proper_unit_noidentity) * (ge_second_rn_proper_unit_noidentity))))))) + ge_balance_negative_proper_unit_noidentityoutputimaginary = (((((((ge_first_rp_proper_unit_noidentity) * (ge_second_in_proper_unit_noidentity))) + (((ge_first_rn_proper_unit_noidentity) * (ge_second_ip_proper_unit_noidentity))))) + (((((ge_first_ip_proper_unit_noidentity) * (ge_second_rn_proper_unit_noidentity))) + (((ge_first_in_proper_unit_noidentity) * (ge_second_rp_proper_unit_noidentity))))))) + ge_balance_positive_proper_unit_noidentityoutputimaginary))))))))))
  7. 0007specialize gaussian_unit_decidable (d)
  8. 0008apply gaussian_unit_decidable
  9. 0009exact hd
  10. 0010cases hu
  11. 0011right
  12. 0012intro hp
  13. 0013cases hp
  14. 0014apply hp_left
  15. 0015exact hu_left
  16. 0016have hv : (exists gr_quotient_proper_dvd_yes. (exists ge_first_rp_proper_dvd_yesproduct ge_first_rn_proper_dvd_yesproduct ge_first_ip_proper_dvd_yesproduct ge_first_in_proper_dvd_yesproduct ge_second_rp_proper_dvd_yesproduct ge_second_rn_proper_dvd_yesproduct ge_second_ip_proper_dvd_yesproduct ge_second_in_proper_dvd_yesproduct. ((exists ge_representation_real_code_proper_dvd_yesproductfirst ge_representation_imaginary_code_proper_dvd_yesproductfirst. (((d) = ((ge_representation_real_code_proper_dvd_yesproductfirst) + (ge_representation_imaginary_code_proper_dvd_yesproductfirst)) * S ((ge_representation_real_code_proper_dvd_yesproductfirst) + (ge_representation_imaginary_code_proper_dvd_yesproductfirst)) + ((ge_representation_imaginary_code_proper_dvd_yesproductfirst) + (ge_representation_imaginary_code_proper_dvd_yesproductfirst))) /\ ((exists ge_balance_positive_proper_dvd_yesproductfirstreal ge_balance_negative_proper_dvd_yesproductfirstreal. (((((ge_representation_real_code_proper_dvd_yesproductfirst) = 2 * (ge_balance_positive_proper_dvd_yesproductfirstreal) /\ (ge_balance_negative_proper_dvd_yesproductfirstreal) = 0) \/ exists ge_signed_half_proper_dvd_yesproductfirstrealdecode. (((ge_representation_real_code_proper_dvd_yesproductfirst) = 2 * ge_signed_half_proper_dvd_yesproductfirstrealdecode + 1 /\ (ge_balance_positive_proper_dvd_yesproductfirstreal) = 0) /\ (ge_balance_negative_proper_dvd_yesproductfirstreal) = S ge_signed_half_proper_dvd_yesproductfirstrealdecode))) /\ ((ge_first_rp_proper_dvd_yesproduct) + ge_balance_negative_proper_dvd_yesproductfirstreal = (ge_first_rn_proper_dvd_yesproduct) + ge_balance_positive_proper_dvd_yesproductfirstreal))) /\ (exists ge_balance_positive_proper_dvd_yesproductfirstimaginary ge_balance_negative_proper_dvd_yesproductfirstimaginary. (((((ge_representation_imaginary_code_proper_dvd_yesproductfirst) = 2 * (ge_balance_positive_proper_dvd_yesproductfirstimaginary) /\ (ge_balance_negative_proper_dvd_yesproductfirstimaginary) = 0) \/ exists ge_signed_half_proper_dvd_yesproductfirstimaginarydecode. (((ge_representation_imaginary_code_proper_dvd_yesproductfirst) = 2 * ge_signed_half_proper_dvd_yesproductfirstimaginarydecode + 1 /\ (ge_balance_positive_proper_dvd_yesproductfirstimaginary) = 0) /\ (ge_balance_negative_proper_dvd_yesproductfirstimaginary) = S ge_signed_half_proper_dvd_yesproductfirstimaginarydecode))) /\ ((ge_first_ip_proper_dvd_yesproduct) + ge_balance_negative_proper_dvd_yesproductfirstimaginary = (ge_first_in_proper_dvd_yesproduct) + ge_balance_positive_proper_dvd_yesproductfirstimaginary)))))) /\ ((exists ge_representation_real_code_proper_dvd_yesproductsecond ge_representation_imaginary_code_proper_dvd_yesproductsecond. (((gr_quotient_proper_dvd_yes) = ((ge_representation_real_code_proper_dvd_yesproductsecond) + (ge_representation_imaginary_code_proper_dvd_yesproductsecond)) * S ((ge_representation_real_code_proper_dvd_yesproductsecond) + (ge_representation_imaginary_code_proper_dvd_yesproductsecond)) + ((ge_representation_imaginary_code_proper_dvd_yesproductsecond) + (ge_representation_imaginary_code_proper_dvd_yesproductsecond))) /\ ((exists ge_balance_positive_proper_dvd_yesproductsecondreal ge_balance_negative_proper_dvd_yesproductsecondreal. (((((ge_representation_real_code_proper_dvd_yesproductsecond) = 2 * (ge_balance_positive_proper_dvd_yesproductsecondreal) /\ (ge_balance_negative_proper_dvd_yesproductsecondreal) = 0) \/ exists ge_signed_half_proper_dvd_yesproductsecondrealdecode. (((ge_representation_real_code_proper_dvd_yesproductsecond) = 2 * ge_signed_half_proper_dvd_yesproductsecondrealdecode + 1 /\ (ge_balance_positive_proper_dvd_yesproductsecondreal) = 0) /\ (ge_balance_negative_proper_dvd_yesproductsecondreal) = S ge_signed_half_proper_dvd_yesproductsecondrealdecode))) /\ ((ge_second_rp_proper_dvd_yesproduct) + ge_balance_negative_proper_dvd_yesproductsecondreal = (ge_second_rn_proper_dvd_yesproduct) + ge_balance_positive_proper_dvd_yesproductsecondreal))) /\ (exists ge_balance_positive_proper_dvd_yesproductsecondimaginary ge_balance_negative_proper_dvd_yesproductsecondimaginary. (((((ge_representation_imaginary_code_proper_dvd_yesproductsecond) = 2 * (ge_balance_positive_proper_dvd_yesproductsecondimaginary) /\ (ge_balance_negative_proper_dvd_yesproductsecondimaginary) = 0) \/ exists ge_signed_half_proper_dvd_yesproductsecondimaginarydecode. (((ge_representation_imaginary_code_proper_dvd_yesproductsecond) = 2 * ge_signed_half_proper_dvd_yesproductsecondimaginarydecode + 1 /\ (ge_balance_positive_proper_dvd_yesproductsecondimaginary) = 0) /\ (ge_balance_negative_proper_dvd_yesproductsecondimaginary) = S ge_signed_half_proper_dvd_yesproductsecondimaginarydecode))) /\ ((ge_second_ip_proper_dvd_yesproduct) + ge_balance_negative_proper_dvd_yesproductsecondimaginary = (ge_second_in_proper_dvd_yesproduct) + ge_balance_positive_proper_dvd_yesproductsecondimaginary)))))) /\ (exists ge_representation_real_code_proper_dvd_yesproductoutput ge_representation_imaginary_code_proper_dvd_yesproductoutput. (((z) = ((ge_representation_real_code_proper_dvd_yesproductoutput) + (ge_representation_imaginary_code_proper_dvd_yesproductoutput)) * S ((ge_representation_real_code_proper_dvd_yesproductoutput) + (ge_representation_imaginary_code_proper_dvd_yesproductoutput)) + ((ge_representation_imaginary_code_proper_dvd_yesproductoutput) + (ge_representation_imaginary_code_proper_dvd_yesproductoutput))) /\ ((exists ge_balance_positive_proper_dvd_yesproductoutputreal ge_balance_negative_proper_dvd_yesproductoutputreal. (((((ge_representation_real_code_proper_dvd_yesproductoutput) = 2 * (ge_balance_positive_proper_dvd_yesproductoutputreal) /\ (ge_balance_negative_proper_dvd_yesproductoutputreal) = 0) \/ exists ge_signed_half_proper_dvd_yesproductoutputrealdecode. (((ge_representation_real_code_proper_dvd_yesproductoutput) = 2 * ge_signed_half_proper_dvd_yesproductoutputrealdecode + 1 /\ (ge_balance_positive_proper_dvd_yesproductoutputreal) = 0) /\ (ge_balance_negative_proper_dvd_yesproductoutputreal) = S ge_signed_half_proper_dvd_yesproductoutputrealdecode))) /\ ((((((((ge_first_rp_proper_dvd_yesproduct) * (ge_second_rp_proper_dvd_yesproduct))) + (((ge_first_rn_proper_dvd_yesproduct) * (ge_second_rn_proper_dvd_yesproduct))))) + (((((ge_first_ip_proper_dvd_yesproduct) * (ge_second_in_proper_dvd_yesproduct))) + (((ge_first_in_proper_dvd_yesproduct) * (ge_second_ip_proper_dvd_yesproduct))))))) + ge_balance_negative_proper_dvd_yesproductoutputreal = (((((((ge_first_rp_proper_dvd_yesproduct) * (ge_second_rn_proper_dvd_yesproduct))) + (((ge_first_rn_proper_dvd_yesproduct) * (ge_second_rp_proper_dvd_yesproduct))))) + (((((ge_first_ip_proper_dvd_yesproduct) * (ge_second_ip_proper_dvd_yesproduct))) + (((ge_first_in_proper_dvd_yesproduct) * (ge_second_in_proper_dvd_yesproduct))))))) + ge_balance_positive_proper_dvd_yesproductoutputreal))) /\ (exists ge_balance_positive_proper_dvd_yesproductoutputimaginary ge_balance_negative_proper_dvd_yesproductoutputimaginary. (((((ge_representation_imaginary_code_proper_dvd_yesproductoutput) = 2 * (ge_balance_positive_proper_dvd_yesproductoutputimaginary) /\ (ge_balance_negative_proper_dvd_yesproductoutputimaginary) = 0) \/ exists ge_signed_half_proper_dvd_yesproductoutputimaginarydecode. (((ge_representation_imaginary_code_proper_dvd_yesproductoutput) = 2 * ge_signed_half_proper_dvd_yesproductoutputimaginarydecode + 1 /\ (ge_balance_positive_proper_dvd_yesproductoutputimaginary) = 0) /\ (ge_balance_negative_proper_dvd_yesproductoutputimaginary) = S ge_signed_half_proper_dvd_yesproductoutputimaginarydecode))) /\ ((((((((ge_first_rp_proper_dvd_yesproduct) * (ge_second_ip_proper_dvd_yesproduct))) + (((ge_first_rn_proper_dvd_yesproduct) * (ge_second_in_proper_dvd_yesproduct))))) + (((((ge_first_ip_proper_dvd_yesproduct) * (ge_second_rp_proper_dvd_yesproduct))) + (((ge_first_in_proper_dvd_yesproduct) * (ge_second_rn_proper_dvd_yesproduct))))))) + ge_balance_negative_proper_dvd_yesproductoutputimaginary = (((((((ge_first_rp_proper_dvd_yesproduct) * (ge_second_in_proper_dvd_yesproduct))) + (((ge_first_rn_proper_dvd_yesproduct) * (ge_second_ip_proper_dvd_yesproduct))))) + (((((ge_first_ip_proper_dvd_yesproduct) * (ge_second_rn_proper_dvd_yesproduct))) + (((ge_first_in_proper_dvd_yesproduct) * (ge_second_rp_proper_dvd_yesproduct))))))) + ge_balance_positive_proper_dvd_yesproductoutputimaginary)))))))))) \/ ~(exists gr_quotient_proper_dvd_no. (exists ge_first_rp_proper_dvd_noproduct ge_first_rn_proper_dvd_noproduct ge_first_ip_proper_dvd_noproduct ge_first_in_proper_dvd_noproduct ge_second_rp_proper_dvd_noproduct ge_second_rn_proper_dvd_noproduct ge_second_ip_proper_dvd_noproduct ge_second_in_proper_dvd_noproduct. ((exists ge_representation_real_code_proper_dvd_noproductfirst ge_representation_imaginary_code_proper_dvd_noproductfirst. (((d) = ((ge_representation_real_code_proper_dvd_noproductfirst) + (ge_representation_imaginary_code_proper_dvd_noproductfirst)) * S ((ge_representation_real_code_proper_dvd_noproductfirst) + (ge_representation_imaginary_code_proper_dvd_noproductfirst)) + ((ge_representation_imaginary_code_proper_dvd_noproductfirst) + (ge_representation_imaginary_code_proper_dvd_noproductfirst))) /\ ((exists ge_balance_positive_proper_dvd_noproductfirstreal ge_balance_negative_proper_dvd_noproductfirstreal. (((((ge_representation_real_code_proper_dvd_noproductfirst) = 2 * (ge_balance_positive_proper_dvd_noproductfirstreal) /\ (ge_balance_negative_proper_dvd_noproductfirstreal) = 0) \/ exists ge_signed_half_proper_dvd_noproductfirstrealdecode. (((ge_representation_real_code_proper_dvd_noproductfirst) = 2 * ge_signed_half_proper_dvd_noproductfirstrealdecode + 1 /\ (ge_balance_positive_proper_dvd_noproductfirstreal) = 0) /\ (ge_balance_negative_proper_dvd_noproductfirstreal) = S ge_signed_half_proper_dvd_noproductfirstrealdecode))) /\ ((ge_first_rp_proper_dvd_noproduct) + ge_balance_negative_proper_dvd_noproductfirstreal = (ge_first_rn_proper_dvd_noproduct) + ge_balance_positive_proper_dvd_noproductfirstreal))) /\ (exists ge_balance_positive_proper_dvd_noproductfirstimaginary ge_balance_negative_proper_dvd_noproductfirstimaginary. (((((ge_representation_imaginary_code_proper_dvd_noproductfirst) = 2 * (ge_balance_positive_proper_dvd_noproductfirstimaginary) /\ (ge_balance_negative_proper_dvd_noproductfirstimaginary) = 0) \/ exists ge_signed_half_proper_dvd_noproductfirstimaginarydecode. (((ge_representation_imaginary_code_proper_dvd_noproductfirst) = 2 * ge_signed_half_proper_dvd_noproductfirstimaginarydecode + 1 /\ (ge_balance_positive_proper_dvd_noproductfirstimaginary) = 0) /\ (ge_balance_negative_proper_dvd_noproductfirstimaginary) = S ge_signed_half_proper_dvd_noproductfirstimaginarydecode))) /\ ((ge_first_ip_proper_dvd_noproduct) + ge_balance_negative_proper_dvd_noproductfirstimaginary = (ge_first_in_proper_dvd_noproduct) + ge_balance_positive_proper_dvd_noproductfirstimaginary)))))) /\ ((exists ge_representation_real_code_proper_dvd_noproductsecond ge_representation_imaginary_code_proper_dvd_noproductsecond. (((gr_quotient_proper_dvd_no) = ((ge_representation_real_code_proper_dvd_noproductsecond) + (ge_representation_imaginary_code_proper_dvd_noproductsecond)) * S ((ge_representation_real_code_proper_dvd_noproductsecond) + (ge_representation_imaginary_code_proper_dvd_noproductsecond)) + ((ge_representation_imaginary_code_proper_dvd_noproductsecond) + (ge_representation_imaginary_code_proper_dvd_noproductsecond))) /\ ((exists ge_balance_positive_proper_dvd_noproductsecondreal ge_balance_negative_proper_dvd_noproductsecondreal. (((((ge_representation_real_code_proper_dvd_noproductsecond) = 2 * (ge_balance_positive_proper_dvd_noproductsecondreal) /\ (ge_balance_negative_proper_dvd_noproductsecondreal) = 0) \/ exists ge_signed_half_proper_dvd_noproductsecondrealdecode. (((ge_representation_real_code_proper_dvd_noproductsecond) = 2 * ge_signed_half_proper_dvd_noproductsecondrealdecode + 1 /\ (ge_balance_positive_proper_dvd_noproductsecondreal) = 0) /\ (ge_balance_negative_proper_dvd_noproductsecondreal) = S ge_signed_half_proper_dvd_noproductsecondrealdecode))) /\ ((ge_second_rp_proper_dvd_noproduct) + ge_balance_negative_proper_dvd_noproductsecondreal = (ge_second_rn_proper_dvd_noproduct) + ge_balance_positive_proper_dvd_noproductsecondreal))) /\ (exists ge_balance_positive_proper_dvd_noproductsecondimaginary ge_balance_negative_proper_dvd_noproductsecondimaginary. (((((ge_representation_imaginary_code_proper_dvd_noproductsecond) = 2 * (ge_balance_positive_proper_dvd_noproductsecondimaginary) /\ (ge_balance_negative_proper_dvd_noproductsecondimaginary) = 0) \/ exists ge_signed_half_proper_dvd_noproductsecondimaginarydecode. (((ge_representation_imaginary_code_proper_dvd_noproductsecond) = 2 * ge_signed_half_proper_dvd_noproductsecondimaginarydecode + 1 /\ (ge_balance_positive_proper_dvd_noproductsecondimaginary) = 0) /\ (ge_balance_negative_proper_dvd_noproductsecondimaginary) = S ge_signed_half_proper_dvd_noproductsecondimaginarydecode))) /\ ((ge_second_ip_proper_dvd_noproduct) + ge_balance_negative_proper_dvd_noproductsecondimaginary = (ge_second_in_proper_dvd_noproduct) + ge_balance_positive_proper_dvd_noproductsecondimaginary)))))) /\ (exists ge_representation_real_code_proper_dvd_noproductoutput ge_representation_imaginary_code_proper_dvd_noproductoutput. (((z) = ((ge_representation_real_code_proper_dvd_noproductoutput) + (ge_representation_imaginary_code_proper_dvd_noproductoutput)) * S ((ge_representation_real_code_proper_dvd_noproductoutput) + (ge_representation_imaginary_code_proper_dvd_noproductoutput)) + ((ge_representation_imaginary_code_proper_dvd_noproductoutput) + (ge_representation_imaginary_code_proper_dvd_noproductoutput))) /\ ((exists ge_balance_positive_proper_dvd_noproductoutputreal ge_balance_negative_proper_dvd_noproductoutputreal. (((((ge_representation_real_code_proper_dvd_noproductoutput) = 2 * (ge_balance_positive_proper_dvd_noproductoutputreal) /\ (ge_balance_negative_proper_dvd_noproductoutputreal) = 0) \/ exists ge_signed_half_proper_dvd_noproductoutputrealdecode. (((ge_representation_real_code_proper_dvd_noproductoutput) = 2 * ge_signed_half_proper_dvd_noproductoutputrealdecode + 1 /\ (ge_balance_positive_proper_dvd_noproductoutputreal) = 0) /\ (ge_balance_negative_proper_dvd_noproductoutputreal) = S ge_signed_half_proper_dvd_noproductoutputrealdecode))) /\ ((((((((ge_first_rp_proper_dvd_noproduct) * (ge_second_rp_proper_dvd_noproduct))) + (((ge_first_rn_proper_dvd_noproduct) * (ge_second_rn_proper_dvd_noproduct))))) + (((((ge_first_ip_proper_dvd_noproduct) * (ge_second_in_proper_dvd_noproduct))) + (((ge_first_in_proper_dvd_noproduct) * (ge_second_ip_proper_dvd_noproduct))))))) + ge_balance_negative_proper_dvd_noproductoutputreal = (((((((ge_first_rp_proper_dvd_noproduct) * (ge_second_rn_proper_dvd_noproduct))) + (((ge_first_rn_proper_dvd_noproduct) * (ge_second_rp_proper_dvd_noproduct))))) + (((((ge_first_ip_proper_dvd_noproduct) * (ge_second_ip_proper_dvd_noproduct))) + (((ge_first_in_proper_dvd_noproduct) * (ge_second_in_proper_dvd_noproduct))))))) + ge_balance_positive_proper_dvd_noproductoutputreal))) /\ (exists ge_balance_positive_proper_dvd_noproductoutputimaginary ge_balance_negative_proper_dvd_noproductoutputimaginary. (((((ge_representation_imaginary_code_proper_dvd_noproductoutput) = 2 * (ge_balance_positive_proper_dvd_noproductoutputimaginary) /\ (ge_balance_negative_proper_dvd_noproductoutputimaginary) = 0) \/ exists ge_signed_half_proper_dvd_noproductoutputimaginarydecode. (((ge_representation_imaginary_code_proper_dvd_noproductoutput) = 2 * ge_signed_half_proper_dvd_noproductoutputimaginarydecode + 1 /\ (ge_balance_positive_proper_dvd_noproductoutputimaginary) = 0) /\ (ge_balance_negative_proper_dvd_noproductoutputimaginary) = S ge_signed_half_proper_dvd_noproductoutputimaginarydecode))) /\ ((((((((ge_first_rp_proper_dvd_noproduct) * (ge_second_ip_proper_dvd_noproduct))) + (((ge_first_rn_proper_dvd_noproduct) * (ge_second_in_proper_dvd_noproduct))))) + (((((ge_first_ip_proper_dvd_noproduct) * (ge_second_rp_proper_dvd_noproduct))) + (((ge_first_in_proper_dvd_noproduct) * (ge_second_rn_proper_dvd_noproduct))))))) + ge_balance_negative_proper_dvd_noproductoutputimaginary = (((((((ge_first_rp_proper_dvd_noproduct) * (ge_second_in_proper_dvd_noproduct))) + (((ge_first_rn_proper_dvd_noproduct) * (ge_second_ip_proper_dvd_noproduct))))) + (((((ge_first_ip_proper_dvd_noproduct) * (ge_second_rn_proper_dvd_noproduct))) + (((ge_first_in_proper_dvd_noproduct) * (ge_second_rp_proper_dvd_noproduct))))))) + ge_balance_positive_proper_dvd_noproductoutputimaginary))))))))))
  17. 0017specialize gaussian_divides_decidable (d)
  18. 0018specialize gaussian_divides_decidable (z)
  19. 0019apply gaussian_divides_decidable
  20. 0020exact hd
  21. 0021exact hz
  22. 0022cases hv
  23. 0023have hn : exists D. (exists ge_norm_rp_proper_actual_norm ge_norm_rn_proper_actual_norm ge_norm_ip_proper_actual_norm ge_norm_in_proper_actual_norm. ((exists ge_representation_real_code_proper_actual_normrepresentation ge_representation_imaginary_code_proper_actual_normrepresentation. (((d) = ((ge_representation_real_code_proper_actual_normrepresentation) + (ge_representation_imaginary_code_proper_actual_normrepresentation)) * S ((ge_representation_real_code_proper_actual_normrepresentation) + (ge_representation_imaginary_code_proper_actual_normrepresentation)) + ((ge_representation_imaginary_code_proper_actual_normrepresentation) + (ge_representation_imaginary_code_proper_actual_normrepresentation))) /\ ((exists ge_balance_positive_proper_actual_normrepresentationreal ge_balance_negative_proper_actual_normrepresentationreal. (((((ge_representation_real_code_proper_actual_normrepresentation) = 2 * (ge_balance_positive_proper_actual_normrepresentationreal) /\ (ge_balance_negative_proper_actual_normrepresentationreal) = 0) \/ exists ge_signed_half_proper_actual_normrepresentationrealdecode. (((ge_representation_real_code_proper_actual_normrepresentation) = 2 * ge_signed_half_proper_actual_normrepresentationrealdecode + 1 /\ (ge_balance_positive_proper_actual_normrepresentationreal) = 0) /\ (ge_balance_negative_proper_actual_normrepresentationreal) = S ge_signed_half_proper_actual_normrepresentationrealdecode))) /\ ((ge_norm_rp_proper_actual_norm) + ge_balance_negative_proper_actual_normrepresentationreal = (ge_norm_rn_proper_actual_norm) + ge_balance_positive_proper_actual_normrepresentationreal))) /\ (exists ge_balance_positive_proper_actual_normrepresentationimaginary ge_balance_negative_proper_actual_normrepresentationimaginary. (((((ge_representation_imaginary_code_proper_actual_normrepresentation) = 2 * (ge_balance_positive_proper_actual_normrepresentationimaginary) /\ (ge_balance_negative_proper_actual_normrepresentationimaginary) = 0) \/ exists ge_signed_half_proper_actual_normrepresentationimaginarydecode. (((ge_representation_imaginary_code_proper_actual_normrepresentation) = 2 * ge_signed_half_proper_actual_normrepresentationimaginarydecode + 1 /\ (ge_balance_positive_proper_actual_normrepresentationimaginary) = 0) /\ (ge_balance_negative_proper_actual_normrepresentationimaginary) = S ge_signed_half_proper_actual_normrepresentationimaginarydecode))) /\ ((ge_norm_ip_proper_actual_norm) + ge_balance_negative_proper_actual_normrepresentationimaginary = (ge_norm_in_proper_actual_norm) + ge_balance_positive_proper_actual_normrepresentationimaginary)))))) /\ (exists ge_real_square_proper_actual_normsquare ge_imaginary_square_proper_actual_normsquare. ((((((ge_norm_rp_proper_actual_norm) * (ge_norm_rp_proper_actual_norm))) + (((ge_norm_rn_proper_actual_norm) * (ge_norm_rn_proper_actual_norm)))) = ((ge_real_square_proper_actual_normsquare) + (((((ge_norm_rp_proper_actual_norm) * (ge_norm_rn_proper_actual_norm))) + (((ge_norm_rn_proper_actual_norm) * (ge_norm_rp_proper_actual_norm))))))) /\ ((((((ge_norm_ip_proper_actual_norm) * (ge_norm_ip_proper_actual_norm))) + (((ge_norm_in_proper_actual_norm) * (ge_norm_in_proper_actual_norm)))) = ((ge_imaginary_square_proper_actual_normsquare) + (((((ge_norm_ip_proper_actual_norm) * (ge_norm_in_proper_actual_norm))) + (((ge_norm_in_proper_actual_norm) * (ge_norm_ip_proper_actual_norm))))))) /\ ((D) = ge_real_square_proper_actual_normsquare + ge_imaginary_square_proper_actual_normsquare))))))
  24. 0024specialize gaussian_norm_exists (d)
  25. 0025apply gaussian_norm_exists
  26. 0026exact hd
  27. 0027cases hn
  28. 0028have hb : (exists ge_gap_proper_bound_no. ge_gap_proper_bound_no + (N) = (x)) \/ (exists ge_gap_proper_bound_yes. ge_gap_proper_bound_yes + S (x) = (N))
  29. 0029specialize le_or_lt (N)
  30. 0030specialize le_or_lt (x)
  31. 0031apply le_or_lt
  32. 0032cases hb
  33. 0033right
  34. 0034intro hp
  35. 0035cases hp
  36. 0036cases hp_right
  37. 0037cases hp_right_right
  38. 0038cases hp_right_right_witness
  39. 0039have heq : x1=x
  40. 0040specialize gaussian_norm_functional (d)
  41. 0041specialize gaussian_norm_functional (x1)
  42. 0042specialize gaussian_norm_functional (x)
  43. 0043apply gaussian_norm_functional
  44. 0044exact hp_right_right_witness_left
  45. 0045exact hn_witness
  46. 0046rewrite heq at hp_right_right_witness_right
  47. 0047specialize lt_not_le (x)
  48. 0048specialize lt_not_le (N)
  49. 0049apply lt_not_le
  50. 0050exact hp_right_right_witness_right
  51. 0051exact hb_left
  52. 0052left
  53. 0053split
  54. 0054exact hu_right
  55. 0055split
  56. 0056exact hv_left
  57. 0057exists (x)
  58. 0058split
  59. 0059exact hn_witness
  60. 0060exact hb_right
  61. 0061right
  62. 0062intro hp
  63. 0063cases hp
  64. 0064cases hp_right
  65. 0065apply hv_right
  66. 0066exact hp_right_left