GF007D

gaussian_proper_norm_divisor_split

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

A found proper-norm divisor yields an actual quotient; both factors are nonunits with strictly smaller actual norms.

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 gr_inverse_proper_split_inputnonunit. (exists ge_first_rp_proper_split_inputnonunitidentity ge_first_rn_proper_split_inputnonunitidentity ge_first_ip_proper_split_inputnonunitidentity ge_first_in_proper_split_inputnonunitidentity ge_second_rp_proper_split_inputnonunitidentity ge_second_rn_proper_split_inputnonunitidentity ge_second_ip_proper_split_inputnonunitidentity ge_second_in_proper_split_inputnonunitidentity. ((exists ge_representation_real_code_proper_split_inputnonunitidentityfirst ge_representation_imaginary_code_proper_split_inputnonunitidentityfirst. (((d) = ((ge_representation_real_code_proper_split_inputnonunitidentityfirst) + (ge_representation_imaginary_code_proper_split_inputnonunitidentityfirst)) * S ((ge_representation_real_code_proper_split_inputnonunitidentityfirst) + (ge_representation_imaginary_code_proper_split_inputnonunitidentityfirst)) + ((ge_representation_imaginary_code_proper_split_inputnonunitidentityfirst) + (ge_representation_imaginary_code_proper_split_inputnonunitidentityfirst))) /\ ((exists ge_balance_positive_proper_split_inputnonunitidentityfirstreal ge_balance_negative_proper_split_inputnonunitidentityfirstreal. (((((ge_representation_real_code_proper_split_inputnonunitidentityfirst) = 2 * (ge_balance_positive_proper_split_inputnonunitidentityfirstreal) /\ (ge_balance_negative_proper_split_inputnonunitidentityfirstreal) = 0) \/ exists ge_signed_half_proper_split_inputnonunitidentityfirstrealdecode. (((ge_representation_real_code_proper_split_inputnonunitidentityfirst) = 2 * ge_signed_half_proper_split_inputnonunitidentityfirstrealdecode + 1 /\ (ge_balance_positive_proper_split_inputnonunitidentityfirstreal) = 0) /\ (ge_balance_negative_proper_split_inputnonunitidentityfirstreal) = S ge_signed_half_proper_split_inputnonunitidentityfirstrealdecode))) /\ ((ge_first_rp_proper_split_inputnonunitidentity) + ge_balance_negative_proper_split_inputnonunitidentityfirstreal = (ge_first_rn_proper_split_inputnonunitidentity) + ge_balance_positive_proper_split_inputnonunitidentityfirstreal))) /\ (exists ge_balance_positive_proper_split_inputnonunitidentityfirstimaginary ge_balance_negative_proper_split_inputnonunitidentityfirstimaginary. (((((ge_representation_imaginary_code_proper_split_inputnonunitidentityfirst) = 2 * (ge_balance_positive_proper_split_inputnonunitidentityfirstimaginary) /\ (ge_balance_negative_proper_split_inputnonunitidentityfirstimaginary) = 0) \/ exists ge_signed_half_proper_split_inputnonunitidentityfirstimaginarydecode. (((ge_representation_imaginary_code_proper_split_inputnonunitidentityfirst) = 2 * ge_signed_half_proper_split_inputnonunitidentityfirstimaginarydecode + 1 /\ (ge_balance_positive_proper_split_inputnonunitidentityfirstimaginary) = 0) /\ (ge_balance_negative_proper_split_inputnonunitidentityfirstimaginary) = S ge_signed_half_proper_split_inputnonunitidentityfirstimaginarydecode))) /\ ((ge_first_ip_proper_split_inputnonunitidentity) + ge_balance_negative_proper_split_inputnonunitidentityfirstimaginary = (ge_first_in_proper_split_inputnonunitidentity) + ge_balance_positive_proper_split_inputnonunitidentityfirstimaginary)))))) /\ ((exists ge_representation_real_code_proper_split_inputnonunitidentitysecond ge_representation_imaginary_code_proper_split_inputnonunitidentitysecond. (((gr_inverse_proper_split_inputnonunit) = ((ge_representation_real_code_proper_split_inputnonunitidentitysecond) + (ge_representation_imaginary_code_proper_split_inputnonunitidentitysecond)) * S ((ge_representation_real_code_proper_split_inputnonunitidentitysecond) + (ge_representation_imaginary_code_proper_split_inputnonunitidentitysecond)) + ((ge_representation_imaginary_code_proper_split_inputnonunitidentitysecond) + (ge_representation_imaginary_code_proper_split_inputnonunitidentitysecond))) /\ ((exists ge_balance_positive_proper_split_inputnonunitidentitysecondreal ge_balance_negative_proper_split_inputnonunitidentitysecondreal. (((((ge_representation_real_code_proper_split_inputnonunitidentitysecond) = 2 * (ge_balance_positive_proper_split_inputnonunitidentitysecondreal) /\ (ge_balance_negative_proper_split_inputnonunitidentitysecondreal) = 0) \/ exists ge_signed_half_proper_split_inputnonunitidentitysecondrealdecode. (((ge_representation_real_code_proper_split_inputnonunitidentitysecond) = 2 * ge_signed_half_proper_split_inputnonunitidentitysecondrealdecode + 1 /\ (ge_balance_positive_proper_split_inputnonunitidentitysecondreal) = 0) /\ (ge_balance_negative_proper_split_inputnonunitidentitysecondreal) = S ge_signed_half_proper_split_inputnonunitidentitysecondrealdecode))) /\ ((ge_second_rp_proper_split_inputnonunitidentity) + ge_balance_negative_proper_split_inputnonunitidentitysecondreal = (ge_second_rn_proper_split_inputnonunitidentity) + ge_balance_positive_proper_split_inputnonunitidentitysecondreal))) /\ (exists ge_balance_positive_proper_split_inputnonunitidentitysecondimaginary ge_balance_negative_proper_split_inputnonunitidentitysecondimaginary. (((((ge_representation_imaginary_code_proper_split_inputnonunitidentitysecond) = 2 * (ge_balance_positive_proper_split_inputnonunitidentitysecondimaginary) /\ (ge_balance_negative_proper_split_inputnonunitidentitysecondimaginary) = 0) \/ exists ge_signed_half_proper_split_inputnonunitidentitysecondimaginarydecode. (((ge_representation_imaginary_code_proper_split_inputnonunitidentitysecond) = 2 * ge_signed_half_proper_split_inputnonunitidentitysecondimaginarydecode + 1 /\ (ge_balance_positive_proper_split_inputnonunitidentitysecondimaginary) = 0) /\ (ge_balance_negative_proper_split_inputnonunitidentitysecondimaginary) = S ge_signed_half_proper_split_inputnonunitidentitysecondimaginarydecode))) /\ ((ge_second_ip_proper_split_inputnonunitidentity) + ge_balance_negative_proper_split_inputnonunitidentitysecondimaginary = (ge_second_in_proper_split_inputnonunitidentity) + ge_balance_positive_proper_split_inputnonunitidentitysecondimaginary)))))) /\ (exists ge_representation_real_code_proper_split_inputnonunitidentityoutput ge_representation_imaginary_code_proper_split_inputnonunitidentityoutput. (((6) = ((ge_representation_real_code_proper_split_inputnonunitidentityoutput) + (ge_representation_imaginary_code_proper_split_inputnonunitidentityoutput)) * S ((ge_representation_real_code_proper_split_inputnonunitidentityoutput) + (ge_representation_imaginary_code_proper_split_inputnonunitidentityoutput)) + ((ge_representation_imaginary_code_proper_split_inputnonunitidentityoutput) + (ge_representation_imaginary_code_proper_split_inputnonunitidentityoutput))) /\ ((exists ge_balance_positive_proper_split_inputnonunitidentityoutputreal ge_balance_negative_proper_split_inputnonunitidentityoutputreal. (((((ge_representation_real_code_proper_split_inputnonunitidentityoutput) = 2 * (ge_balance_positive_proper_split_inputnonunitidentityoutputreal) /\ (ge_balance_negative_proper_split_inputnonunitidentityoutputreal) = 0) \/ exists ge_signed_half_proper_split_inputnonunitidentityoutputrealdecode. (((ge_representation_real_code_proper_split_inputnonunitidentityoutput) = 2 * ge_signed_half_proper_split_inputnonunitidentityoutputrealdecode + 1 /\ (ge_balance_positive_proper_split_inputnonunitidentityoutputreal) = 0) /\ (ge_balance_negative_proper_split_inputnonunitidentityoutputreal) = S ge_signed_half_proper_split_inputnonunitidentityoutputrealdecode))) /\ ((((((((ge_first_rp_proper_split_inputnonunitidentity) * (ge_second_rp_proper_split_inputnonunitidentity))) + (((ge_first_rn_proper_split_inputnonunitidentity) * (ge_second_rn_proper_split_inputnonunitidentity))))) + (((((ge_first_ip_proper_split_inputnonunitidentity) * (ge_second_in_proper_split_inputnonunitidentity))) + (((ge_first_in_proper_split_inputnonunitidentity) * (ge_second_ip_proper_split_inputnonunitidentity))))))) + ge_balance_negative_proper_split_inputnonunitidentityoutputreal = (((((((ge_first_rp_proper_split_inputnonunitidentity) * (ge_second_rn_proper_split_inputnonunitidentity))) + (((ge_first_rn_proper_split_inputnonunitidentity) * (ge_second_rp_proper_split_inputnonunitidentity))))) + (((((ge_first_ip_proper_split_inputnonunitidentity) * (ge_second_ip_proper_split_inputnonunitidentity))) + (((ge_first_in_proper_split_inputnonunitidentity) * (ge_second_in_proper_split_inputnonunitidentity))))))) + ge_balance_positive_proper_split_inputnonunitidentityoutputreal))) /\ (exists ge_balance_positive_proper_split_inputnonunitidentityoutputimaginary ge_balance_negative_proper_split_inputnonunitidentityoutputimaginary. (((((ge_representation_imaginary_code_proper_split_inputnonunitidentityoutput) = 2 * (ge_balance_positive_proper_split_inputnonunitidentityoutputimaginary) /\ (ge_balance_negative_proper_split_inputnonunitidentityoutputimaginary) = 0) \/ exists ge_signed_half_proper_split_inputnonunitidentityoutputimaginarydecode. (((ge_representation_imaginary_code_proper_split_inputnonunitidentityoutput) = 2 * ge_signed_half_proper_split_inputnonunitidentityoutputimaginarydecode + 1 /\ (ge_balance_positive_proper_split_inputnonunitidentityoutputimaginary) = 0) /\ (ge_balance_negative_proper_split_inputnonunitidentityoutputimaginary) = S ge_signed_half_proper_split_inputnonunitidentityoutputimaginarydecode))) /\ ((((((((ge_first_rp_proper_split_inputnonunitidentity) * (ge_second_ip_proper_split_inputnonunitidentity))) + (((ge_first_rn_proper_split_inputnonunitidentity) * (ge_second_in_proper_split_inputnonunitidentity))))) + (((((ge_first_ip_proper_split_inputnonunitidentity) * (ge_second_rp_proper_split_inputnonunitidentity))) + (((ge_first_in_proper_split_inputnonunitidentity) * (ge_second_rn_proper_split_inputnonunitidentity))))))) + ge_balance_negative_proper_split_inputnonunitidentityoutputimaginary = (((((((ge_first_rp_proper_split_inputnonunitidentity) * (ge_second_in_proper_split_inputnonunitidentity))) + (((ge_first_rn_proper_split_inputnonunitidentity) * (ge_second_ip_proper_split_inputnonunitidentity))))) + (((((ge_first_ip_proper_split_inputnonunitidentity) * (ge_second_rn_proper_split_inputnonunitidentity))) + (((ge_first_in_proper_split_inputnonunitidentity) * (ge_second_rp_proper_split_inputnonunitidentity))))))) + ge_balance_positive_proper_split_inputnonunitidentityoutputimaginary))))))))))) /\ ((exists gr_quotient_proper_split_inputquotient. (exists ge_first_rp_proper_split_inputquotientproduct ge_first_rn_proper_split_inputquotientproduct ge_first_ip_proper_split_inputquotientproduct ge_first_in_proper_split_inputquotientproduct ge_second_rp_proper_split_inputquotientproduct ge_second_rn_proper_split_inputquotientproduct ge_second_ip_proper_split_inputquotientproduct ge_second_in_proper_split_inputquotientproduct. ((exists ge_representation_real_code_proper_split_inputquotientproductfirst ge_representation_imaginary_code_proper_split_inputquotientproductfirst. (((d) = ((ge_representation_real_code_proper_split_inputquotientproductfirst) + (ge_representation_imaginary_code_proper_split_inputquotientproductfirst)) * S ((ge_representation_real_code_proper_split_inputquotientproductfirst) + (ge_representation_imaginary_code_proper_split_inputquotientproductfirst)) + ((ge_representation_imaginary_code_proper_split_inputquotientproductfirst) + (ge_representation_imaginary_code_proper_split_inputquotientproductfirst))) /\ ((exists ge_balance_positive_proper_split_inputquotientproductfirstreal ge_balance_negative_proper_split_inputquotientproductfirstreal. (((((ge_representation_real_code_proper_split_inputquotientproductfirst) = 2 * (ge_balance_positive_proper_split_inputquotientproductfirstreal) /\ (ge_balance_negative_proper_split_inputquotientproductfirstreal) = 0) \/ exists ge_signed_half_proper_split_inputquotientproductfirstrealdecode. (((ge_representation_real_code_proper_split_inputquotientproductfirst) = 2 * ge_signed_half_proper_split_inputquotientproductfirstrealdecode + 1 /\ (ge_balance_positive_proper_split_inputquotientproductfirstreal) = 0) /\ (ge_balance_negative_proper_split_inputquotientproductfirstreal) = S ge_signed_half_proper_split_inputquotientproductfirstrealdecode))) /\ ((ge_first_rp_proper_split_inputquotientproduct) + ge_balance_negative_proper_split_inputquotientproductfirstreal = (ge_first_rn_proper_split_inputquotientproduct) + ge_balance_positive_proper_split_inputquotientproductfirstreal))) /\ (exists ge_balance_positive_proper_split_inputquotientproductfirstimaginary ge_balance_negative_proper_split_inputquotientproductfirstimaginary. (((((ge_representation_imaginary_code_proper_split_inputquotientproductfirst) = 2 * (ge_balance_positive_proper_split_inputquotientproductfirstimaginary) /\ (ge_balance_negative_proper_split_inputquotientproductfirstimaginary) = 0) \/ exists ge_signed_half_proper_split_inputquotientproductfirstimaginarydecode. (((ge_representation_imaginary_code_proper_split_inputquotientproductfirst) = 2 * ge_signed_half_proper_split_inputquotientproductfirstimaginarydecode + 1 /\ (ge_balance_positive_proper_split_inputquotientproductfirstimaginary) = 0) /\ (ge_balance_negative_proper_split_inputquotientproductfirstimaginary) = S ge_signed_half_proper_split_inputquotientproductfirstimaginarydecode))) /\ ((ge_first_ip_proper_split_inputquotientproduct) + ge_balance_negative_proper_split_inputquotientproductfirstimaginary = (ge_first_in_proper_split_inputquotientproduct) + ge_balance_positive_proper_split_inputquotientproductfirstimaginary)))))) /\ ((exists ge_representation_real_code_proper_split_inputquotientproductsecond ge_representation_imaginary_code_proper_split_inputquotientproductsecond. (((gr_quotient_proper_split_inputquotient) = ((ge_representation_real_code_proper_split_inputquotientproductsecond) + (ge_representation_imaginary_code_proper_split_inputquotientproductsecond)) * S ((ge_representation_real_code_proper_split_inputquotientproductsecond) + (ge_representation_imaginary_code_proper_split_inputquotientproductsecond)) + ((ge_representation_imaginary_code_proper_split_inputquotientproductsecond) + (ge_representation_imaginary_code_proper_split_inputquotientproductsecond))) /\ ((exists ge_balance_positive_proper_split_inputquotientproductsecondreal ge_balance_negative_proper_split_inputquotientproductsecondreal. (((((ge_representation_real_code_proper_split_inputquotientproductsecond) = 2 * (ge_balance_positive_proper_split_inputquotientproductsecondreal) /\ (ge_balance_negative_proper_split_inputquotientproductsecondreal) = 0) \/ exists ge_signed_half_proper_split_inputquotientproductsecondrealdecode. (((ge_representation_real_code_proper_split_inputquotientproductsecond) = 2 * ge_signed_half_proper_split_inputquotientproductsecondrealdecode + 1 /\ (ge_balance_positive_proper_split_inputquotientproductsecondreal) = 0) /\ (ge_balance_negative_proper_split_inputquotientproductsecondreal) = S ge_signed_half_proper_split_inputquotientproductsecondrealdecode))) /\ ((ge_second_rp_proper_split_inputquotientproduct) + ge_balance_negative_proper_split_inputquotientproductsecondreal = (ge_second_rn_proper_split_inputquotientproduct) + ge_balance_positive_proper_split_inputquotientproductsecondreal))) /\ (exists ge_balance_positive_proper_split_inputquotientproductsecondimaginary ge_balance_negative_proper_split_inputquotientproductsecondimaginary. (((((ge_representation_imaginary_code_proper_split_inputquotientproductsecond) = 2 * (ge_balance_positive_proper_split_inputquotientproductsecondimaginary) /\ (ge_balance_negative_proper_split_inputquotientproductsecondimaginary) = 0) \/ exists ge_signed_half_proper_split_inputquotientproductsecondimaginarydecode. (((ge_representation_imaginary_code_proper_split_inputquotientproductsecond) = 2 * ge_signed_half_proper_split_inputquotientproductsecondimaginarydecode + 1 /\ (ge_balance_positive_proper_split_inputquotientproductsecondimaginary) = 0) /\ (ge_balance_negative_proper_split_inputquotientproductsecondimaginary) = S ge_signed_half_proper_split_inputquotientproductsecondimaginarydecode))) /\ ((ge_second_ip_proper_split_inputquotientproduct) + ge_balance_negative_proper_split_inputquotientproductsecondimaginary = (ge_second_in_proper_split_inputquotientproduct) + ge_balance_positive_proper_split_inputquotientproductsecondimaginary)))))) /\ (exists ge_representation_real_code_proper_split_inputquotientproductoutput ge_representation_imaginary_code_proper_split_inputquotientproductoutput. (((z) = ((ge_representation_real_code_proper_split_inputquotientproductoutput) + (ge_representation_imaginary_code_proper_split_inputquotientproductoutput)) * S ((ge_representation_real_code_proper_split_inputquotientproductoutput) + (ge_representation_imaginary_code_proper_split_inputquotientproductoutput)) + ((ge_representation_imaginary_code_proper_split_inputquotientproductoutput) + (ge_representation_imaginary_code_proper_split_inputquotientproductoutput))) /\ ((exists ge_balance_positive_proper_split_inputquotientproductoutputreal ge_balance_negative_proper_split_inputquotientproductoutputreal. (((((ge_representation_real_code_proper_split_inputquotientproductoutput) = 2 * (ge_balance_positive_proper_split_inputquotientproductoutputreal) /\ (ge_balance_negative_proper_split_inputquotientproductoutputreal) = 0) \/ exists ge_signed_half_proper_split_inputquotientproductoutputrealdecode. (((ge_representation_real_code_proper_split_inputquotientproductoutput) = 2 * ge_signed_half_proper_split_inputquotientproductoutputrealdecode + 1 /\ (ge_balance_positive_proper_split_inputquotientproductoutputreal) = 0) /\ (ge_balance_negative_proper_split_inputquotientproductoutputreal) = S ge_signed_half_proper_split_inputquotientproductoutputrealdecode))) /\ ((((((((ge_first_rp_proper_split_inputquotientproduct) * (ge_second_rp_proper_split_inputquotientproduct))) + (((ge_first_rn_proper_split_inputquotientproduct) * (ge_second_rn_proper_split_inputquotientproduct))))) + (((((ge_first_ip_proper_split_inputquotientproduct) * (ge_second_in_proper_split_inputquotientproduct))) + (((ge_first_in_proper_split_inputquotientproduct) * (ge_second_ip_proper_split_inputquotientproduct))))))) + ge_balance_negative_proper_split_inputquotientproductoutputreal = (((((((ge_first_rp_proper_split_inputquotientproduct) * (ge_second_rn_proper_split_inputquotientproduct))) + (((ge_first_rn_proper_split_inputquotientproduct) * (ge_second_rp_proper_split_inputquotientproduct))))) + (((((ge_first_ip_proper_split_inputquotientproduct) * (ge_second_ip_proper_split_inputquotientproduct))) + (((ge_first_in_proper_split_inputquotientproduct) * (ge_second_in_proper_split_inputquotientproduct))))))) + ge_balance_positive_proper_split_inputquotientproductoutputreal))) /\ (exists ge_balance_positive_proper_split_inputquotientproductoutputimaginary ge_balance_negative_proper_split_inputquotientproductoutputimaginary. (((((ge_representation_imaginary_code_proper_split_inputquotientproductoutput) = 2 * (ge_balance_positive_proper_split_inputquotientproductoutputimaginary) /\ (ge_balance_negative_proper_split_inputquotientproductoutputimaginary) = 0) \/ exists ge_signed_half_proper_split_inputquotientproductoutputimaginarydecode. (((ge_representation_imaginary_code_proper_split_inputquotientproductoutput) = 2 * ge_signed_half_proper_split_inputquotientproductoutputimaginarydecode + 1 /\ (ge_balance_positive_proper_split_inputquotientproductoutputimaginary) = 0) /\ (ge_balance_negative_proper_split_inputquotientproductoutputimaginary) = S ge_signed_half_proper_split_inputquotientproductoutputimaginarydecode))) /\ ((((((((ge_first_rp_proper_split_inputquotientproduct) * (ge_second_ip_proper_split_inputquotientproduct))) + (((ge_first_rn_proper_split_inputquotientproduct) * (ge_second_in_proper_split_inputquotientproduct))))) + (((((ge_first_ip_proper_split_inputquotientproduct) * (ge_second_rp_proper_split_inputquotientproduct))) + (((ge_first_in_proper_split_inputquotientproduct) * (ge_second_rn_proper_split_inputquotientproduct))))))) + ge_balance_negative_proper_split_inputquotientproductoutputimaginary = (((((((ge_first_rp_proper_split_inputquotientproduct) * (ge_second_in_proper_split_inputquotientproduct))) + (((ge_first_rn_proper_split_inputquotientproduct) * (ge_second_ip_proper_split_inputquotientproduct))))) + (((((ge_first_ip_proper_split_inputquotientproduct) * (ge_second_rn_proper_split_inputquotientproduct))) + (((ge_first_in_proper_split_inputquotientproduct) * (ge_second_rp_proper_split_inputquotientproduct))))))) + ge_balance_positive_proper_split_inputquotientproductoutputimaginary)))))))))) /\ (exists gr_proper_divisor_norm_proper_split_input. ((exists ge_norm_rp_proper_split_inputnorm ge_norm_rn_proper_split_inputnorm ge_norm_ip_proper_split_inputnorm ge_norm_in_proper_split_inputnorm. ((exists ge_representation_real_code_proper_split_inputnormrepresentation ge_representation_imaginary_code_proper_split_inputnormrepresentation. (((d) = ((ge_representation_real_code_proper_split_inputnormrepresentation) + (ge_representation_imaginary_code_proper_split_inputnormrepresentation)) * S ((ge_representation_real_code_proper_split_inputnormrepresentation) + (ge_representation_imaginary_code_proper_split_inputnormrepresentation)) + ((ge_representation_imaginary_code_proper_split_inputnormrepresentation) + (ge_representation_imaginary_code_proper_split_inputnormrepresentation))) /\ ((exists ge_balance_positive_proper_split_inputnormrepresentationreal ge_balance_negative_proper_split_inputnormrepresentationreal. (((((ge_representation_real_code_proper_split_inputnormrepresentation) = 2 * (ge_balance_positive_proper_split_inputnormrepresentationreal) /\ (ge_balance_negative_proper_split_inputnormrepresentationreal) = 0) \/ exists ge_signed_half_proper_split_inputnormrepresentationrealdecode. (((ge_representation_real_code_proper_split_inputnormrepresentation) = 2 * ge_signed_half_proper_split_inputnormrepresentationrealdecode + 1 /\ (ge_balance_positive_proper_split_inputnormrepresentationreal) = 0) /\ (ge_balance_negative_proper_split_inputnormrepresentationreal) = S ge_signed_half_proper_split_inputnormrepresentationrealdecode))) /\ ((ge_norm_rp_proper_split_inputnorm) + ge_balance_negative_proper_split_inputnormrepresentationreal = (ge_norm_rn_proper_split_inputnorm) + ge_balance_positive_proper_split_inputnormrepresentationreal))) /\ (exists ge_balance_positive_proper_split_inputnormrepresentationimaginary ge_balance_negative_proper_split_inputnormrepresentationimaginary. (((((ge_representation_imaginary_code_proper_split_inputnormrepresentation) = 2 * (ge_balance_positive_proper_split_inputnormrepresentationimaginary) /\ (ge_balance_negative_proper_split_inputnormrepresentationimaginary) = 0) \/ exists ge_signed_half_proper_split_inputnormrepresentationimaginarydecode. (((ge_representation_imaginary_code_proper_split_inputnormrepresentation) = 2 * ge_signed_half_proper_split_inputnormrepresentationimaginarydecode + 1 /\ (ge_balance_positive_proper_split_inputnormrepresentationimaginary) = 0) /\ (ge_balance_negative_proper_split_inputnormrepresentationimaginary) = S ge_signed_half_proper_split_inputnormrepresentationimaginarydecode))) /\ ((ge_norm_ip_proper_split_inputnorm) + ge_balance_negative_proper_split_inputnormrepresentationimaginary = (ge_norm_in_proper_split_inputnorm) + ge_balance_positive_proper_split_inputnormrepresentationimaginary)))))) /\ (exists ge_real_square_proper_split_inputnormsquare ge_imaginary_square_proper_split_inputnormsquare. ((((((ge_norm_rp_proper_split_inputnorm) * (ge_norm_rp_proper_split_inputnorm))) + (((ge_norm_rn_proper_split_inputnorm) * (ge_norm_rn_proper_split_inputnorm)))) = ((ge_real_square_proper_split_inputnormsquare) + (((((ge_norm_rp_proper_split_inputnorm) * (ge_norm_rn_proper_split_inputnorm))) + (((ge_norm_rn_proper_split_inputnorm) * (ge_norm_rp_proper_split_inputnorm))))))) /\ ((((((ge_norm_ip_proper_split_inputnorm) * (ge_norm_ip_proper_split_inputnorm))) + (((ge_norm_in_proper_split_inputnorm) * (ge_norm_in_proper_split_inputnorm)))) = ((ge_imaginary_square_proper_split_inputnormsquare) + (((((ge_norm_ip_proper_split_inputnorm) * (ge_norm_in_proper_split_inputnorm))) + (((ge_norm_in_proper_split_inputnorm) * (ge_norm_ip_proper_split_inputnorm))))))) /\ ((gr_proper_divisor_norm_proper_split_input) = ge_real_square_proper_split_inputnormsquare + ge_imaginary_square_proper_split_inputnormsquare)))))) /\ (exists ge_gap_proper_split_inputstrict. ge_gap_proper_split_inputstrict + S (gr_proper_divisor_norm_proper_split_input) = (N))))))) -> (exists ge_norm_rp_proper_split_norm ge_norm_rn_proper_split_norm ge_norm_ip_proper_split_norm ge_norm_in_proper_split_norm. ((exists ge_representation_real_code_proper_split_normrepresentation ge_representation_imaginary_code_proper_split_normrepresentation. (((z) = ((ge_representation_real_code_proper_split_normrepresentation) + (ge_representation_imaginary_code_proper_split_normrepresentation)) * S ((ge_representation_real_code_proper_split_normrepresentation) + (ge_representation_imaginary_code_proper_split_normrepresentation)) + ((ge_representation_imaginary_code_proper_split_normrepresentation) + (ge_representation_imaginary_code_proper_split_normrepresentation))) /\ ((exists ge_balance_positive_proper_split_normrepresentationreal ge_balance_negative_proper_split_normrepresentationreal. (((((ge_representation_real_code_proper_split_normrepresentation) = 2 * (ge_balance_positive_proper_split_normrepresentationreal) /\ (ge_balance_negative_proper_split_normrepresentationreal) = 0) \/ exists ge_signed_half_proper_split_normrepresentationrealdecode. (((ge_representation_real_code_proper_split_normrepresentation) = 2 * ge_signed_half_proper_split_normrepresentationrealdecode + 1 /\ (ge_balance_positive_proper_split_normrepresentationreal) = 0) /\ (ge_balance_negative_proper_split_normrepresentationreal) = S ge_signed_half_proper_split_normrepresentationrealdecode))) /\ ((ge_norm_rp_proper_split_norm) + ge_balance_negative_proper_split_normrepresentationreal = (ge_norm_rn_proper_split_norm) + ge_balance_positive_proper_split_normrepresentationreal))) /\ (exists ge_balance_positive_proper_split_normrepresentationimaginary ge_balance_negative_proper_split_normrepresentationimaginary. (((((ge_representation_imaginary_code_proper_split_normrepresentation) = 2 * (ge_balance_positive_proper_split_normrepresentationimaginary) /\ (ge_balance_negative_proper_split_normrepresentationimaginary) = 0) \/ exists ge_signed_half_proper_split_normrepresentationimaginarydecode. (((ge_representation_imaginary_code_proper_split_normrepresentation) = 2 * ge_signed_half_proper_split_normrepresentationimaginarydecode + 1 /\ (ge_balance_positive_proper_split_normrepresentationimaginary) = 0) /\ (ge_balance_negative_proper_split_normrepresentationimaginary) = S ge_signed_half_proper_split_normrepresentationimaginarydecode))) /\ ((ge_norm_ip_proper_split_norm) + ge_balance_negative_proper_split_normrepresentationimaginary = (ge_norm_in_proper_split_norm) + ge_balance_positive_proper_split_normrepresentationimaginary)))))) /\ (exists ge_real_square_proper_split_normsquare ge_imaginary_square_proper_split_normsquare. ((((((ge_norm_rp_proper_split_norm) * (ge_norm_rp_proper_split_norm))) + (((ge_norm_rn_proper_split_norm) * (ge_norm_rn_proper_split_norm)))) = ((ge_real_square_proper_split_normsquare) + (((((ge_norm_rp_proper_split_norm) * (ge_norm_rn_proper_split_norm))) + (((ge_norm_rn_proper_split_norm) * (ge_norm_rp_proper_split_norm))))))) /\ ((((((ge_norm_ip_proper_split_norm) * (ge_norm_ip_proper_split_norm))) + (((ge_norm_in_proper_split_norm) * (ge_norm_in_proper_split_norm)))) = ((ge_imaginary_square_proper_split_normsquare) + (((((ge_norm_ip_proper_split_norm) * (ge_norm_in_proper_split_norm))) + (((ge_norm_in_proper_split_norm) * (ge_norm_ip_proper_split_norm))))))) /\ ((N) = ge_real_square_proper_split_normsquare + ge_imaginary_square_proper_split_normsquare)))))) -> ~(z=0) -> (exists q D Q. (((exists ge_first_rp_proper_constructed_splitproduct ge_first_rn_proper_constructed_splitproduct ge_first_ip_proper_constructed_splitproduct ge_first_in_proper_constructed_splitproduct ge_second_rp_proper_constructed_splitproduct ge_second_rn_proper_constructed_splitproduct ge_second_ip_proper_constructed_splitproduct ge_second_in_proper_constructed_splitproduct. ((exists ge_representation_real_code_proper_constructed_splitproductfirst ge_representation_imaginary_code_proper_constructed_splitproductfirst. (((d) = ((ge_representation_real_code_proper_constructed_splitproductfirst) + (ge_representation_imaginary_code_proper_constructed_splitproductfirst)) * S ((ge_representation_real_code_proper_constructed_splitproductfirst) + (ge_representation_imaginary_code_proper_constructed_splitproductfirst)) + ((ge_representation_imaginary_code_proper_constructed_splitproductfirst) + (ge_representation_imaginary_code_proper_constructed_splitproductfirst))) /\ ((exists ge_balance_positive_proper_constructed_splitproductfirstreal ge_balance_negative_proper_constructed_splitproductfirstreal. (((((ge_representation_real_code_proper_constructed_splitproductfirst) = 2 * (ge_balance_positive_proper_constructed_splitproductfirstreal) /\ (ge_balance_negative_proper_constructed_splitproductfirstreal) = 0) \/ exists ge_signed_half_proper_constructed_splitproductfirstrealdecode. (((ge_representation_real_code_proper_constructed_splitproductfirst) = 2 * ge_signed_half_proper_constructed_splitproductfirstrealdecode + 1 /\ (ge_balance_positive_proper_constructed_splitproductfirstreal) = 0) /\ (ge_balance_negative_proper_constructed_splitproductfirstreal) = S ge_signed_half_proper_constructed_splitproductfirstrealdecode))) /\ ((ge_first_rp_proper_constructed_splitproduct) + ge_balance_negative_proper_constructed_splitproductfirstreal = (ge_first_rn_proper_constructed_splitproduct) + ge_balance_positive_proper_constructed_splitproductfirstreal))) /\ (exists ge_balance_positive_proper_constructed_splitproductfirstimaginary ge_balance_negative_proper_constructed_splitproductfirstimaginary. (((((ge_representation_imaginary_code_proper_constructed_splitproductfirst) = 2 * (ge_balance_positive_proper_constructed_splitproductfirstimaginary) /\ (ge_balance_negative_proper_constructed_splitproductfirstimaginary) = 0) \/ exists ge_signed_half_proper_constructed_splitproductfirstimaginarydecode. (((ge_representation_imaginary_code_proper_constructed_splitproductfirst) = 2 * ge_signed_half_proper_constructed_splitproductfirstimaginarydecode + 1 /\ (ge_balance_positive_proper_constructed_splitproductfirstimaginary) = 0) /\ (ge_balance_negative_proper_constructed_splitproductfirstimaginary) = S ge_signed_half_proper_constructed_splitproductfirstimaginarydecode))) /\ ((ge_first_ip_proper_constructed_splitproduct) + ge_balance_negative_proper_constructed_splitproductfirstimaginary = (ge_first_in_proper_constructed_splitproduct) + ge_balance_positive_proper_constructed_splitproductfirstimaginary)))))) /\ ((exists ge_representation_real_code_proper_constructed_splitproductsecond ge_representation_imaginary_code_proper_constructed_splitproductsecond. (((q) = ((ge_representation_real_code_proper_constructed_splitproductsecond) + (ge_representation_imaginary_code_proper_constructed_splitproductsecond)) * S ((ge_representation_real_code_proper_constructed_splitproductsecond) + (ge_representation_imaginary_code_proper_constructed_splitproductsecond)) + ((ge_representation_imaginary_code_proper_constructed_splitproductsecond) + (ge_representation_imaginary_code_proper_constructed_splitproductsecond))) /\ ((exists ge_balance_positive_proper_constructed_splitproductsecondreal ge_balance_negative_proper_constructed_splitproductsecondreal. (((((ge_representation_real_code_proper_constructed_splitproductsecond) = 2 * (ge_balance_positive_proper_constructed_splitproductsecondreal) /\ (ge_balance_negative_proper_constructed_splitproductsecondreal) = 0) \/ exists ge_signed_half_proper_constructed_splitproductsecondrealdecode. (((ge_representation_real_code_proper_constructed_splitproductsecond) = 2 * ge_signed_half_proper_constructed_splitproductsecondrealdecode + 1 /\ (ge_balance_positive_proper_constructed_splitproductsecondreal) = 0) /\ (ge_balance_negative_proper_constructed_splitproductsecondreal) = S ge_signed_half_proper_constructed_splitproductsecondrealdecode))) /\ ((ge_second_rp_proper_constructed_splitproduct) + ge_balance_negative_proper_constructed_splitproductsecondreal = (ge_second_rn_proper_constructed_splitproduct) + ge_balance_positive_proper_constructed_splitproductsecondreal))) /\ (exists ge_balance_positive_proper_constructed_splitproductsecondimaginary ge_balance_negative_proper_constructed_splitproductsecondimaginary. (((((ge_representation_imaginary_code_proper_constructed_splitproductsecond) = 2 * (ge_balance_positive_proper_constructed_splitproductsecondimaginary) /\ (ge_balance_negative_proper_constructed_splitproductsecondimaginary) = 0) \/ exists ge_signed_half_proper_constructed_splitproductsecondimaginarydecode. (((ge_representation_imaginary_code_proper_constructed_splitproductsecond) = 2 * ge_signed_half_proper_constructed_splitproductsecondimaginarydecode + 1 /\ (ge_balance_positive_proper_constructed_splitproductsecondimaginary) = 0) /\ (ge_balance_negative_proper_constructed_splitproductsecondimaginary) = S ge_signed_half_proper_constructed_splitproductsecondimaginarydecode))) /\ ((ge_second_ip_proper_constructed_splitproduct) + ge_balance_negative_proper_constructed_splitproductsecondimaginary = (ge_second_in_proper_constructed_splitproduct) + ge_balance_positive_proper_constructed_splitproductsecondimaginary)))))) /\ (exists ge_representation_real_code_proper_constructed_splitproductoutput ge_representation_imaginary_code_proper_constructed_splitproductoutput. (((z) = ((ge_representation_real_code_proper_constructed_splitproductoutput) + (ge_representation_imaginary_code_proper_constructed_splitproductoutput)) * S ((ge_representation_real_code_proper_constructed_splitproductoutput) + (ge_representation_imaginary_code_proper_constructed_splitproductoutput)) + ((ge_representation_imaginary_code_proper_constructed_splitproductoutput) + (ge_representation_imaginary_code_proper_constructed_splitproductoutput))) /\ ((exists ge_balance_positive_proper_constructed_splitproductoutputreal ge_balance_negative_proper_constructed_splitproductoutputreal. (((((ge_representation_real_code_proper_constructed_splitproductoutput) = 2 * (ge_balance_positive_proper_constructed_splitproductoutputreal) /\ (ge_balance_negative_proper_constructed_splitproductoutputreal) = 0) \/ exists ge_signed_half_proper_constructed_splitproductoutputrealdecode. (((ge_representation_real_code_proper_constructed_splitproductoutput) = 2 * ge_signed_half_proper_constructed_splitproductoutputrealdecode + 1 /\ (ge_balance_positive_proper_constructed_splitproductoutputreal) = 0) /\ (ge_balance_negative_proper_constructed_splitproductoutputreal) = S ge_signed_half_proper_constructed_splitproductoutputrealdecode))) /\ ((((((((ge_first_rp_proper_constructed_splitproduct) * (ge_second_rp_proper_constructed_splitproduct))) + (((ge_first_rn_proper_constructed_splitproduct) * (ge_second_rn_proper_constructed_splitproduct))))) + (((((ge_first_ip_proper_constructed_splitproduct) * (ge_second_in_proper_constructed_splitproduct))) + (((ge_first_in_proper_constructed_splitproduct) * (ge_second_ip_proper_constructed_splitproduct))))))) + ge_balance_negative_proper_constructed_splitproductoutputreal = (((((((ge_first_rp_proper_constructed_splitproduct) * (ge_second_rn_proper_constructed_splitproduct))) + (((ge_first_rn_proper_constructed_splitproduct) * (ge_second_rp_proper_constructed_splitproduct))))) + (((((ge_first_ip_proper_constructed_splitproduct) * (ge_second_ip_proper_constructed_splitproduct))) + (((ge_first_in_proper_constructed_splitproduct) * (ge_second_in_proper_constructed_splitproduct))))))) + ge_balance_positive_proper_constructed_splitproductoutputreal))) /\ (exists ge_balance_positive_proper_constructed_splitproductoutputimaginary ge_balance_negative_proper_constructed_splitproductoutputimaginary. (((((ge_representation_imaginary_code_proper_constructed_splitproductoutput) = 2 * (ge_balance_positive_proper_constructed_splitproductoutputimaginary) /\ (ge_balance_negative_proper_constructed_splitproductoutputimaginary) = 0) \/ exists ge_signed_half_proper_constructed_splitproductoutputimaginarydecode. (((ge_representation_imaginary_code_proper_constructed_splitproductoutput) = 2 * ge_signed_half_proper_constructed_splitproductoutputimaginarydecode + 1 /\ (ge_balance_positive_proper_constructed_splitproductoutputimaginary) = 0) /\ (ge_balance_negative_proper_constructed_splitproductoutputimaginary) = S ge_signed_half_proper_constructed_splitproductoutputimaginarydecode))) /\ ((((((((ge_first_rp_proper_constructed_splitproduct) * (ge_second_ip_proper_constructed_splitproduct))) + (((ge_first_rn_proper_constructed_splitproduct) * (ge_second_in_proper_constructed_splitproduct))))) + (((((ge_first_ip_proper_constructed_splitproduct) * (ge_second_rp_proper_constructed_splitproduct))) + (((ge_first_in_proper_constructed_splitproduct) * (ge_second_rn_proper_constructed_splitproduct))))))) + ge_balance_negative_proper_constructed_splitproductoutputimaginary = (((((((ge_first_rp_proper_constructed_splitproduct) * (ge_second_in_proper_constructed_splitproduct))) + (((ge_first_rn_proper_constructed_splitproduct) * (ge_second_ip_proper_constructed_splitproduct))))) + (((((ge_first_ip_proper_constructed_splitproduct) * (ge_second_rn_proper_constructed_splitproduct))) + (((ge_first_in_proper_constructed_splitproduct) * (ge_second_rp_proper_constructed_splitproduct))))))) + ge_balance_positive_proper_constructed_splitproductoutputimaginary))))))))) /\ ((exists ge_norm_rp_proper_constructed_splitfirst_norm ge_norm_rn_proper_constructed_splitfirst_norm ge_norm_ip_proper_constructed_splitfirst_norm ge_norm_in_proper_constructed_splitfirst_norm. ((exists ge_representation_real_code_proper_constructed_splitfirst_normrepresentation ge_representation_imaginary_code_proper_constructed_splitfirst_normrepresentation. (((d) = ((ge_representation_real_code_proper_constructed_splitfirst_normrepresentation) + (ge_representation_imaginary_code_proper_constructed_splitfirst_normrepresentation)) * S ((ge_representation_real_code_proper_constructed_splitfirst_normrepresentation) + (ge_representation_imaginary_code_proper_constructed_splitfirst_normrepresentation)) + ((ge_representation_imaginary_code_proper_constructed_splitfirst_normrepresentation) + (ge_representation_imaginary_code_proper_constructed_splitfirst_normrepresentation))) /\ ((exists ge_balance_positive_proper_constructed_splitfirst_normrepresentationreal ge_balance_negative_proper_constructed_splitfirst_normrepresentationreal. (((((ge_representation_real_code_proper_constructed_splitfirst_normrepresentation) = 2 * (ge_balance_positive_proper_constructed_splitfirst_normrepresentationreal) /\ (ge_balance_negative_proper_constructed_splitfirst_normrepresentationreal) = 0) \/ exists ge_signed_half_proper_constructed_splitfirst_normrepresentationrealdecode. (((ge_representation_real_code_proper_constructed_splitfirst_normrepresentation) = 2 * ge_signed_half_proper_constructed_splitfirst_normrepresentationrealdecode + 1 /\ (ge_balance_positive_proper_constructed_splitfirst_normrepresentationreal) = 0) /\ (ge_balance_negative_proper_constructed_splitfirst_normrepresentationreal) = S ge_signed_half_proper_constructed_splitfirst_normrepresentationrealdecode))) /\ ((ge_norm_rp_proper_constructed_splitfirst_norm) + ge_balance_negative_proper_constructed_splitfirst_normrepresentationreal = (ge_norm_rn_proper_constructed_splitfirst_norm) + ge_balance_positive_proper_constructed_splitfirst_normrepresentationreal))) /\ (exists ge_balance_positive_proper_constructed_splitfirst_normrepresentationimaginary ge_balance_negative_proper_constructed_splitfirst_normrepresentationimaginary. (((((ge_representation_imaginary_code_proper_constructed_splitfirst_normrepresentation) = 2 * (ge_balance_positive_proper_constructed_splitfirst_normrepresentationimaginary) /\ (ge_balance_negative_proper_constructed_splitfirst_normrepresentationimaginary) = 0) \/ exists ge_signed_half_proper_constructed_splitfirst_normrepresentationimaginarydecode. (((ge_representation_imaginary_code_proper_constructed_splitfirst_normrepresentation) = 2 * ge_signed_half_proper_constructed_splitfirst_normrepresentationimaginarydecode + 1 /\ (ge_balance_positive_proper_constructed_splitfirst_normrepresentationimaginary) = 0) /\ (ge_balance_negative_proper_constructed_splitfirst_normrepresentationimaginary) = S ge_signed_half_proper_constructed_splitfirst_normrepresentationimaginarydecode))) /\ ((ge_norm_ip_proper_constructed_splitfirst_norm) + ge_balance_negative_proper_constructed_splitfirst_normrepresentationimaginary = (ge_norm_in_proper_constructed_splitfirst_norm) + ge_balance_positive_proper_constructed_splitfirst_normrepresentationimaginary)))))) /\ (exists ge_real_square_proper_constructed_splitfirst_normsquare ge_imaginary_square_proper_constructed_splitfirst_normsquare. ((((((ge_norm_rp_proper_constructed_splitfirst_norm) * (ge_norm_rp_proper_constructed_splitfirst_norm))) + (((ge_norm_rn_proper_constructed_splitfirst_norm) * (ge_norm_rn_proper_constructed_splitfirst_norm)))) = ((ge_real_square_proper_constructed_splitfirst_normsquare) + (((((ge_norm_rp_proper_constructed_splitfirst_norm) * (ge_norm_rn_proper_constructed_splitfirst_norm))) + (((ge_norm_rn_proper_constructed_splitfirst_norm) * (ge_norm_rp_proper_constructed_splitfirst_norm))))))) /\ ((((((ge_norm_ip_proper_constructed_splitfirst_norm) * (ge_norm_ip_proper_constructed_splitfirst_norm))) + (((ge_norm_in_proper_constructed_splitfirst_norm) * (ge_norm_in_proper_constructed_splitfirst_norm)))) = ((ge_imaginary_square_proper_constructed_splitfirst_normsquare) + (((((ge_norm_ip_proper_constructed_splitfirst_norm) * (ge_norm_in_proper_constructed_splitfirst_norm))) + (((ge_norm_in_proper_constructed_splitfirst_norm) * (ge_norm_ip_proper_constructed_splitfirst_norm))))))) /\ ((D) = ge_real_square_proper_constructed_splitfirst_normsquare + ge_imaginary_square_proper_constructed_splitfirst_normsquare)))))) /\ ((exists ge_norm_rp_proper_constructed_splitsecond_norm ge_norm_rn_proper_constructed_splitsecond_norm ge_norm_ip_proper_constructed_splitsecond_norm ge_norm_in_proper_constructed_splitsecond_norm. ((exists ge_representation_real_code_proper_constructed_splitsecond_normrepresentation ge_representation_imaginary_code_proper_constructed_splitsecond_normrepresentation. (((q) = ((ge_representation_real_code_proper_constructed_splitsecond_normrepresentation) + (ge_representation_imaginary_code_proper_constructed_splitsecond_normrepresentation)) * S ((ge_representation_real_code_proper_constructed_splitsecond_normrepresentation) + (ge_representation_imaginary_code_proper_constructed_splitsecond_normrepresentation)) + ((ge_representation_imaginary_code_proper_constructed_splitsecond_normrepresentation) + (ge_representation_imaginary_code_proper_constructed_splitsecond_normrepresentation))) /\ ((exists ge_balance_positive_proper_constructed_splitsecond_normrepresentationreal ge_balance_negative_proper_constructed_splitsecond_normrepresentationreal. (((((ge_representation_real_code_proper_constructed_splitsecond_normrepresentation) = 2 * (ge_balance_positive_proper_constructed_splitsecond_normrepresentationreal) /\ (ge_balance_negative_proper_constructed_splitsecond_normrepresentationreal) = 0) \/ exists ge_signed_half_proper_constructed_splitsecond_normrepresentationrealdecode. (((ge_representation_real_code_proper_constructed_splitsecond_normrepresentation) = 2 * ge_signed_half_proper_constructed_splitsecond_normrepresentationrealdecode + 1 /\ (ge_balance_positive_proper_constructed_splitsecond_normrepresentationreal) = 0) /\ (ge_balance_negative_proper_constructed_splitsecond_normrepresentationreal) = S ge_signed_half_proper_constructed_splitsecond_normrepresentationrealdecode))) /\ ((ge_norm_rp_proper_constructed_splitsecond_norm) + ge_balance_negative_proper_constructed_splitsecond_normrepresentationreal = (ge_norm_rn_proper_constructed_splitsecond_norm) + ge_balance_positive_proper_constructed_splitsecond_normrepresentationreal))) /\ (exists ge_balance_positive_proper_constructed_splitsecond_normrepresentationimaginary ge_balance_negative_proper_constructed_splitsecond_normrepresentationimaginary. (((((ge_representation_imaginary_code_proper_constructed_splitsecond_normrepresentation) = 2 * (ge_balance_positive_proper_constructed_splitsecond_normrepresentationimaginary) /\ (ge_balance_negative_proper_constructed_splitsecond_normrepresentationimaginary) = 0) \/ exists ge_signed_half_proper_constructed_splitsecond_normrepresentationimaginarydecode. (((ge_representation_imaginary_code_proper_constructed_splitsecond_normrepresentation) = 2 * ge_signed_half_proper_constructed_splitsecond_normrepresentationimaginarydecode + 1 /\ (ge_balance_positive_proper_constructed_splitsecond_normrepresentationimaginary) = 0) /\ (ge_balance_negative_proper_constructed_splitsecond_normrepresentationimaginary) = S ge_signed_half_proper_constructed_splitsecond_normrepresentationimaginarydecode))) /\ ((ge_norm_ip_proper_constructed_splitsecond_norm) + ge_balance_negative_proper_constructed_splitsecond_normrepresentationimaginary = (ge_norm_in_proper_constructed_splitsecond_norm) + ge_balance_positive_proper_constructed_splitsecond_normrepresentationimaginary)))))) /\ (exists ge_real_square_proper_constructed_splitsecond_normsquare ge_imaginary_square_proper_constructed_splitsecond_normsquare. ((((((ge_norm_rp_proper_constructed_splitsecond_norm) * (ge_norm_rp_proper_constructed_splitsecond_norm))) + (((ge_norm_rn_proper_constructed_splitsecond_norm) * (ge_norm_rn_proper_constructed_splitsecond_norm)))) = ((ge_real_square_proper_constructed_splitsecond_normsquare) + (((((ge_norm_rp_proper_constructed_splitsecond_norm) * (ge_norm_rn_proper_constructed_splitsecond_norm))) + (((ge_norm_rn_proper_constructed_splitsecond_norm) * (ge_norm_rp_proper_constructed_splitsecond_norm))))))) /\ ((((((ge_norm_ip_proper_constructed_splitsecond_norm) * (ge_norm_ip_proper_constructed_splitsecond_norm))) + (((ge_norm_in_proper_constructed_splitsecond_norm) * (ge_norm_in_proper_constructed_splitsecond_norm)))) = ((ge_imaginary_square_proper_constructed_splitsecond_normsquare) + (((((ge_norm_ip_proper_constructed_splitsecond_norm) * (ge_norm_in_proper_constructed_splitsecond_norm))) + (((ge_norm_in_proper_constructed_splitsecond_norm) * (ge_norm_ip_proper_constructed_splitsecond_norm))))))) /\ ((Q) = ge_real_square_proper_constructed_splitsecond_normsquare + ge_imaginary_square_proper_constructed_splitsecond_normsquare)))))) /\ ((~(exists gr_inverse_proper_constructed_splitfirst_nonunit. (exists ge_first_rp_proper_constructed_splitfirst_nonunitidentity ge_first_rn_proper_constructed_splitfirst_nonunitidentity ge_first_ip_proper_constructed_splitfirst_nonunitidentity ge_first_in_proper_constructed_splitfirst_nonunitidentity ge_second_rp_proper_constructed_splitfirst_nonunitidentity ge_second_rn_proper_constructed_splitfirst_nonunitidentity ge_second_ip_proper_constructed_splitfirst_nonunitidentity ge_second_in_proper_constructed_splitfirst_nonunitidentity. ((exists ge_representation_real_code_proper_constructed_splitfirst_nonunitidentityfirst ge_representation_imaginary_code_proper_constructed_splitfirst_nonunitidentityfirst. (((d) = ((ge_representation_real_code_proper_constructed_splitfirst_nonunitidentityfirst) + (ge_representation_imaginary_code_proper_constructed_splitfirst_nonunitidentityfirst)) * S ((ge_representation_real_code_proper_constructed_splitfirst_nonunitidentityfirst) + (ge_representation_imaginary_code_proper_constructed_splitfirst_nonunitidentityfirst)) + ((ge_representation_imaginary_code_proper_constructed_splitfirst_nonunitidentityfirst) + (ge_representation_imaginary_code_proper_constructed_splitfirst_nonunitidentityfirst))) /\ ((exists ge_balance_positive_proper_constructed_splitfirst_nonunitidentityfirstreal ge_balance_negative_proper_constructed_splitfirst_nonunitidentityfirstreal. (((((ge_representation_real_code_proper_constructed_splitfirst_nonunitidentityfirst) = 2 * (ge_balance_positive_proper_constructed_splitfirst_nonunitidentityfirstreal) /\ (ge_balance_negative_proper_constructed_splitfirst_nonunitidentityfirstreal) = 0) \/ exists ge_signed_half_proper_constructed_splitfirst_nonunitidentityfirstrealdecode. (((ge_representation_real_code_proper_constructed_splitfirst_nonunitidentityfirst) = 2 * ge_signed_half_proper_constructed_splitfirst_nonunitidentityfirstrealdecode + 1 /\ (ge_balance_positive_proper_constructed_splitfirst_nonunitidentityfirstreal) = 0) /\ (ge_balance_negative_proper_constructed_splitfirst_nonunitidentityfirstreal) = S ge_signed_half_proper_constructed_splitfirst_nonunitidentityfirstrealdecode))) /\ ((ge_first_rp_proper_constructed_splitfirst_nonunitidentity) + ge_balance_negative_proper_constructed_splitfirst_nonunitidentityfirstreal = (ge_first_rn_proper_constructed_splitfirst_nonunitidentity) + ge_balance_positive_proper_constructed_splitfirst_nonunitidentityfirstreal))) /\ (exists ge_balance_positive_proper_constructed_splitfirst_nonunitidentityfirstimaginary ge_balance_negative_proper_constructed_splitfirst_nonunitidentityfirstimaginary. (((((ge_representation_imaginary_code_proper_constructed_splitfirst_nonunitidentityfirst) = 2 * (ge_balance_positive_proper_constructed_splitfirst_nonunitidentityfirstimaginary) /\ (ge_balance_negative_proper_constructed_splitfirst_nonunitidentityfirstimaginary) = 0) \/ exists ge_signed_half_proper_constructed_splitfirst_nonunitidentityfirstimaginarydecode. (((ge_representation_imaginary_code_proper_constructed_splitfirst_nonunitidentityfirst) = 2 * ge_signed_half_proper_constructed_splitfirst_nonunitidentityfirstimaginarydecode + 1 /\ (ge_balance_positive_proper_constructed_splitfirst_nonunitidentityfirstimaginary) = 0) /\ (ge_balance_negative_proper_constructed_splitfirst_nonunitidentityfirstimaginary) = S ge_signed_half_proper_constructed_splitfirst_nonunitidentityfirstimaginarydecode))) /\ ((ge_first_ip_proper_constructed_splitfirst_nonunitidentity) + ge_balance_negative_proper_constructed_splitfirst_nonunitidentityfirstimaginary = (ge_first_in_proper_constructed_splitfirst_nonunitidentity) + ge_balance_positive_proper_constructed_splitfirst_nonunitidentityfirstimaginary)))))) /\ ((exists ge_representation_real_code_proper_constructed_splitfirst_nonunitidentitysecond ge_representation_imaginary_code_proper_constructed_splitfirst_nonunitidentitysecond. (((gr_inverse_proper_constructed_splitfirst_nonunit) = ((ge_representation_real_code_proper_constructed_splitfirst_nonunitidentitysecond) + (ge_representation_imaginary_code_proper_constructed_splitfirst_nonunitidentitysecond)) * S ((ge_representation_real_code_proper_constructed_splitfirst_nonunitidentitysecond) + (ge_representation_imaginary_code_proper_constructed_splitfirst_nonunitidentitysecond)) + ((ge_representation_imaginary_code_proper_constructed_splitfirst_nonunitidentitysecond) + (ge_representation_imaginary_code_proper_constructed_splitfirst_nonunitidentitysecond))) /\ ((exists ge_balance_positive_proper_constructed_splitfirst_nonunitidentitysecondreal ge_balance_negative_proper_constructed_splitfirst_nonunitidentitysecondreal. (((((ge_representation_real_code_proper_constructed_splitfirst_nonunitidentitysecond) = 2 * (ge_balance_positive_proper_constructed_splitfirst_nonunitidentitysecondreal) /\ (ge_balance_negative_proper_constructed_splitfirst_nonunitidentitysecondreal) = 0) \/ exists ge_signed_half_proper_constructed_splitfirst_nonunitidentitysecondrealdecode. (((ge_representation_real_code_proper_constructed_splitfirst_nonunitidentitysecond) = 2 * ge_signed_half_proper_constructed_splitfirst_nonunitidentitysecondrealdecode + 1 /\ (ge_balance_positive_proper_constructed_splitfirst_nonunitidentitysecondreal) = 0) /\ (ge_balance_negative_proper_constructed_splitfirst_nonunitidentitysecondreal) = S ge_signed_half_proper_constructed_splitfirst_nonunitidentitysecondrealdecode))) /\ ((ge_second_rp_proper_constructed_splitfirst_nonunitidentity) + ge_balance_negative_proper_constructed_splitfirst_nonunitidentitysecondreal = (ge_second_rn_proper_constructed_splitfirst_nonunitidentity) + ge_balance_positive_proper_constructed_splitfirst_nonunitidentitysecondreal))) /\ (exists ge_balance_positive_proper_constructed_splitfirst_nonunitidentitysecondimaginary ge_balance_negative_proper_constructed_splitfirst_nonunitidentitysecondimaginary. (((((ge_representation_imaginary_code_proper_constructed_splitfirst_nonunitidentitysecond) = 2 * (ge_balance_positive_proper_constructed_splitfirst_nonunitidentitysecondimaginary) /\ (ge_balance_negative_proper_constructed_splitfirst_nonunitidentitysecondimaginary) = 0) \/ exists ge_signed_half_proper_constructed_splitfirst_nonunitidentitysecondimaginarydecode. (((ge_representation_imaginary_code_proper_constructed_splitfirst_nonunitidentitysecond) = 2 * ge_signed_half_proper_constructed_splitfirst_nonunitidentitysecondimaginarydecode + 1 /\ (ge_balance_positive_proper_constructed_splitfirst_nonunitidentitysecondimaginary) = 0) /\ (ge_balance_negative_proper_constructed_splitfirst_nonunitidentitysecondimaginary) = S ge_signed_half_proper_constructed_splitfirst_nonunitidentitysecondimaginarydecode))) /\ ((ge_second_ip_proper_constructed_splitfirst_nonunitidentity) + ge_balance_negative_proper_constructed_splitfirst_nonunitidentitysecondimaginary = (ge_second_in_proper_constructed_splitfirst_nonunitidentity) + ge_balance_positive_proper_constructed_splitfirst_nonunitidentitysecondimaginary)))))) /\ (exists ge_representation_real_code_proper_constructed_splitfirst_nonunitidentityoutput ge_representation_imaginary_code_proper_constructed_splitfirst_nonunitidentityoutput. (((6) = ((ge_representation_real_code_proper_constructed_splitfirst_nonunitidentityoutput) + (ge_representation_imaginary_code_proper_constructed_splitfirst_nonunitidentityoutput)) * S ((ge_representation_real_code_proper_constructed_splitfirst_nonunitidentityoutput) + (ge_representation_imaginary_code_proper_constructed_splitfirst_nonunitidentityoutput)) + ((ge_representation_imaginary_code_proper_constructed_splitfirst_nonunitidentityoutput) + (ge_representation_imaginary_code_proper_constructed_splitfirst_nonunitidentityoutput))) /\ ((exists ge_balance_positive_proper_constructed_splitfirst_nonunitidentityoutputreal ge_balance_negative_proper_constructed_splitfirst_nonunitidentityoutputreal. (((((ge_representation_real_code_proper_constructed_splitfirst_nonunitidentityoutput) = 2 * (ge_balance_positive_proper_constructed_splitfirst_nonunitidentityoutputreal) /\ (ge_balance_negative_proper_constructed_splitfirst_nonunitidentityoutputreal) = 0) \/ exists ge_signed_half_proper_constructed_splitfirst_nonunitidentityoutputrealdecode. (((ge_representation_real_code_proper_constructed_splitfirst_nonunitidentityoutput) = 2 * ge_signed_half_proper_constructed_splitfirst_nonunitidentityoutputrealdecode + 1 /\ (ge_balance_positive_proper_constructed_splitfirst_nonunitidentityoutputreal) = 0) /\ (ge_balance_negative_proper_constructed_splitfirst_nonunitidentityoutputreal) = S ge_signed_half_proper_constructed_splitfirst_nonunitidentityoutputrealdecode))) /\ ((((((((ge_first_rp_proper_constructed_splitfirst_nonunitidentity) * (ge_second_rp_proper_constructed_splitfirst_nonunitidentity))) + (((ge_first_rn_proper_constructed_splitfirst_nonunitidentity) * (ge_second_rn_proper_constructed_splitfirst_nonunitidentity))))) + (((((ge_first_ip_proper_constructed_splitfirst_nonunitidentity) * (ge_second_in_proper_constructed_splitfirst_nonunitidentity))) + (((ge_first_in_proper_constructed_splitfirst_nonunitidentity) * (ge_second_ip_proper_constructed_splitfirst_nonunitidentity))))))) + ge_balance_negative_proper_constructed_splitfirst_nonunitidentityoutputreal = (((((((ge_first_rp_proper_constructed_splitfirst_nonunitidentity) * (ge_second_rn_proper_constructed_splitfirst_nonunitidentity))) + (((ge_first_rn_proper_constructed_splitfirst_nonunitidentity) * (ge_second_rp_proper_constructed_splitfirst_nonunitidentity))))) + (((((ge_first_ip_proper_constructed_splitfirst_nonunitidentity) * (ge_second_ip_proper_constructed_splitfirst_nonunitidentity))) + (((ge_first_in_proper_constructed_splitfirst_nonunitidentity) * (ge_second_in_proper_constructed_splitfirst_nonunitidentity))))))) + ge_balance_positive_proper_constructed_splitfirst_nonunitidentityoutputreal))) /\ (exists ge_balance_positive_proper_constructed_splitfirst_nonunitidentityoutputimaginary ge_balance_negative_proper_constructed_splitfirst_nonunitidentityoutputimaginary. (((((ge_representation_imaginary_code_proper_constructed_splitfirst_nonunitidentityoutput) = 2 * (ge_balance_positive_proper_constructed_splitfirst_nonunitidentityoutputimaginary) /\ (ge_balance_negative_proper_constructed_splitfirst_nonunitidentityoutputimaginary) = 0) \/ exists ge_signed_half_proper_constructed_splitfirst_nonunitidentityoutputimaginarydecode. (((ge_representation_imaginary_code_proper_constructed_splitfirst_nonunitidentityoutput) = 2 * ge_signed_half_proper_constructed_splitfirst_nonunitidentityoutputimaginarydecode + 1 /\ (ge_balance_positive_proper_constructed_splitfirst_nonunitidentityoutputimaginary) = 0) /\ (ge_balance_negative_proper_constructed_splitfirst_nonunitidentityoutputimaginary) = S ge_signed_half_proper_constructed_splitfirst_nonunitidentityoutputimaginarydecode))) /\ ((((((((ge_first_rp_proper_constructed_splitfirst_nonunitidentity) * (ge_second_ip_proper_constructed_splitfirst_nonunitidentity))) + (((ge_first_rn_proper_constructed_splitfirst_nonunitidentity) * (ge_second_in_proper_constructed_splitfirst_nonunitidentity))))) + (((((ge_first_ip_proper_constructed_splitfirst_nonunitidentity) * (ge_second_rp_proper_constructed_splitfirst_nonunitidentity))) + (((ge_first_in_proper_constructed_splitfirst_nonunitidentity) * (ge_second_rn_proper_constructed_splitfirst_nonunitidentity))))))) + ge_balance_negative_proper_constructed_splitfirst_nonunitidentityoutputimaginary = (((((((ge_first_rp_proper_constructed_splitfirst_nonunitidentity) * (ge_second_in_proper_constructed_splitfirst_nonunitidentity))) + (((ge_first_rn_proper_constructed_splitfirst_nonunitidentity) * (ge_second_ip_proper_constructed_splitfirst_nonunitidentity))))) + (((((ge_first_ip_proper_constructed_splitfirst_nonunitidentity) * (ge_second_rn_proper_constructed_splitfirst_nonunitidentity))) + (((ge_first_in_proper_constructed_splitfirst_nonunitidentity) * (ge_second_rp_proper_constructed_splitfirst_nonunitidentity))))))) + ge_balance_positive_proper_constructed_splitfirst_nonunitidentityoutputimaginary))))))))))) /\ ((~(exists gr_inverse_proper_constructed_splitsecond_nonunit. (exists ge_first_rp_proper_constructed_splitsecond_nonunitidentity ge_first_rn_proper_constructed_splitsecond_nonunitidentity ge_first_ip_proper_constructed_splitsecond_nonunitidentity ge_first_in_proper_constructed_splitsecond_nonunitidentity ge_second_rp_proper_constructed_splitsecond_nonunitidentity ge_second_rn_proper_constructed_splitsecond_nonunitidentity ge_second_ip_proper_constructed_splitsecond_nonunitidentity ge_second_in_proper_constructed_splitsecond_nonunitidentity. ((exists ge_representation_real_code_proper_constructed_splitsecond_nonunitidentityfirst ge_representation_imaginary_code_proper_constructed_splitsecond_nonunitidentityfirst. (((q) = ((ge_representation_real_code_proper_constructed_splitsecond_nonunitidentityfirst) + (ge_representation_imaginary_code_proper_constructed_splitsecond_nonunitidentityfirst)) * S ((ge_representation_real_code_proper_constructed_splitsecond_nonunitidentityfirst) + (ge_representation_imaginary_code_proper_constructed_splitsecond_nonunitidentityfirst)) + ((ge_representation_imaginary_code_proper_constructed_splitsecond_nonunitidentityfirst) + (ge_representation_imaginary_code_proper_constructed_splitsecond_nonunitidentityfirst))) /\ ((exists ge_balance_positive_proper_constructed_splitsecond_nonunitidentityfirstreal ge_balance_negative_proper_constructed_splitsecond_nonunitidentityfirstreal. (((((ge_representation_real_code_proper_constructed_splitsecond_nonunitidentityfirst) = 2 * (ge_balance_positive_proper_constructed_splitsecond_nonunitidentityfirstreal) /\ (ge_balance_negative_proper_constructed_splitsecond_nonunitidentityfirstreal) = 0) \/ exists ge_signed_half_proper_constructed_splitsecond_nonunitidentityfirstrealdecode. (((ge_representation_real_code_proper_constructed_splitsecond_nonunitidentityfirst) = 2 * ge_signed_half_proper_constructed_splitsecond_nonunitidentityfirstrealdecode + 1 /\ (ge_balance_positive_proper_constructed_splitsecond_nonunitidentityfirstreal) = 0) /\ (ge_balance_negative_proper_constructed_splitsecond_nonunitidentityfirstreal) = S ge_signed_half_proper_constructed_splitsecond_nonunitidentityfirstrealdecode))) /\ ((ge_first_rp_proper_constructed_splitsecond_nonunitidentity) + ge_balance_negative_proper_constructed_splitsecond_nonunitidentityfirstreal = (ge_first_rn_proper_constructed_splitsecond_nonunitidentity) + ge_balance_positive_proper_constructed_splitsecond_nonunitidentityfirstreal))) /\ (exists ge_balance_positive_proper_constructed_splitsecond_nonunitidentityfirstimaginary ge_balance_negative_proper_constructed_splitsecond_nonunitidentityfirstimaginary. (((((ge_representation_imaginary_code_proper_constructed_splitsecond_nonunitidentityfirst) = 2 * (ge_balance_positive_proper_constructed_splitsecond_nonunitidentityfirstimaginary) /\ (ge_balance_negative_proper_constructed_splitsecond_nonunitidentityfirstimaginary) = 0) \/ exists ge_signed_half_proper_constructed_splitsecond_nonunitidentityfirstimaginarydecode. (((ge_representation_imaginary_code_proper_constructed_splitsecond_nonunitidentityfirst) = 2 * ge_signed_half_proper_constructed_splitsecond_nonunitidentityfirstimaginarydecode + 1 /\ (ge_balance_positive_proper_constructed_splitsecond_nonunitidentityfirstimaginary) = 0) /\ (ge_balance_negative_proper_constructed_splitsecond_nonunitidentityfirstimaginary) = S ge_signed_half_proper_constructed_splitsecond_nonunitidentityfirstimaginarydecode))) /\ ((ge_first_ip_proper_constructed_splitsecond_nonunitidentity) + ge_balance_negative_proper_constructed_splitsecond_nonunitidentityfirstimaginary = (ge_first_in_proper_constructed_splitsecond_nonunitidentity) + ge_balance_positive_proper_constructed_splitsecond_nonunitidentityfirstimaginary)))))) /\ ((exists ge_representation_real_code_proper_constructed_splitsecond_nonunitidentitysecond ge_representation_imaginary_code_proper_constructed_splitsecond_nonunitidentitysecond. (((gr_inverse_proper_constructed_splitsecond_nonunit) = ((ge_representation_real_code_proper_constructed_splitsecond_nonunitidentitysecond) + (ge_representation_imaginary_code_proper_constructed_splitsecond_nonunitidentitysecond)) * S ((ge_representation_real_code_proper_constructed_splitsecond_nonunitidentitysecond) + (ge_representation_imaginary_code_proper_constructed_splitsecond_nonunitidentitysecond)) + ((ge_representation_imaginary_code_proper_constructed_splitsecond_nonunitidentitysecond) + (ge_representation_imaginary_code_proper_constructed_splitsecond_nonunitidentitysecond))) /\ ((exists ge_balance_positive_proper_constructed_splitsecond_nonunitidentitysecondreal ge_balance_negative_proper_constructed_splitsecond_nonunitidentitysecondreal. (((((ge_representation_real_code_proper_constructed_splitsecond_nonunitidentitysecond) = 2 * (ge_balance_positive_proper_constructed_splitsecond_nonunitidentitysecondreal) /\ (ge_balance_negative_proper_constructed_splitsecond_nonunitidentitysecondreal) = 0) \/ exists ge_signed_half_proper_constructed_splitsecond_nonunitidentitysecondrealdecode. (((ge_representation_real_code_proper_constructed_splitsecond_nonunitidentitysecond) = 2 * ge_signed_half_proper_constructed_splitsecond_nonunitidentitysecondrealdecode + 1 /\ (ge_balance_positive_proper_constructed_splitsecond_nonunitidentitysecondreal) = 0) /\ (ge_balance_negative_proper_constructed_splitsecond_nonunitidentitysecondreal) = S ge_signed_half_proper_constructed_splitsecond_nonunitidentitysecondrealdecode))) /\ ((ge_second_rp_proper_constructed_splitsecond_nonunitidentity) + ge_balance_negative_proper_constructed_splitsecond_nonunitidentitysecondreal = (ge_second_rn_proper_constructed_splitsecond_nonunitidentity) + ge_balance_positive_proper_constructed_splitsecond_nonunitidentitysecondreal))) /\ (exists ge_balance_positive_proper_constructed_splitsecond_nonunitidentitysecondimaginary ge_balance_negative_proper_constructed_splitsecond_nonunitidentitysecondimaginary. (((((ge_representation_imaginary_code_proper_constructed_splitsecond_nonunitidentitysecond) = 2 * (ge_balance_positive_proper_constructed_splitsecond_nonunitidentitysecondimaginary) /\ (ge_balance_negative_proper_constructed_splitsecond_nonunitidentitysecondimaginary) = 0) \/ exists ge_signed_half_proper_constructed_splitsecond_nonunitidentitysecondimaginarydecode. (((ge_representation_imaginary_code_proper_constructed_splitsecond_nonunitidentitysecond) = 2 * ge_signed_half_proper_constructed_splitsecond_nonunitidentitysecondimaginarydecode + 1 /\ (ge_balance_positive_proper_constructed_splitsecond_nonunitidentitysecondimaginary) = 0) /\ (ge_balance_negative_proper_constructed_splitsecond_nonunitidentitysecondimaginary) = S ge_signed_half_proper_constructed_splitsecond_nonunitidentitysecondimaginarydecode))) /\ ((ge_second_ip_proper_constructed_splitsecond_nonunitidentity) + ge_balance_negative_proper_constructed_splitsecond_nonunitidentitysecondimaginary = (ge_second_in_proper_constructed_splitsecond_nonunitidentity) + ge_balance_positive_proper_constructed_splitsecond_nonunitidentitysecondimaginary)))))) /\ (exists ge_representation_real_code_proper_constructed_splitsecond_nonunitidentityoutput ge_representation_imaginary_code_proper_constructed_splitsecond_nonunitidentityoutput. (((6) = ((ge_representation_real_code_proper_constructed_splitsecond_nonunitidentityoutput) + (ge_representation_imaginary_code_proper_constructed_splitsecond_nonunitidentityoutput)) * S ((ge_representation_real_code_proper_constructed_splitsecond_nonunitidentityoutput) + (ge_representation_imaginary_code_proper_constructed_splitsecond_nonunitidentityoutput)) + ((ge_representation_imaginary_code_proper_constructed_splitsecond_nonunitidentityoutput) + (ge_representation_imaginary_code_proper_constructed_splitsecond_nonunitidentityoutput))) /\ ((exists ge_balance_positive_proper_constructed_splitsecond_nonunitidentityoutputreal ge_balance_negative_proper_constructed_splitsecond_nonunitidentityoutputreal. (((((ge_representation_real_code_proper_constructed_splitsecond_nonunitidentityoutput) = 2 * (ge_balance_positive_proper_constructed_splitsecond_nonunitidentityoutputreal) /\ (ge_balance_negative_proper_constructed_splitsecond_nonunitidentityoutputreal) = 0) \/ exists ge_signed_half_proper_constructed_splitsecond_nonunitidentityoutputrealdecode. (((ge_representation_real_code_proper_constructed_splitsecond_nonunitidentityoutput) = 2 * ge_signed_half_proper_constructed_splitsecond_nonunitidentityoutputrealdecode + 1 /\ (ge_balance_positive_proper_constructed_splitsecond_nonunitidentityoutputreal) = 0) /\ (ge_balance_negative_proper_constructed_splitsecond_nonunitidentityoutputreal) = S ge_signed_half_proper_constructed_splitsecond_nonunitidentityoutputrealdecode))) /\ ((((((((ge_first_rp_proper_constructed_splitsecond_nonunitidentity) * (ge_second_rp_proper_constructed_splitsecond_nonunitidentity))) + (((ge_first_rn_proper_constructed_splitsecond_nonunitidentity) * (ge_second_rn_proper_constructed_splitsecond_nonunitidentity))))) + (((((ge_first_ip_proper_constructed_splitsecond_nonunitidentity) * (ge_second_in_proper_constructed_splitsecond_nonunitidentity))) + (((ge_first_in_proper_constructed_splitsecond_nonunitidentity) * (ge_second_ip_proper_constructed_splitsecond_nonunitidentity))))))) + ge_balance_negative_proper_constructed_splitsecond_nonunitidentityoutputreal = (((((((ge_first_rp_proper_constructed_splitsecond_nonunitidentity) * (ge_second_rn_proper_constructed_splitsecond_nonunitidentity))) + (((ge_first_rn_proper_constructed_splitsecond_nonunitidentity) * (ge_second_rp_proper_constructed_splitsecond_nonunitidentity))))) + (((((ge_first_ip_proper_constructed_splitsecond_nonunitidentity) * (ge_second_ip_proper_constructed_splitsecond_nonunitidentity))) + (((ge_first_in_proper_constructed_splitsecond_nonunitidentity) * (ge_second_in_proper_constructed_splitsecond_nonunitidentity))))))) + ge_balance_positive_proper_constructed_splitsecond_nonunitidentityoutputreal))) /\ (exists ge_balance_positive_proper_constructed_splitsecond_nonunitidentityoutputimaginary ge_balance_negative_proper_constructed_splitsecond_nonunitidentityoutputimaginary. (((((ge_representation_imaginary_code_proper_constructed_splitsecond_nonunitidentityoutput) = 2 * (ge_balance_positive_proper_constructed_splitsecond_nonunitidentityoutputimaginary) /\ (ge_balance_negative_proper_constructed_splitsecond_nonunitidentityoutputimaginary) = 0) \/ exists ge_signed_half_proper_constructed_splitsecond_nonunitidentityoutputimaginarydecode. (((ge_representation_imaginary_code_proper_constructed_splitsecond_nonunitidentityoutput) = 2 * ge_signed_half_proper_constructed_splitsecond_nonunitidentityoutputimaginarydecode + 1 /\ (ge_balance_positive_proper_constructed_splitsecond_nonunitidentityoutputimaginary) = 0) /\ (ge_balance_negative_proper_constructed_splitsecond_nonunitidentityoutputimaginary) = S ge_signed_half_proper_constructed_splitsecond_nonunitidentityoutputimaginarydecode))) /\ ((((((((ge_first_rp_proper_constructed_splitsecond_nonunitidentity) * (ge_second_ip_proper_constructed_splitsecond_nonunitidentity))) + (((ge_first_rn_proper_constructed_splitsecond_nonunitidentity) * (ge_second_in_proper_constructed_splitsecond_nonunitidentity))))) + (((((ge_first_ip_proper_constructed_splitsecond_nonunitidentity) * (ge_second_rp_proper_constructed_splitsecond_nonunitidentity))) + (((ge_first_in_proper_constructed_splitsecond_nonunitidentity) * (ge_second_rn_proper_constructed_splitsecond_nonunitidentity))))))) + ge_balance_negative_proper_constructed_splitsecond_nonunitidentityoutputimaginary = (((((((ge_first_rp_proper_constructed_splitsecond_nonunitidentity) * (ge_second_in_proper_constructed_splitsecond_nonunitidentity))) + (((ge_first_rn_proper_constructed_splitsecond_nonunitidentity) * (ge_second_ip_proper_constructed_splitsecond_nonunitidentity))))) + (((((ge_first_ip_proper_constructed_splitsecond_nonunitidentity) * (ge_second_rn_proper_constructed_splitsecond_nonunitidentity))) + (((ge_first_in_proper_constructed_splitsecond_nonunitidentity) * (ge_second_rp_proper_constructed_splitsecond_nonunitidentity))))))) + ge_balance_positive_proper_constructed_splitsecond_nonunitidentityoutputimaginary))))))))))) /\ ((exists ge_gap_proper_constructed_splitfirst_strict. ge_gap_proper_constructed_splitfirst_strict + S (D) = (N)) /\ (exists ge_gap_proper_constructed_splitsecond_strict. ge_gap_proper_constructed_splitsecond_strict + S (Q) = (N))))))))))

Constructive proof overview

Generated structural guide

A found proper-norm divisor yields an actual quotient; both factors are nonunits with strictly smaller actual norms.

The unchanged tactic script uses 7 declared prerequisites and contains 79 exact native proof lines.

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

Proof neighborhood

Direct dependencies

GF005B gaussian_divisor_norm_factor GF0019 gaussian_unit_has_norm_one gaussian_norm_functional Alpha theorem; checked-use authorized mul_one Stable theorem; checked-use authorized lt_irrefl_expanded Stable theorem; checked-use authorized GF007A gaussian_search_norm_factors_strict GF0016 gaussian_norm_nonzero

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

79 script commands · 24 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 (4)

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–6

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 hn
  6. L6
    intro hz
02Separate the logical casesL7–10

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

  1. L7
    cases hd
  2. L8
    cases hd_right
  3. L9
    cases hd_right_right
  4. L10
    cases hd_right_right_witness
03Establish hfactorL11–19

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

  1. L11
    have hfactor : ∃ q. ∃ Q. GMul(d,q,z) ∧ (GNorm(q,Q) ∧ N = x · Q)Definitions: GNormGMul
  2. L12
    specialize gaussian_divisor_norm_factor (d)
  3. L13
    specialize gaussian_divisor_norm_factor (z)
  4. L14
    specialize gaussian_divisor_norm_factor (x)
  5. L15
    specialize gaussian_divisor_norm_factor (N)
  6. L16
    apply gaussian_divisor_norm_factor
  7. L17
    exact hd_right_left
  8. L18
    exact hd_right_right_witness_left
  9. L19
    exact hn
04Separate the logical casesL20–23

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

  1. L20
    cases hfactor
  2. L21
    cases hfactor_witness
  3. L22
    cases hfactor_witness_witness
  4. L23
    cases hfactor_witness_witness_right
05Establish hquL24–25

Establish this local claim before using it. It is not an additional assumption.

  1. L24
    have hqu : ¬GUnit(x1)Definitions: GUnit
  2. L25
    intro hu
06Establish heqL26–34

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

  1. L26
    have heq : x2=1
  2. L27
    specialize gaussian_norm_functional (x1)
  3. L28
    specialize gaussian_norm_functional (x2)
  4. L29
    specialize gaussian_norm_functional (1)
  5. L30
    apply gaussian_norm_functional
  6. L31
    exact hfactor_witness_witness_right_left
  7. L32
    specialize gaussian_unit_has_norm_one (x1)
  8. L33
    apply gaussian_unit_has_norm_one
  9. L34
    exact hu
07Establish htotalL35–43

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul one.

  1. L35
    have htotal : N=x
  2. L36
    trans x*x2
  3. L37
    exact hfactor_witness_witness_right_right
  4. L38
    rewrite heq
  5. L39
    apply mul_one
  6. L40
    rewrite htotal at hd_right_right_witness_right
  7. L41
    specialize lt_irrefl_expanded (x)
  8. L42
    apply lt_irrefl_expanded
  9. L43
    exact hd_right_right_witness_right
08Establish hstrictL44–53

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

  1. L44
    have hstrict : ((exists ge_gap_proper_first_strict. ge_gap_proper_first_strict + S (x) = (N)) /\ (exists ge_gap_proper_second_strict. ge_gap_proper_second_strict + S (x2) = (N)))
  2. L45
    specialize gaussian_search_norm_factors_strict (d)
  3. L46
    specialize gaussian_search_norm_factors_strict (x1)
  4. L47
    specialize gaussian_search_norm_factors_strict (x)
  5. L48
    specialize gaussian_search_norm_factors_strict (x2)
  6. L49
    specialize gaussian_search_norm_factors_strict (N)
  7. L50
    apply gaussian_search_norm_factors_strict
  8. L51
    exact hd_right_right_witness_left
  9. L52
    exact hfactor_witness_witness_right_left
  10. L53
    exact hfactor_witness_witness_right_right
09Fix variables and assumptionsL54–54

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

  1. L54
    intro hzero
10Use earlier factsL55–62

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

  1. L55
    specialize gaussian_norm_nonzero (z)
  2. L56
    specialize gaussian_norm_nonzero (N)
  3. L57
    apply gaussian_norm_nonzero
  4. L58
    exact hn
  5. L59
    exact hz
  6. L60
    exact hzero
  7. L61
    exact hd_left
  8. L62
    exact hqu
11Separate the logical casesL63–63

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

  1. L63
    cases hstrict
12Construct an explicit witnessL64–66

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

  1. L64
    exists (x1)
  2. L65
    exists (x)
  3. L66
    exists (x2)
13Separate the logical casesL67–67

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

  1. L67
    split
14Use earlier factsL68–68

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

  1. L68
    exact hfactor_witness_witness_left
15Separate the logical casesL69–69

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

  1. L69
    split
16Use earlier factsL70–70

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

  1. L70
    exact hd_right_right_witness_left
17Separate the logical casesL71–71

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

  1. L71
    split
18Use earlier factsL72–72

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

  1. L72
    exact hfactor_witness_witness_right_left
19Separate the logical casesL73–73

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

  1. L73
    split
20Use earlier factsL74–74

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

  1. L74
    exact hd_left
21Separate the logical casesL75–75

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

  1. L75
    split
22Use earlier factsL76–76

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

  1. L76
    exact hqu
23Separate the logical casesL77–77

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

  1. L77
    split
24Use earlier factsL78–79

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

  1. L78
    exact hstrict_left
  2. L79
    exact hstrict_right

Library-wide reading audit

Original exact command ledger · 79 lines
  1. 0001intro d
  2. 0002intro z
  3. 0003intro N
  4. 0004intro hd
  5. 0005intro hn
  6. 0006intro hz
  7. 0007cases hd
  8. 0008cases hd_right
  9. 0009cases hd_right_right
  10. 0010cases hd_right_right_witness
  11. 0011have hfactor : exists q Q. ((exists ge_first_rp_proper_factor_product ge_first_rn_proper_factor_product ge_first_ip_proper_factor_product ge_first_in_proper_factor_product ge_second_rp_proper_factor_product ge_second_rn_proper_factor_product ge_second_ip_proper_factor_product ge_second_in_proper_factor_product. ((exists ge_representation_real_code_proper_factor_productfirst ge_representation_imaginary_code_proper_factor_productfirst. (((d) = ((ge_representation_real_code_proper_factor_productfirst) + (ge_representation_imaginary_code_proper_factor_productfirst)) * S ((ge_representation_real_code_proper_factor_productfirst) + (ge_representation_imaginary_code_proper_factor_productfirst)) + ((ge_representation_imaginary_code_proper_factor_productfirst) + (ge_representation_imaginary_code_proper_factor_productfirst))) /\ ((exists ge_balance_positive_proper_factor_productfirstreal ge_balance_negative_proper_factor_productfirstreal. (((((ge_representation_real_code_proper_factor_productfirst) = 2 * (ge_balance_positive_proper_factor_productfirstreal) /\ (ge_balance_negative_proper_factor_productfirstreal) = 0) \/ exists ge_signed_half_proper_factor_productfirstrealdecode. (((ge_representation_real_code_proper_factor_productfirst) = 2 * ge_signed_half_proper_factor_productfirstrealdecode + 1 /\ (ge_balance_positive_proper_factor_productfirstreal) = 0) /\ (ge_balance_negative_proper_factor_productfirstreal) = S ge_signed_half_proper_factor_productfirstrealdecode))) /\ ((ge_first_rp_proper_factor_product) + ge_balance_negative_proper_factor_productfirstreal = (ge_first_rn_proper_factor_product) + ge_balance_positive_proper_factor_productfirstreal))) /\ (exists ge_balance_positive_proper_factor_productfirstimaginary ge_balance_negative_proper_factor_productfirstimaginary. (((((ge_representation_imaginary_code_proper_factor_productfirst) = 2 * (ge_balance_positive_proper_factor_productfirstimaginary) /\ (ge_balance_negative_proper_factor_productfirstimaginary) = 0) \/ exists ge_signed_half_proper_factor_productfirstimaginarydecode. (((ge_representation_imaginary_code_proper_factor_productfirst) = 2 * ge_signed_half_proper_factor_productfirstimaginarydecode + 1 /\ (ge_balance_positive_proper_factor_productfirstimaginary) = 0) /\ (ge_balance_negative_proper_factor_productfirstimaginary) = S ge_signed_half_proper_factor_productfirstimaginarydecode))) /\ ((ge_first_ip_proper_factor_product) + ge_balance_negative_proper_factor_productfirstimaginary = (ge_first_in_proper_factor_product) + ge_balance_positive_proper_factor_productfirstimaginary)))))) /\ ((exists ge_representation_real_code_proper_factor_productsecond ge_representation_imaginary_code_proper_factor_productsecond. (((q) = ((ge_representation_real_code_proper_factor_productsecond) + (ge_representation_imaginary_code_proper_factor_productsecond)) * S ((ge_representation_real_code_proper_factor_productsecond) + (ge_representation_imaginary_code_proper_factor_productsecond)) + ((ge_representation_imaginary_code_proper_factor_productsecond) + (ge_representation_imaginary_code_proper_factor_productsecond))) /\ ((exists ge_balance_positive_proper_factor_productsecondreal ge_balance_negative_proper_factor_productsecondreal. (((((ge_representation_real_code_proper_factor_productsecond) = 2 * (ge_balance_positive_proper_factor_productsecondreal) /\ (ge_balance_negative_proper_factor_productsecondreal) = 0) \/ exists ge_signed_half_proper_factor_productsecondrealdecode. (((ge_representation_real_code_proper_factor_productsecond) = 2 * ge_signed_half_proper_factor_productsecondrealdecode + 1 /\ (ge_balance_positive_proper_factor_productsecondreal) = 0) /\ (ge_balance_negative_proper_factor_productsecondreal) = S ge_signed_half_proper_factor_productsecondrealdecode))) /\ ((ge_second_rp_proper_factor_product) + ge_balance_negative_proper_factor_productsecondreal = (ge_second_rn_proper_factor_product) + ge_balance_positive_proper_factor_productsecondreal))) /\ (exists ge_balance_positive_proper_factor_productsecondimaginary ge_balance_negative_proper_factor_productsecondimaginary. (((((ge_representation_imaginary_code_proper_factor_productsecond) = 2 * (ge_balance_positive_proper_factor_productsecondimaginary) /\ (ge_balance_negative_proper_factor_productsecondimaginary) = 0) \/ exists ge_signed_half_proper_factor_productsecondimaginarydecode. (((ge_representation_imaginary_code_proper_factor_productsecond) = 2 * ge_signed_half_proper_factor_productsecondimaginarydecode + 1 /\ (ge_balance_positive_proper_factor_productsecondimaginary) = 0) /\ (ge_balance_negative_proper_factor_productsecondimaginary) = S ge_signed_half_proper_factor_productsecondimaginarydecode))) /\ ((ge_second_ip_proper_factor_product) + ge_balance_negative_proper_factor_productsecondimaginary = (ge_second_in_proper_factor_product) + ge_balance_positive_proper_factor_productsecondimaginary)))))) /\ (exists ge_representation_real_code_proper_factor_productoutput ge_representation_imaginary_code_proper_factor_productoutput. (((z) = ((ge_representation_real_code_proper_factor_productoutput) + (ge_representation_imaginary_code_proper_factor_productoutput)) * S ((ge_representation_real_code_proper_factor_productoutput) + (ge_representation_imaginary_code_proper_factor_productoutput)) + ((ge_representation_imaginary_code_proper_factor_productoutput) + (ge_representation_imaginary_code_proper_factor_productoutput))) /\ ((exists ge_balance_positive_proper_factor_productoutputreal ge_balance_negative_proper_factor_productoutputreal. (((((ge_representation_real_code_proper_factor_productoutput) = 2 * (ge_balance_positive_proper_factor_productoutputreal) /\ (ge_balance_negative_proper_factor_productoutputreal) = 0) \/ exists ge_signed_half_proper_factor_productoutputrealdecode. (((ge_representation_real_code_proper_factor_productoutput) = 2 * ge_signed_half_proper_factor_productoutputrealdecode + 1 /\ (ge_balance_positive_proper_factor_productoutputreal) = 0) /\ (ge_balance_negative_proper_factor_productoutputreal) = S ge_signed_half_proper_factor_productoutputrealdecode))) /\ ((((((((ge_first_rp_proper_factor_product) * (ge_second_rp_proper_factor_product))) + (((ge_first_rn_proper_factor_product) * (ge_second_rn_proper_factor_product))))) + (((((ge_first_ip_proper_factor_product) * (ge_second_in_proper_factor_product))) + (((ge_first_in_proper_factor_product) * (ge_second_ip_proper_factor_product))))))) + ge_balance_negative_proper_factor_productoutputreal = (((((((ge_first_rp_proper_factor_product) * (ge_second_rn_proper_factor_product))) + (((ge_first_rn_proper_factor_product) * (ge_second_rp_proper_factor_product))))) + (((((ge_first_ip_proper_factor_product) * (ge_second_ip_proper_factor_product))) + (((ge_first_in_proper_factor_product) * (ge_second_in_proper_factor_product))))))) + ge_balance_positive_proper_factor_productoutputreal))) /\ (exists ge_balance_positive_proper_factor_productoutputimaginary ge_balance_negative_proper_factor_productoutputimaginary. (((((ge_representation_imaginary_code_proper_factor_productoutput) = 2 * (ge_balance_positive_proper_factor_productoutputimaginary) /\ (ge_balance_negative_proper_factor_productoutputimaginary) = 0) \/ exists ge_signed_half_proper_factor_productoutputimaginarydecode. (((ge_representation_imaginary_code_proper_factor_productoutput) = 2 * ge_signed_half_proper_factor_productoutputimaginarydecode + 1 /\ (ge_balance_positive_proper_factor_productoutputimaginary) = 0) /\ (ge_balance_negative_proper_factor_productoutputimaginary) = S ge_signed_half_proper_factor_productoutputimaginarydecode))) /\ ((((((((ge_first_rp_proper_factor_product) * (ge_second_ip_proper_factor_product))) + (((ge_first_rn_proper_factor_product) * (ge_second_in_proper_factor_product))))) + (((((ge_first_ip_proper_factor_product) * (ge_second_rp_proper_factor_product))) + (((ge_first_in_proper_factor_product) * (ge_second_rn_proper_factor_product))))))) + ge_balance_negative_proper_factor_productoutputimaginary = (((((((ge_first_rp_proper_factor_product) * (ge_second_in_proper_factor_product))) + (((ge_first_rn_proper_factor_product) * (ge_second_ip_proper_factor_product))))) + (((((ge_first_ip_proper_factor_product) * (ge_second_rn_proper_factor_product))) + (((ge_first_in_proper_factor_product) * (ge_second_rp_proper_factor_product))))))) + ge_balance_positive_proper_factor_productoutputimaginary))))))))) /\ ((exists ge_norm_rp_proper_factor_norm ge_norm_rn_proper_factor_norm ge_norm_ip_proper_factor_norm ge_norm_in_proper_factor_norm. ((exists ge_representation_real_code_proper_factor_normrepresentation ge_representation_imaginary_code_proper_factor_normrepresentation. (((q) = ((ge_representation_real_code_proper_factor_normrepresentation) + (ge_representation_imaginary_code_proper_factor_normrepresentation)) * S ((ge_representation_real_code_proper_factor_normrepresentation) + (ge_representation_imaginary_code_proper_factor_normrepresentation)) + ((ge_representation_imaginary_code_proper_factor_normrepresentation) + (ge_representation_imaginary_code_proper_factor_normrepresentation))) /\ ((exists ge_balance_positive_proper_factor_normrepresentationreal ge_balance_negative_proper_factor_normrepresentationreal. (((((ge_representation_real_code_proper_factor_normrepresentation) = 2 * (ge_balance_positive_proper_factor_normrepresentationreal) /\ (ge_balance_negative_proper_factor_normrepresentationreal) = 0) \/ exists ge_signed_half_proper_factor_normrepresentationrealdecode. (((ge_representation_real_code_proper_factor_normrepresentation) = 2 * ge_signed_half_proper_factor_normrepresentationrealdecode + 1 /\ (ge_balance_positive_proper_factor_normrepresentationreal) = 0) /\ (ge_balance_negative_proper_factor_normrepresentationreal) = S ge_signed_half_proper_factor_normrepresentationrealdecode))) /\ ((ge_norm_rp_proper_factor_norm) + ge_balance_negative_proper_factor_normrepresentationreal = (ge_norm_rn_proper_factor_norm) + ge_balance_positive_proper_factor_normrepresentationreal))) /\ (exists ge_balance_positive_proper_factor_normrepresentationimaginary ge_balance_negative_proper_factor_normrepresentationimaginary. (((((ge_representation_imaginary_code_proper_factor_normrepresentation) = 2 * (ge_balance_positive_proper_factor_normrepresentationimaginary) /\ (ge_balance_negative_proper_factor_normrepresentationimaginary) = 0) \/ exists ge_signed_half_proper_factor_normrepresentationimaginarydecode. (((ge_representation_imaginary_code_proper_factor_normrepresentation) = 2 * ge_signed_half_proper_factor_normrepresentationimaginarydecode + 1 /\ (ge_balance_positive_proper_factor_normrepresentationimaginary) = 0) /\ (ge_balance_negative_proper_factor_normrepresentationimaginary) = S ge_signed_half_proper_factor_normrepresentationimaginarydecode))) /\ ((ge_norm_ip_proper_factor_norm) + ge_balance_negative_proper_factor_normrepresentationimaginary = (ge_norm_in_proper_factor_norm) + ge_balance_positive_proper_factor_normrepresentationimaginary)))))) /\ (exists ge_real_square_proper_factor_normsquare ge_imaginary_square_proper_factor_normsquare. ((((((ge_norm_rp_proper_factor_norm) * (ge_norm_rp_proper_factor_norm))) + (((ge_norm_rn_proper_factor_norm) * (ge_norm_rn_proper_factor_norm)))) = ((ge_real_square_proper_factor_normsquare) + (((((ge_norm_rp_proper_factor_norm) * (ge_norm_rn_proper_factor_norm))) + (((ge_norm_rn_proper_factor_norm) * (ge_norm_rp_proper_factor_norm))))))) /\ ((((((ge_norm_ip_proper_factor_norm) * (ge_norm_ip_proper_factor_norm))) + (((ge_norm_in_proper_factor_norm) * (ge_norm_in_proper_factor_norm)))) = ((ge_imaginary_square_proper_factor_normsquare) + (((((ge_norm_ip_proper_factor_norm) * (ge_norm_in_proper_factor_norm))) + (((ge_norm_in_proper_factor_norm) * (ge_norm_ip_proper_factor_norm))))))) /\ ((Q) = ge_real_square_proper_factor_normsquare + ge_imaginary_square_proper_factor_normsquare)))))) /\ (N=x*Q)))
  12. 0012specialize gaussian_divisor_norm_factor (d)
  13. 0013specialize gaussian_divisor_norm_factor (z)
  14. 0014specialize gaussian_divisor_norm_factor (x)
  15. 0015specialize gaussian_divisor_norm_factor (N)
  16. 0016apply gaussian_divisor_norm_factor
  17. 0017exact hd_right_left
  18. 0018exact hd_right_right_witness_left
  19. 0019exact hn
  20. 0020cases hfactor
  21. 0021cases hfactor_witness
  22. 0022cases hfactor_witness_witness
  23. 0023cases hfactor_witness_witness_right
  24. 0024have hqu : ~(exists gr_inverse_proper_quotient_nonunit. (exists ge_first_rp_proper_quotient_nonunitidentity ge_first_rn_proper_quotient_nonunitidentity ge_first_ip_proper_quotient_nonunitidentity ge_first_in_proper_quotient_nonunitidentity ge_second_rp_proper_quotient_nonunitidentity ge_second_rn_proper_quotient_nonunitidentity ge_second_ip_proper_quotient_nonunitidentity ge_second_in_proper_quotient_nonunitidentity. ((exists ge_representation_real_code_proper_quotient_nonunitidentityfirst ge_representation_imaginary_code_proper_quotient_nonunitidentityfirst. (((x1) = ((ge_representation_real_code_proper_quotient_nonunitidentityfirst) + (ge_representation_imaginary_code_proper_quotient_nonunitidentityfirst)) * S ((ge_representation_real_code_proper_quotient_nonunitidentityfirst) + (ge_representation_imaginary_code_proper_quotient_nonunitidentityfirst)) + ((ge_representation_imaginary_code_proper_quotient_nonunitidentityfirst) + (ge_representation_imaginary_code_proper_quotient_nonunitidentityfirst))) /\ ((exists ge_balance_positive_proper_quotient_nonunitidentityfirstreal ge_balance_negative_proper_quotient_nonunitidentityfirstreal. (((((ge_representation_real_code_proper_quotient_nonunitidentityfirst) = 2 * (ge_balance_positive_proper_quotient_nonunitidentityfirstreal) /\ (ge_balance_negative_proper_quotient_nonunitidentityfirstreal) = 0) \/ exists ge_signed_half_proper_quotient_nonunitidentityfirstrealdecode. (((ge_representation_real_code_proper_quotient_nonunitidentityfirst) = 2 * ge_signed_half_proper_quotient_nonunitidentityfirstrealdecode + 1 /\ (ge_balance_positive_proper_quotient_nonunitidentityfirstreal) = 0) /\ (ge_balance_negative_proper_quotient_nonunitidentityfirstreal) = S ge_signed_half_proper_quotient_nonunitidentityfirstrealdecode))) /\ ((ge_first_rp_proper_quotient_nonunitidentity) + ge_balance_negative_proper_quotient_nonunitidentityfirstreal = (ge_first_rn_proper_quotient_nonunitidentity) + ge_balance_positive_proper_quotient_nonunitidentityfirstreal))) /\ (exists ge_balance_positive_proper_quotient_nonunitidentityfirstimaginary ge_balance_negative_proper_quotient_nonunitidentityfirstimaginary. (((((ge_representation_imaginary_code_proper_quotient_nonunitidentityfirst) = 2 * (ge_balance_positive_proper_quotient_nonunitidentityfirstimaginary) /\ (ge_balance_negative_proper_quotient_nonunitidentityfirstimaginary) = 0) \/ exists ge_signed_half_proper_quotient_nonunitidentityfirstimaginarydecode. (((ge_representation_imaginary_code_proper_quotient_nonunitidentityfirst) = 2 * ge_signed_half_proper_quotient_nonunitidentityfirstimaginarydecode + 1 /\ (ge_balance_positive_proper_quotient_nonunitidentityfirstimaginary) = 0) /\ (ge_balance_negative_proper_quotient_nonunitidentityfirstimaginary) = S ge_signed_half_proper_quotient_nonunitidentityfirstimaginarydecode))) /\ ((ge_first_ip_proper_quotient_nonunitidentity) + ge_balance_negative_proper_quotient_nonunitidentityfirstimaginary = (ge_first_in_proper_quotient_nonunitidentity) + ge_balance_positive_proper_quotient_nonunitidentityfirstimaginary)))))) /\ ((exists ge_representation_real_code_proper_quotient_nonunitidentitysecond ge_representation_imaginary_code_proper_quotient_nonunitidentitysecond. (((gr_inverse_proper_quotient_nonunit) = ((ge_representation_real_code_proper_quotient_nonunitidentitysecond) + (ge_representation_imaginary_code_proper_quotient_nonunitidentitysecond)) * S ((ge_representation_real_code_proper_quotient_nonunitidentitysecond) + (ge_representation_imaginary_code_proper_quotient_nonunitidentitysecond)) + ((ge_representation_imaginary_code_proper_quotient_nonunitidentitysecond) + (ge_representation_imaginary_code_proper_quotient_nonunitidentitysecond))) /\ ((exists ge_balance_positive_proper_quotient_nonunitidentitysecondreal ge_balance_negative_proper_quotient_nonunitidentitysecondreal. (((((ge_representation_real_code_proper_quotient_nonunitidentitysecond) = 2 * (ge_balance_positive_proper_quotient_nonunitidentitysecondreal) /\ (ge_balance_negative_proper_quotient_nonunitidentitysecondreal) = 0) \/ exists ge_signed_half_proper_quotient_nonunitidentitysecondrealdecode. (((ge_representation_real_code_proper_quotient_nonunitidentitysecond) = 2 * ge_signed_half_proper_quotient_nonunitidentitysecondrealdecode + 1 /\ (ge_balance_positive_proper_quotient_nonunitidentitysecondreal) = 0) /\ (ge_balance_negative_proper_quotient_nonunitidentitysecondreal) = S ge_signed_half_proper_quotient_nonunitidentitysecondrealdecode))) /\ ((ge_second_rp_proper_quotient_nonunitidentity) + ge_balance_negative_proper_quotient_nonunitidentitysecondreal = (ge_second_rn_proper_quotient_nonunitidentity) + ge_balance_positive_proper_quotient_nonunitidentitysecondreal))) /\ (exists ge_balance_positive_proper_quotient_nonunitidentitysecondimaginary ge_balance_negative_proper_quotient_nonunitidentitysecondimaginary. (((((ge_representation_imaginary_code_proper_quotient_nonunitidentitysecond) = 2 * (ge_balance_positive_proper_quotient_nonunitidentitysecondimaginary) /\ (ge_balance_negative_proper_quotient_nonunitidentitysecondimaginary) = 0) \/ exists ge_signed_half_proper_quotient_nonunitidentitysecondimaginarydecode. (((ge_representation_imaginary_code_proper_quotient_nonunitidentitysecond) = 2 * ge_signed_half_proper_quotient_nonunitidentitysecondimaginarydecode + 1 /\ (ge_balance_positive_proper_quotient_nonunitidentitysecondimaginary) = 0) /\ (ge_balance_negative_proper_quotient_nonunitidentitysecondimaginary) = S ge_signed_half_proper_quotient_nonunitidentitysecondimaginarydecode))) /\ ((ge_second_ip_proper_quotient_nonunitidentity) + ge_balance_negative_proper_quotient_nonunitidentitysecondimaginary = (ge_second_in_proper_quotient_nonunitidentity) + ge_balance_positive_proper_quotient_nonunitidentitysecondimaginary)))))) /\ (exists ge_representation_real_code_proper_quotient_nonunitidentityoutput ge_representation_imaginary_code_proper_quotient_nonunitidentityoutput. (((6) = ((ge_representation_real_code_proper_quotient_nonunitidentityoutput) + (ge_representation_imaginary_code_proper_quotient_nonunitidentityoutput)) * S ((ge_representation_real_code_proper_quotient_nonunitidentityoutput) + (ge_representation_imaginary_code_proper_quotient_nonunitidentityoutput)) + ((ge_representation_imaginary_code_proper_quotient_nonunitidentityoutput) + (ge_representation_imaginary_code_proper_quotient_nonunitidentityoutput))) /\ ((exists ge_balance_positive_proper_quotient_nonunitidentityoutputreal ge_balance_negative_proper_quotient_nonunitidentityoutputreal. (((((ge_representation_real_code_proper_quotient_nonunitidentityoutput) = 2 * (ge_balance_positive_proper_quotient_nonunitidentityoutputreal) /\ (ge_balance_negative_proper_quotient_nonunitidentityoutputreal) = 0) \/ exists ge_signed_half_proper_quotient_nonunitidentityoutputrealdecode. (((ge_representation_real_code_proper_quotient_nonunitidentityoutput) = 2 * ge_signed_half_proper_quotient_nonunitidentityoutputrealdecode + 1 /\ (ge_balance_positive_proper_quotient_nonunitidentityoutputreal) = 0) /\ (ge_balance_negative_proper_quotient_nonunitidentityoutputreal) = S ge_signed_half_proper_quotient_nonunitidentityoutputrealdecode))) /\ ((((((((ge_first_rp_proper_quotient_nonunitidentity) * (ge_second_rp_proper_quotient_nonunitidentity))) + (((ge_first_rn_proper_quotient_nonunitidentity) * (ge_second_rn_proper_quotient_nonunitidentity))))) + (((((ge_first_ip_proper_quotient_nonunitidentity) * (ge_second_in_proper_quotient_nonunitidentity))) + (((ge_first_in_proper_quotient_nonunitidentity) * (ge_second_ip_proper_quotient_nonunitidentity))))))) + ge_balance_negative_proper_quotient_nonunitidentityoutputreal = (((((((ge_first_rp_proper_quotient_nonunitidentity) * (ge_second_rn_proper_quotient_nonunitidentity))) + (((ge_first_rn_proper_quotient_nonunitidentity) * (ge_second_rp_proper_quotient_nonunitidentity))))) + (((((ge_first_ip_proper_quotient_nonunitidentity) * (ge_second_ip_proper_quotient_nonunitidentity))) + (((ge_first_in_proper_quotient_nonunitidentity) * (ge_second_in_proper_quotient_nonunitidentity))))))) + ge_balance_positive_proper_quotient_nonunitidentityoutputreal))) /\ (exists ge_balance_positive_proper_quotient_nonunitidentityoutputimaginary ge_balance_negative_proper_quotient_nonunitidentityoutputimaginary. (((((ge_representation_imaginary_code_proper_quotient_nonunitidentityoutput) = 2 * (ge_balance_positive_proper_quotient_nonunitidentityoutputimaginary) /\ (ge_balance_negative_proper_quotient_nonunitidentityoutputimaginary) = 0) \/ exists ge_signed_half_proper_quotient_nonunitidentityoutputimaginarydecode. (((ge_representation_imaginary_code_proper_quotient_nonunitidentityoutput) = 2 * ge_signed_half_proper_quotient_nonunitidentityoutputimaginarydecode + 1 /\ (ge_balance_positive_proper_quotient_nonunitidentityoutputimaginary) = 0) /\ (ge_balance_negative_proper_quotient_nonunitidentityoutputimaginary) = S ge_signed_half_proper_quotient_nonunitidentityoutputimaginarydecode))) /\ ((((((((ge_first_rp_proper_quotient_nonunitidentity) * (ge_second_ip_proper_quotient_nonunitidentity))) + (((ge_first_rn_proper_quotient_nonunitidentity) * (ge_second_in_proper_quotient_nonunitidentity))))) + (((((ge_first_ip_proper_quotient_nonunitidentity) * (ge_second_rp_proper_quotient_nonunitidentity))) + (((ge_first_in_proper_quotient_nonunitidentity) * (ge_second_rn_proper_quotient_nonunitidentity))))))) + ge_balance_negative_proper_quotient_nonunitidentityoutputimaginary = (((((((ge_first_rp_proper_quotient_nonunitidentity) * (ge_second_in_proper_quotient_nonunitidentity))) + (((ge_first_rn_proper_quotient_nonunitidentity) * (ge_second_ip_proper_quotient_nonunitidentity))))) + (((((ge_first_ip_proper_quotient_nonunitidentity) * (ge_second_rn_proper_quotient_nonunitidentity))) + (((ge_first_in_proper_quotient_nonunitidentity) * (ge_second_rp_proper_quotient_nonunitidentity))))))) + ge_balance_positive_proper_quotient_nonunitidentityoutputimaginary))))))))))
  25. 0025intro hu
  26. 0026have heq : x2=1
  27. 0027specialize gaussian_norm_functional (x1)
  28. 0028specialize gaussian_norm_functional (x2)
  29. 0029specialize gaussian_norm_functional (1)
  30. 0030apply gaussian_norm_functional
  31. 0031exact hfactor_witness_witness_right_left
  32. 0032specialize gaussian_unit_has_norm_one (x1)
  33. 0033apply gaussian_unit_has_norm_one
  34. 0034exact hu
  35. 0035have htotal : N=x
  36. 0036trans x*x2
  37. 0037exact hfactor_witness_witness_right_right
  38. 0038rewrite heq
  39. 0039apply mul_one
  40. 0040rewrite htotal at hd_right_right_witness_right
  41. 0041specialize lt_irrefl_expanded (x)
  42. 0042apply lt_irrefl_expanded
  43. 0043exact hd_right_right_witness_right
  44. 0044have hstrict : ((exists ge_gap_proper_first_strict. ge_gap_proper_first_strict + S (x) = (N)) /\ (exists ge_gap_proper_second_strict. ge_gap_proper_second_strict + S (x2) = (N)))
  45. 0045specialize gaussian_search_norm_factors_strict (d)
  46. 0046specialize gaussian_search_norm_factors_strict (x1)
  47. 0047specialize gaussian_search_norm_factors_strict (x)
  48. 0048specialize gaussian_search_norm_factors_strict (x2)
  49. 0049specialize gaussian_search_norm_factors_strict (N)
  50. 0050apply gaussian_search_norm_factors_strict
  51. 0051exact hd_right_right_witness_left
  52. 0052exact hfactor_witness_witness_right_left
  53. 0053exact hfactor_witness_witness_right_right
  54. 0054intro hzero
  55. 0055specialize gaussian_norm_nonzero (z)
  56. 0056specialize gaussian_norm_nonzero (N)
  57. 0057apply gaussian_norm_nonzero
  58. 0058exact hn
  59. 0059exact hz
  60. 0060exact hzero
  61. 0061exact hd_left
  62. 0062exact hqu
  63. 0063cases hstrict
  64. 0064exists (x1)
  65. 0065exists (x)
  66. 0066exists (x2)
  67. 0067split
  68. 0068exact hfactor_witness_witness_left
  69. 0069split
  70. 0070exact hd_right_right_witness_left
  71. 0071split
  72. 0072exact hfactor_witness_witness_right_left
  73. 0073split
  74. 0074exact hd_left
  75. 0075split
  76. 0076exact hqu
  77. 0077split
  78. 0078exact hstrict_left
  79. 0079exact hstrict_right