GF0078

gaussian_factor_search_complete

A finite (2N+1)-by-(2N+1) coordinate search decides whether any actual Gaussian proper-norm divisor exists, with no validity oracle.

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

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.

Inputs are genuine canonical signed-pair codes, not arbitrary naturals. Products start at the actual Gaussian identity, whose code is six. The factor list uses the proved prime-divisor property; irreducibility alone is not silently renamed primality. Uniqueness supplies equal lengths, a bounded bijection, and an actual unit at each match, including repeated factors. Units have empty factorizations and zero is excluded. Sorted primary representatives, Gaussian prime classification, and Eisenstein factorization are separate targets.

Exact theorem in conservative defined notation

∀ z. ∀ N. GNorm(z,N) → (∃ x. GProperNormDivisor(x,z,N)) ∨ (∀ x. ¬GProperNormDivisor(x,z,N))

Every linked abbreviation expands hygienically to the identical original native formula.

Definition DAG

Actual proof prerequisites

Original expanded first-order statement
forall z N. (exists ge_norm_rp_complete_search_norm ge_norm_rn_complete_search_norm ge_norm_ip_complete_search_norm ge_norm_in_complete_search_norm. ((exists ge_representation_real_code_complete_search_normrepresentation ge_representation_imaginary_code_complete_search_normrepresentation. (((z) = ((ge_representation_real_code_complete_search_normrepresentation) + (ge_representation_imaginary_code_complete_search_normrepresentation)) * S ((ge_representation_real_code_complete_search_normrepresentation) + (ge_representation_imaginary_code_complete_search_normrepresentation)) + ((ge_representation_imaginary_code_complete_search_normrepresentation) + (ge_representation_imaginary_code_complete_search_normrepresentation))) /\ ((exists ge_balance_positive_complete_search_normrepresentationreal ge_balance_negative_complete_search_normrepresentationreal. (((((ge_representation_real_code_complete_search_normrepresentation) = 2 * (ge_balance_positive_complete_search_normrepresentationreal) /\ (ge_balance_negative_complete_search_normrepresentationreal) = 0) \/ exists ge_signed_half_complete_search_normrepresentationrealdecode. (((ge_representation_real_code_complete_search_normrepresentation) = 2 * ge_signed_half_complete_search_normrepresentationrealdecode + 1 /\ (ge_balance_positive_complete_search_normrepresentationreal) = 0) /\ (ge_balance_negative_complete_search_normrepresentationreal) = S ge_signed_half_complete_search_normrepresentationrealdecode))) /\ ((ge_norm_rp_complete_search_norm) + ge_balance_negative_complete_search_normrepresentationreal = (ge_norm_rn_complete_search_norm) + ge_balance_positive_complete_search_normrepresentationreal))) /\ (exists ge_balance_positive_complete_search_normrepresentationimaginary ge_balance_negative_complete_search_normrepresentationimaginary. (((((ge_representation_imaginary_code_complete_search_normrepresentation) = 2 * (ge_balance_positive_complete_search_normrepresentationimaginary) /\ (ge_balance_negative_complete_search_normrepresentationimaginary) = 0) \/ exists ge_signed_half_complete_search_normrepresentationimaginarydecode. (((ge_representation_imaginary_code_complete_search_normrepresentation) = 2 * ge_signed_half_complete_search_normrepresentationimaginarydecode + 1 /\ (ge_balance_positive_complete_search_normrepresentationimaginary) = 0) /\ (ge_balance_negative_complete_search_normrepresentationimaginary) = S ge_signed_half_complete_search_normrepresentationimaginarydecode))) /\ ((ge_norm_ip_complete_search_norm) + ge_balance_negative_complete_search_normrepresentationimaginary = (ge_norm_in_complete_search_norm) + ge_balance_positive_complete_search_normrepresentationimaginary)))))) /\ (exists ge_real_square_complete_search_normsquare ge_imaginary_square_complete_search_normsquare. ((((((ge_norm_rp_complete_search_norm) * (ge_norm_rp_complete_search_norm))) + (((ge_norm_rn_complete_search_norm) * (ge_norm_rn_complete_search_norm)))) = ((ge_real_square_complete_search_normsquare) + (((((ge_norm_rp_complete_search_norm) * (ge_norm_rn_complete_search_norm))) + (((ge_norm_rn_complete_search_norm) * (ge_norm_rp_complete_search_norm))))))) /\ ((((((ge_norm_ip_complete_search_norm) * (ge_norm_ip_complete_search_norm))) + (((ge_norm_in_complete_search_norm) * (ge_norm_in_complete_search_norm)))) = ((ge_imaginary_square_complete_search_normsquare) + (((((ge_norm_ip_complete_search_norm) * (ge_norm_in_complete_search_norm))) + (((ge_norm_in_complete_search_norm) * (ge_norm_ip_complete_search_norm))))))) /\ ((N) = ge_real_square_complete_search_normsquare + ge_imaginary_square_complete_search_normsquare)))))) -> ((exists gr_complete_divisor_complete_search. (((~(exists gr_inverse_complete_searchfoundnonunit. (exists ge_first_rp_complete_searchfoundnonunitidentity ge_first_rn_complete_searchfoundnonunitidentity ge_first_ip_complete_searchfoundnonunitidentity ge_first_in_complete_searchfoundnonunitidentity ge_second_rp_complete_searchfoundnonunitidentity ge_second_rn_complete_searchfoundnonunitidentity ge_second_ip_complete_searchfoundnonunitidentity ge_second_in_complete_searchfoundnonunitidentity. ((exists ge_representation_real_code_complete_searchfoundnonunitidentityfirst ge_representation_imaginary_code_complete_searchfoundnonunitidentityfirst. (((gr_complete_divisor_complete_search) = ((ge_representation_real_code_complete_searchfoundnonunitidentityfirst) + (ge_representation_imaginary_code_complete_searchfoundnonunitidentityfirst)) * S ((ge_representation_real_code_complete_searchfoundnonunitidentityfirst) + (ge_representation_imaginary_code_complete_searchfoundnonunitidentityfirst)) + ((ge_representation_imaginary_code_complete_searchfoundnonunitidentityfirst) + (ge_representation_imaginary_code_complete_searchfoundnonunitidentityfirst))) /\ ((exists ge_balance_positive_complete_searchfoundnonunitidentityfirstreal ge_balance_negative_complete_searchfoundnonunitidentityfirstreal. (((((ge_representation_real_code_complete_searchfoundnonunitidentityfirst) = 2 * (ge_balance_positive_complete_searchfoundnonunitidentityfirstreal) /\ (ge_balance_negative_complete_searchfoundnonunitidentityfirstreal) = 0) \/ exists ge_signed_half_complete_searchfoundnonunitidentityfirstrealdecode. (((ge_representation_real_code_complete_searchfoundnonunitidentityfirst) = 2 * ge_signed_half_complete_searchfoundnonunitidentityfirstrealdecode + 1 /\ (ge_balance_positive_complete_searchfoundnonunitidentityfirstreal) = 0) /\ (ge_balance_negative_complete_searchfoundnonunitidentityfirstreal) = S ge_signed_half_complete_searchfoundnonunitidentityfirstrealdecode))) /\ ((ge_first_rp_complete_searchfoundnonunitidentity) + ge_balance_negative_complete_searchfoundnonunitidentityfirstreal = (ge_first_rn_complete_searchfoundnonunitidentity) + ge_balance_positive_complete_searchfoundnonunitidentityfirstreal))) /\ (exists ge_balance_positive_complete_searchfoundnonunitidentityfirstimaginary ge_balance_negative_complete_searchfoundnonunitidentityfirstimaginary. (((((ge_representation_imaginary_code_complete_searchfoundnonunitidentityfirst) = 2 * (ge_balance_positive_complete_searchfoundnonunitidentityfirstimaginary) /\ (ge_balance_negative_complete_searchfoundnonunitidentityfirstimaginary) = 0) \/ exists ge_signed_half_complete_searchfoundnonunitidentityfirstimaginarydecode. (((ge_representation_imaginary_code_complete_searchfoundnonunitidentityfirst) = 2 * ge_signed_half_complete_searchfoundnonunitidentityfirstimaginarydecode + 1 /\ (ge_balance_positive_complete_searchfoundnonunitidentityfirstimaginary) = 0) /\ (ge_balance_negative_complete_searchfoundnonunitidentityfirstimaginary) = S ge_signed_half_complete_searchfoundnonunitidentityfirstimaginarydecode))) /\ ((ge_first_ip_complete_searchfoundnonunitidentity) + ge_balance_negative_complete_searchfoundnonunitidentityfirstimaginary = (ge_first_in_complete_searchfoundnonunitidentity) + ge_balance_positive_complete_searchfoundnonunitidentityfirstimaginary)))))) /\ ((exists ge_representation_real_code_complete_searchfoundnonunitidentitysecond ge_representation_imaginary_code_complete_searchfoundnonunitidentitysecond. (((gr_inverse_complete_searchfoundnonunit) = ((ge_representation_real_code_complete_searchfoundnonunitidentitysecond) + (ge_representation_imaginary_code_complete_searchfoundnonunitidentitysecond)) * S ((ge_representation_real_code_complete_searchfoundnonunitidentitysecond) + (ge_representation_imaginary_code_complete_searchfoundnonunitidentitysecond)) + ((ge_representation_imaginary_code_complete_searchfoundnonunitidentitysecond) + (ge_representation_imaginary_code_complete_searchfoundnonunitidentitysecond))) /\ ((exists ge_balance_positive_complete_searchfoundnonunitidentitysecondreal ge_balance_negative_complete_searchfoundnonunitidentitysecondreal. (((((ge_representation_real_code_complete_searchfoundnonunitidentitysecond) = 2 * (ge_balance_positive_complete_searchfoundnonunitidentitysecondreal) /\ (ge_balance_negative_complete_searchfoundnonunitidentitysecondreal) = 0) \/ exists ge_signed_half_complete_searchfoundnonunitidentitysecondrealdecode. (((ge_representation_real_code_complete_searchfoundnonunitidentitysecond) = 2 * ge_signed_half_complete_searchfoundnonunitidentitysecondrealdecode + 1 /\ (ge_balance_positive_complete_searchfoundnonunitidentitysecondreal) = 0) /\ (ge_balance_negative_complete_searchfoundnonunitidentitysecondreal) = S ge_signed_half_complete_searchfoundnonunitidentitysecondrealdecode))) /\ ((ge_second_rp_complete_searchfoundnonunitidentity) + ge_balance_negative_complete_searchfoundnonunitidentitysecondreal = (ge_second_rn_complete_searchfoundnonunitidentity) + ge_balance_positive_complete_searchfoundnonunitidentitysecondreal))) /\ (exists ge_balance_positive_complete_searchfoundnonunitidentitysecondimaginary ge_balance_negative_complete_searchfoundnonunitidentitysecondimaginary. (((((ge_representation_imaginary_code_complete_searchfoundnonunitidentitysecond) = 2 * (ge_balance_positive_complete_searchfoundnonunitidentitysecondimaginary) /\ (ge_balance_negative_complete_searchfoundnonunitidentitysecondimaginary) = 0) \/ exists ge_signed_half_complete_searchfoundnonunitidentitysecondimaginarydecode. (((ge_representation_imaginary_code_complete_searchfoundnonunitidentitysecond) = 2 * ge_signed_half_complete_searchfoundnonunitidentitysecondimaginarydecode + 1 /\ (ge_balance_positive_complete_searchfoundnonunitidentitysecondimaginary) = 0) /\ (ge_balance_negative_complete_searchfoundnonunitidentitysecondimaginary) = S ge_signed_half_complete_searchfoundnonunitidentitysecondimaginarydecode))) /\ ((ge_second_ip_complete_searchfoundnonunitidentity) + ge_balance_negative_complete_searchfoundnonunitidentitysecondimaginary = (ge_second_in_complete_searchfoundnonunitidentity) + ge_balance_positive_complete_searchfoundnonunitidentitysecondimaginary)))))) /\ (exists ge_representation_real_code_complete_searchfoundnonunitidentityoutput ge_representation_imaginary_code_complete_searchfoundnonunitidentityoutput. (((6) = ((ge_representation_real_code_complete_searchfoundnonunitidentityoutput) + (ge_representation_imaginary_code_complete_searchfoundnonunitidentityoutput)) * S ((ge_representation_real_code_complete_searchfoundnonunitidentityoutput) + (ge_representation_imaginary_code_complete_searchfoundnonunitidentityoutput)) + ((ge_representation_imaginary_code_complete_searchfoundnonunitidentityoutput) + (ge_representation_imaginary_code_complete_searchfoundnonunitidentityoutput))) /\ ((exists ge_balance_positive_complete_searchfoundnonunitidentityoutputreal ge_balance_negative_complete_searchfoundnonunitidentityoutputreal. (((((ge_representation_real_code_complete_searchfoundnonunitidentityoutput) = 2 * (ge_balance_positive_complete_searchfoundnonunitidentityoutputreal) /\ (ge_balance_negative_complete_searchfoundnonunitidentityoutputreal) = 0) \/ exists ge_signed_half_complete_searchfoundnonunitidentityoutputrealdecode. (((ge_representation_real_code_complete_searchfoundnonunitidentityoutput) = 2 * ge_signed_half_complete_searchfoundnonunitidentityoutputrealdecode + 1 /\ (ge_balance_positive_complete_searchfoundnonunitidentityoutputreal) = 0) /\ (ge_balance_negative_complete_searchfoundnonunitidentityoutputreal) = S ge_signed_half_complete_searchfoundnonunitidentityoutputrealdecode))) /\ ((((((((ge_first_rp_complete_searchfoundnonunitidentity) * (ge_second_rp_complete_searchfoundnonunitidentity))) + (((ge_first_rn_complete_searchfoundnonunitidentity) * (ge_second_rn_complete_searchfoundnonunitidentity))))) + (((((ge_first_ip_complete_searchfoundnonunitidentity) * (ge_second_in_complete_searchfoundnonunitidentity))) + (((ge_first_in_complete_searchfoundnonunitidentity) * (ge_second_ip_complete_searchfoundnonunitidentity))))))) + ge_balance_negative_complete_searchfoundnonunitidentityoutputreal = (((((((ge_first_rp_complete_searchfoundnonunitidentity) * (ge_second_rn_complete_searchfoundnonunitidentity))) + (((ge_first_rn_complete_searchfoundnonunitidentity) * (ge_second_rp_complete_searchfoundnonunitidentity))))) + (((((ge_first_ip_complete_searchfoundnonunitidentity) * (ge_second_ip_complete_searchfoundnonunitidentity))) + (((ge_first_in_complete_searchfoundnonunitidentity) * (ge_second_in_complete_searchfoundnonunitidentity))))))) + ge_balance_positive_complete_searchfoundnonunitidentityoutputreal))) /\ (exists ge_balance_positive_complete_searchfoundnonunitidentityoutputimaginary ge_balance_negative_complete_searchfoundnonunitidentityoutputimaginary. (((((ge_representation_imaginary_code_complete_searchfoundnonunitidentityoutput) = 2 * (ge_balance_positive_complete_searchfoundnonunitidentityoutputimaginary) /\ (ge_balance_negative_complete_searchfoundnonunitidentityoutputimaginary) = 0) \/ exists ge_signed_half_complete_searchfoundnonunitidentityoutputimaginarydecode. (((ge_representation_imaginary_code_complete_searchfoundnonunitidentityoutput) = 2 * ge_signed_half_complete_searchfoundnonunitidentityoutputimaginarydecode + 1 /\ (ge_balance_positive_complete_searchfoundnonunitidentityoutputimaginary) = 0) /\ (ge_balance_negative_complete_searchfoundnonunitidentityoutputimaginary) = S ge_signed_half_complete_searchfoundnonunitidentityoutputimaginarydecode))) /\ ((((((((ge_first_rp_complete_searchfoundnonunitidentity) * (ge_second_ip_complete_searchfoundnonunitidentity))) + (((ge_first_rn_complete_searchfoundnonunitidentity) * (ge_second_in_complete_searchfoundnonunitidentity))))) + (((((ge_first_ip_complete_searchfoundnonunitidentity) * (ge_second_rp_complete_searchfoundnonunitidentity))) + (((ge_first_in_complete_searchfoundnonunitidentity) * (ge_second_rn_complete_searchfoundnonunitidentity))))))) + ge_balance_negative_complete_searchfoundnonunitidentityoutputimaginary = (((((((ge_first_rp_complete_searchfoundnonunitidentity) * (ge_second_in_complete_searchfoundnonunitidentity))) + (((ge_first_rn_complete_searchfoundnonunitidentity) * (ge_second_ip_complete_searchfoundnonunitidentity))))) + (((((ge_first_ip_complete_searchfoundnonunitidentity) * (ge_second_rn_complete_searchfoundnonunitidentity))) + (((ge_first_in_complete_searchfoundnonunitidentity) * (ge_second_rp_complete_searchfoundnonunitidentity))))))) + ge_balance_positive_complete_searchfoundnonunitidentityoutputimaginary))))))))))) /\ ((exists gr_quotient_complete_searchfoundquotient. (exists ge_first_rp_complete_searchfoundquotientproduct ge_first_rn_complete_searchfoundquotientproduct ge_first_ip_complete_searchfoundquotientproduct ge_first_in_complete_searchfoundquotientproduct ge_second_rp_complete_searchfoundquotientproduct ge_second_rn_complete_searchfoundquotientproduct ge_second_ip_complete_searchfoundquotientproduct ge_second_in_complete_searchfoundquotientproduct. ((exists ge_representation_real_code_complete_searchfoundquotientproductfirst ge_representation_imaginary_code_complete_searchfoundquotientproductfirst. (((gr_complete_divisor_complete_search) = ((ge_representation_real_code_complete_searchfoundquotientproductfirst) + (ge_representation_imaginary_code_complete_searchfoundquotientproductfirst)) * S ((ge_representation_real_code_complete_searchfoundquotientproductfirst) + (ge_representation_imaginary_code_complete_searchfoundquotientproductfirst)) + ((ge_representation_imaginary_code_complete_searchfoundquotientproductfirst) + (ge_representation_imaginary_code_complete_searchfoundquotientproductfirst))) /\ ((exists ge_balance_positive_complete_searchfoundquotientproductfirstreal ge_balance_negative_complete_searchfoundquotientproductfirstreal. (((((ge_representation_real_code_complete_searchfoundquotientproductfirst) = 2 * (ge_balance_positive_complete_searchfoundquotientproductfirstreal) /\ (ge_balance_negative_complete_searchfoundquotientproductfirstreal) = 0) \/ exists ge_signed_half_complete_searchfoundquotientproductfirstrealdecode. (((ge_representation_real_code_complete_searchfoundquotientproductfirst) = 2 * ge_signed_half_complete_searchfoundquotientproductfirstrealdecode + 1 /\ (ge_balance_positive_complete_searchfoundquotientproductfirstreal) = 0) /\ (ge_balance_negative_complete_searchfoundquotientproductfirstreal) = S ge_signed_half_complete_searchfoundquotientproductfirstrealdecode))) /\ ((ge_first_rp_complete_searchfoundquotientproduct) + ge_balance_negative_complete_searchfoundquotientproductfirstreal = (ge_first_rn_complete_searchfoundquotientproduct) + ge_balance_positive_complete_searchfoundquotientproductfirstreal))) /\ (exists ge_balance_positive_complete_searchfoundquotientproductfirstimaginary ge_balance_negative_complete_searchfoundquotientproductfirstimaginary. (((((ge_representation_imaginary_code_complete_searchfoundquotientproductfirst) = 2 * (ge_balance_positive_complete_searchfoundquotientproductfirstimaginary) /\ (ge_balance_negative_complete_searchfoundquotientproductfirstimaginary) = 0) \/ exists ge_signed_half_complete_searchfoundquotientproductfirstimaginarydecode. (((ge_representation_imaginary_code_complete_searchfoundquotientproductfirst) = 2 * ge_signed_half_complete_searchfoundquotientproductfirstimaginarydecode + 1 /\ (ge_balance_positive_complete_searchfoundquotientproductfirstimaginary) = 0) /\ (ge_balance_negative_complete_searchfoundquotientproductfirstimaginary) = S ge_signed_half_complete_searchfoundquotientproductfirstimaginarydecode))) /\ ((ge_first_ip_complete_searchfoundquotientproduct) + ge_balance_negative_complete_searchfoundquotientproductfirstimaginary = (ge_first_in_complete_searchfoundquotientproduct) + ge_balance_positive_complete_searchfoundquotientproductfirstimaginary)))))) /\ ((exists ge_representation_real_code_complete_searchfoundquotientproductsecond ge_representation_imaginary_code_complete_searchfoundquotientproductsecond. (((gr_quotient_complete_searchfoundquotient) = ((ge_representation_real_code_complete_searchfoundquotientproductsecond) + (ge_representation_imaginary_code_complete_searchfoundquotientproductsecond)) * S ((ge_representation_real_code_complete_searchfoundquotientproductsecond) + (ge_representation_imaginary_code_complete_searchfoundquotientproductsecond)) + ((ge_representation_imaginary_code_complete_searchfoundquotientproductsecond) + (ge_representation_imaginary_code_complete_searchfoundquotientproductsecond))) /\ ((exists ge_balance_positive_complete_searchfoundquotientproductsecondreal ge_balance_negative_complete_searchfoundquotientproductsecondreal. (((((ge_representation_real_code_complete_searchfoundquotientproductsecond) = 2 * (ge_balance_positive_complete_searchfoundquotientproductsecondreal) /\ (ge_balance_negative_complete_searchfoundquotientproductsecondreal) = 0) \/ exists ge_signed_half_complete_searchfoundquotientproductsecondrealdecode. (((ge_representation_real_code_complete_searchfoundquotientproductsecond) = 2 * ge_signed_half_complete_searchfoundquotientproductsecondrealdecode + 1 /\ (ge_balance_positive_complete_searchfoundquotientproductsecondreal) = 0) /\ (ge_balance_negative_complete_searchfoundquotientproductsecondreal) = S ge_signed_half_complete_searchfoundquotientproductsecondrealdecode))) /\ ((ge_second_rp_complete_searchfoundquotientproduct) + ge_balance_negative_complete_searchfoundquotientproductsecondreal = (ge_second_rn_complete_searchfoundquotientproduct) + ge_balance_positive_complete_searchfoundquotientproductsecondreal))) /\ (exists ge_balance_positive_complete_searchfoundquotientproductsecondimaginary ge_balance_negative_complete_searchfoundquotientproductsecondimaginary. (((((ge_representation_imaginary_code_complete_searchfoundquotientproductsecond) = 2 * (ge_balance_positive_complete_searchfoundquotientproductsecondimaginary) /\ (ge_balance_negative_complete_searchfoundquotientproductsecondimaginary) = 0) \/ exists ge_signed_half_complete_searchfoundquotientproductsecondimaginarydecode. (((ge_representation_imaginary_code_complete_searchfoundquotientproductsecond) = 2 * ge_signed_half_complete_searchfoundquotientproductsecondimaginarydecode + 1 /\ (ge_balance_positive_complete_searchfoundquotientproductsecondimaginary) = 0) /\ (ge_balance_negative_complete_searchfoundquotientproductsecondimaginary) = S ge_signed_half_complete_searchfoundquotientproductsecondimaginarydecode))) /\ ((ge_second_ip_complete_searchfoundquotientproduct) + ge_balance_negative_complete_searchfoundquotientproductsecondimaginary = (ge_second_in_complete_searchfoundquotientproduct) + ge_balance_positive_complete_searchfoundquotientproductsecondimaginary)))))) /\ (exists ge_representation_real_code_complete_searchfoundquotientproductoutput ge_representation_imaginary_code_complete_searchfoundquotientproductoutput. (((z) = ((ge_representation_real_code_complete_searchfoundquotientproductoutput) + (ge_representation_imaginary_code_complete_searchfoundquotientproductoutput)) * S ((ge_representation_real_code_complete_searchfoundquotientproductoutput) + (ge_representation_imaginary_code_complete_searchfoundquotientproductoutput)) + ((ge_representation_imaginary_code_complete_searchfoundquotientproductoutput) + (ge_representation_imaginary_code_complete_searchfoundquotientproductoutput))) /\ ((exists ge_balance_positive_complete_searchfoundquotientproductoutputreal ge_balance_negative_complete_searchfoundquotientproductoutputreal. (((((ge_representation_real_code_complete_searchfoundquotientproductoutput) = 2 * (ge_balance_positive_complete_searchfoundquotientproductoutputreal) /\ (ge_balance_negative_complete_searchfoundquotientproductoutputreal) = 0) \/ exists ge_signed_half_complete_searchfoundquotientproductoutputrealdecode. (((ge_representation_real_code_complete_searchfoundquotientproductoutput) = 2 * ge_signed_half_complete_searchfoundquotientproductoutputrealdecode + 1 /\ (ge_balance_positive_complete_searchfoundquotientproductoutputreal) = 0) /\ (ge_balance_negative_complete_searchfoundquotientproductoutputreal) = S ge_signed_half_complete_searchfoundquotientproductoutputrealdecode))) /\ ((((((((ge_first_rp_complete_searchfoundquotientproduct) * (ge_second_rp_complete_searchfoundquotientproduct))) + (((ge_first_rn_complete_searchfoundquotientproduct) * (ge_second_rn_complete_searchfoundquotientproduct))))) + (((((ge_first_ip_complete_searchfoundquotientproduct) * (ge_second_in_complete_searchfoundquotientproduct))) + (((ge_first_in_complete_searchfoundquotientproduct) * (ge_second_ip_complete_searchfoundquotientproduct))))))) + ge_balance_negative_complete_searchfoundquotientproductoutputreal = (((((((ge_first_rp_complete_searchfoundquotientproduct) * (ge_second_rn_complete_searchfoundquotientproduct))) + (((ge_first_rn_complete_searchfoundquotientproduct) * (ge_second_rp_complete_searchfoundquotientproduct))))) + (((((ge_first_ip_complete_searchfoundquotientproduct) * (ge_second_ip_complete_searchfoundquotientproduct))) + (((ge_first_in_complete_searchfoundquotientproduct) * (ge_second_in_complete_searchfoundquotientproduct))))))) + ge_balance_positive_complete_searchfoundquotientproductoutputreal))) /\ (exists ge_balance_positive_complete_searchfoundquotientproductoutputimaginary ge_balance_negative_complete_searchfoundquotientproductoutputimaginary. (((((ge_representation_imaginary_code_complete_searchfoundquotientproductoutput) = 2 * (ge_balance_positive_complete_searchfoundquotientproductoutputimaginary) /\ (ge_balance_negative_complete_searchfoundquotientproductoutputimaginary) = 0) \/ exists ge_signed_half_complete_searchfoundquotientproductoutputimaginarydecode. (((ge_representation_imaginary_code_complete_searchfoundquotientproductoutput) = 2 * ge_signed_half_complete_searchfoundquotientproductoutputimaginarydecode + 1 /\ (ge_balance_positive_complete_searchfoundquotientproductoutputimaginary) = 0) /\ (ge_balance_negative_complete_searchfoundquotientproductoutputimaginary) = S ge_signed_half_complete_searchfoundquotientproductoutputimaginarydecode))) /\ ((((((((ge_first_rp_complete_searchfoundquotientproduct) * (ge_second_ip_complete_searchfoundquotientproduct))) + (((ge_first_rn_complete_searchfoundquotientproduct) * (ge_second_in_complete_searchfoundquotientproduct))))) + (((((ge_first_ip_complete_searchfoundquotientproduct) * (ge_second_rp_complete_searchfoundquotientproduct))) + (((ge_first_in_complete_searchfoundquotientproduct) * (ge_second_rn_complete_searchfoundquotientproduct))))))) + ge_balance_negative_complete_searchfoundquotientproductoutputimaginary = (((((((ge_first_rp_complete_searchfoundquotientproduct) * (ge_second_in_complete_searchfoundquotientproduct))) + (((ge_first_rn_complete_searchfoundquotientproduct) * (ge_second_ip_complete_searchfoundquotientproduct))))) + (((((ge_first_ip_complete_searchfoundquotientproduct) * (ge_second_rn_complete_searchfoundquotientproduct))) + (((ge_first_in_complete_searchfoundquotientproduct) * (ge_second_rp_complete_searchfoundquotientproduct))))))) + ge_balance_positive_complete_searchfoundquotientproductoutputimaginary)))))))))) /\ (exists gr_proper_divisor_norm_complete_searchfound. ((exists ge_norm_rp_complete_searchfoundnorm ge_norm_rn_complete_searchfoundnorm ge_norm_ip_complete_searchfoundnorm ge_norm_in_complete_searchfoundnorm. ((exists ge_representation_real_code_complete_searchfoundnormrepresentation ge_representation_imaginary_code_complete_searchfoundnormrepresentation. (((gr_complete_divisor_complete_search) = ((ge_representation_real_code_complete_searchfoundnormrepresentation) + (ge_representation_imaginary_code_complete_searchfoundnormrepresentation)) * S ((ge_representation_real_code_complete_searchfoundnormrepresentation) + (ge_representation_imaginary_code_complete_searchfoundnormrepresentation)) + ((ge_representation_imaginary_code_complete_searchfoundnormrepresentation) + (ge_representation_imaginary_code_complete_searchfoundnormrepresentation))) /\ ((exists ge_balance_positive_complete_searchfoundnormrepresentationreal ge_balance_negative_complete_searchfoundnormrepresentationreal. (((((ge_representation_real_code_complete_searchfoundnormrepresentation) = 2 * (ge_balance_positive_complete_searchfoundnormrepresentationreal) /\ (ge_balance_negative_complete_searchfoundnormrepresentationreal) = 0) \/ exists ge_signed_half_complete_searchfoundnormrepresentationrealdecode. (((ge_representation_real_code_complete_searchfoundnormrepresentation) = 2 * ge_signed_half_complete_searchfoundnormrepresentationrealdecode + 1 /\ (ge_balance_positive_complete_searchfoundnormrepresentationreal) = 0) /\ (ge_balance_negative_complete_searchfoundnormrepresentationreal) = S ge_signed_half_complete_searchfoundnormrepresentationrealdecode))) /\ ((ge_norm_rp_complete_searchfoundnorm) + ge_balance_negative_complete_searchfoundnormrepresentationreal = (ge_norm_rn_complete_searchfoundnorm) + ge_balance_positive_complete_searchfoundnormrepresentationreal))) /\ (exists ge_balance_positive_complete_searchfoundnormrepresentationimaginary ge_balance_negative_complete_searchfoundnormrepresentationimaginary. (((((ge_representation_imaginary_code_complete_searchfoundnormrepresentation) = 2 * (ge_balance_positive_complete_searchfoundnormrepresentationimaginary) /\ (ge_balance_negative_complete_searchfoundnormrepresentationimaginary) = 0) \/ exists ge_signed_half_complete_searchfoundnormrepresentationimaginarydecode. (((ge_representation_imaginary_code_complete_searchfoundnormrepresentation) = 2 * ge_signed_half_complete_searchfoundnormrepresentationimaginarydecode + 1 /\ (ge_balance_positive_complete_searchfoundnormrepresentationimaginary) = 0) /\ (ge_balance_negative_complete_searchfoundnormrepresentationimaginary) = S ge_signed_half_complete_searchfoundnormrepresentationimaginarydecode))) /\ ((ge_norm_ip_complete_searchfoundnorm) + ge_balance_negative_complete_searchfoundnormrepresentationimaginary = (ge_norm_in_complete_searchfoundnorm) + ge_balance_positive_complete_searchfoundnormrepresentationimaginary)))))) /\ (exists ge_real_square_complete_searchfoundnormsquare ge_imaginary_square_complete_searchfoundnormsquare. ((((((ge_norm_rp_complete_searchfoundnorm) * (ge_norm_rp_complete_searchfoundnorm))) + (((ge_norm_rn_complete_searchfoundnorm) * (ge_norm_rn_complete_searchfoundnorm)))) = ((ge_real_square_complete_searchfoundnormsquare) + (((((ge_norm_rp_complete_searchfoundnorm) * (ge_norm_rn_complete_searchfoundnorm))) + (((ge_norm_rn_complete_searchfoundnorm) * (ge_norm_rp_complete_searchfoundnorm))))))) /\ ((((((ge_norm_ip_complete_searchfoundnorm) * (ge_norm_ip_complete_searchfoundnorm))) + (((ge_norm_in_complete_searchfoundnorm) * (ge_norm_in_complete_searchfoundnorm)))) = ((ge_imaginary_square_complete_searchfoundnormsquare) + (((((ge_norm_ip_complete_searchfoundnorm) * (ge_norm_in_complete_searchfoundnorm))) + (((ge_norm_in_complete_searchfoundnorm) * (ge_norm_ip_complete_searchfoundnorm))))))) /\ ((gr_proper_divisor_norm_complete_searchfound) = ge_real_square_complete_searchfoundnormsquare + ge_imaginary_square_complete_searchfoundnormsquare)))))) /\ (exists ge_gap_complete_searchfoundstrict. ge_gap_complete_searchfoundstrict + S (gr_proper_divisor_norm_complete_searchfound) = (N)))))))) \/ (forall gr_complete_divisor_complete_search. ~(((~(exists gr_inverse_complete_searchabsentnonunit. (exists ge_first_rp_complete_searchabsentnonunitidentity ge_first_rn_complete_searchabsentnonunitidentity ge_first_ip_complete_searchabsentnonunitidentity ge_first_in_complete_searchabsentnonunitidentity ge_second_rp_complete_searchabsentnonunitidentity ge_second_rn_complete_searchabsentnonunitidentity ge_second_ip_complete_searchabsentnonunitidentity ge_second_in_complete_searchabsentnonunitidentity. ((exists ge_representation_real_code_complete_searchabsentnonunitidentityfirst ge_representation_imaginary_code_complete_searchabsentnonunitidentityfirst. (((gr_complete_divisor_complete_search) = ((ge_representation_real_code_complete_searchabsentnonunitidentityfirst) + (ge_representation_imaginary_code_complete_searchabsentnonunitidentityfirst)) * S ((ge_representation_real_code_complete_searchabsentnonunitidentityfirst) + (ge_representation_imaginary_code_complete_searchabsentnonunitidentityfirst)) + ((ge_representation_imaginary_code_complete_searchabsentnonunitidentityfirst) + (ge_representation_imaginary_code_complete_searchabsentnonunitidentityfirst))) /\ ((exists ge_balance_positive_complete_searchabsentnonunitidentityfirstreal ge_balance_negative_complete_searchabsentnonunitidentityfirstreal. (((((ge_representation_real_code_complete_searchabsentnonunitidentityfirst) = 2 * (ge_balance_positive_complete_searchabsentnonunitidentityfirstreal) /\ (ge_balance_negative_complete_searchabsentnonunitidentityfirstreal) = 0) \/ exists ge_signed_half_complete_searchabsentnonunitidentityfirstrealdecode. (((ge_representation_real_code_complete_searchabsentnonunitidentityfirst) = 2 * ge_signed_half_complete_searchabsentnonunitidentityfirstrealdecode + 1 /\ (ge_balance_positive_complete_searchabsentnonunitidentityfirstreal) = 0) /\ (ge_balance_negative_complete_searchabsentnonunitidentityfirstreal) = S ge_signed_half_complete_searchabsentnonunitidentityfirstrealdecode))) /\ ((ge_first_rp_complete_searchabsentnonunitidentity) + ge_balance_negative_complete_searchabsentnonunitidentityfirstreal = (ge_first_rn_complete_searchabsentnonunitidentity) + ge_balance_positive_complete_searchabsentnonunitidentityfirstreal))) /\ (exists ge_balance_positive_complete_searchabsentnonunitidentityfirstimaginary ge_balance_negative_complete_searchabsentnonunitidentityfirstimaginary. (((((ge_representation_imaginary_code_complete_searchabsentnonunitidentityfirst) = 2 * (ge_balance_positive_complete_searchabsentnonunitidentityfirstimaginary) /\ (ge_balance_negative_complete_searchabsentnonunitidentityfirstimaginary) = 0) \/ exists ge_signed_half_complete_searchabsentnonunitidentityfirstimaginarydecode. (((ge_representation_imaginary_code_complete_searchabsentnonunitidentityfirst) = 2 * ge_signed_half_complete_searchabsentnonunitidentityfirstimaginarydecode + 1 /\ (ge_balance_positive_complete_searchabsentnonunitidentityfirstimaginary) = 0) /\ (ge_balance_negative_complete_searchabsentnonunitidentityfirstimaginary) = S ge_signed_half_complete_searchabsentnonunitidentityfirstimaginarydecode))) /\ ((ge_first_ip_complete_searchabsentnonunitidentity) + ge_balance_negative_complete_searchabsentnonunitidentityfirstimaginary = (ge_first_in_complete_searchabsentnonunitidentity) + ge_balance_positive_complete_searchabsentnonunitidentityfirstimaginary)))))) /\ ((exists ge_representation_real_code_complete_searchabsentnonunitidentitysecond ge_representation_imaginary_code_complete_searchabsentnonunitidentitysecond. (((gr_inverse_complete_searchabsentnonunit) = ((ge_representation_real_code_complete_searchabsentnonunitidentitysecond) + (ge_representation_imaginary_code_complete_searchabsentnonunitidentitysecond)) * S ((ge_representation_real_code_complete_searchabsentnonunitidentitysecond) + (ge_representation_imaginary_code_complete_searchabsentnonunitidentitysecond)) + ((ge_representation_imaginary_code_complete_searchabsentnonunitidentitysecond) + (ge_representation_imaginary_code_complete_searchabsentnonunitidentitysecond))) /\ ((exists ge_balance_positive_complete_searchabsentnonunitidentitysecondreal ge_balance_negative_complete_searchabsentnonunitidentitysecondreal. (((((ge_representation_real_code_complete_searchabsentnonunitidentitysecond) = 2 * (ge_balance_positive_complete_searchabsentnonunitidentitysecondreal) /\ (ge_balance_negative_complete_searchabsentnonunitidentitysecondreal) = 0) \/ exists ge_signed_half_complete_searchabsentnonunitidentitysecondrealdecode. (((ge_representation_real_code_complete_searchabsentnonunitidentitysecond) = 2 * ge_signed_half_complete_searchabsentnonunitidentitysecondrealdecode + 1 /\ (ge_balance_positive_complete_searchabsentnonunitidentitysecondreal) = 0) /\ (ge_balance_negative_complete_searchabsentnonunitidentitysecondreal) = S ge_signed_half_complete_searchabsentnonunitidentitysecondrealdecode))) /\ ((ge_second_rp_complete_searchabsentnonunitidentity) + ge_balance_negative_complete_searchabsentnonunitidentitysecondreal = (ge_second_rn_complete_searchabsentnonunitidentity) + ge_balance_positive_complete_searchabsentnonunitidentitysecondreal))) /\ (exists ge_balance_positive_complete_searchabsentnonunitidentitysecondimaginary ge_balance_negative_complete_searchabsentnonunitidentitysecondimaginary. (((((ge_representation_imaginary_code_complete_searchabsentnonunitidentitysecond) = 2 * (ge_balance_positive_complete_searchabsentnonunitidentitysecondimaginary) /\ (ge_balance_negative_complete_searchabsentnonunitidentitysecondimaginary) = 0) \/ exists ge_signed_half_complete_searchabsentnonunitidentitysecondimaginarydecode. (((ge_representation_imaginary_code_complete_searchabsentnonunitidentitysecond) = 2 * ge_signed_half_complete_searchabsentnonunitidentitysecondimaginarydecode + 1 /\ (ge_balance_positive_complete_searchabsentnonunitidentitysecondimaginary) = 0) /\ (ge_balance_negative_complete_searchabsentnonunitidentitysecondimaginary) = S ge_signed_half_complete_searchabsentnonunitidentitysecondimaginarydecode))) /\ ((ge_second_ip_complete_searchabsentnonunitidentity) + ge_balance_negative_complete_searchabsentnonunitidentitysecondimaginary = (ge_second_in_complete_searchabsentnonunitidentity) + ge_balance_positive_complete_searchabsentnonunitidentitysecondimaginary)))))) /\ (exists ge_representation_real_code_complete_searchabsentnonunitidentityoutput ge_representation_imaginary_code_complete_searchabsentnonunitidentityoutput. (((6) = ((ge_representation_real_code_complete_searchabsentnonunitidentityoutput) + (ge_representation_imaginary_code_complete_searchabsentnonunitidentityoutput)) * S ((ge_representation_real_code_complete_searchabsentnonunitidentityoutput) + (ge_representation_imaginary_code_complete_searchabsentnonunitidentityoutput)) + ((ge_representation_imaginary_code_complete_searchabsentnonunitidentityoutput) + (ge_representation_imaginary_code_complete_searchabsentnonunitidentityoutput))) /\ ((exists ge_balance_positive_complete_searchabsentnonunitidentityoutputreal ge_balance_negative_complete_searchabsentnonunitidentityoutputreal. (((((ge_representation_real_code_complete_searchabsentnonunitidentityoutput) = 2 * (ge_balance_positive_complete_searchabsentnonunitidentityoutputreal) /\ (ge_balance_negative_complete_searchabsentnonunitidentityoutputreal) = 0) \/ exists ge_signed_half_complete_searchabsentnonunitidentityoutputrealdecode. (((ge_representation_real_code_complete_searchabsentnonunitidentityoutput) = 2 * ge_signed_half_complete_searchabsentnonunitidentityoutputrealdecode + 1 /\ (ge_balance_positive_complete_searchabsentnonunitidentityoutputreal) = 0) /\ (ge_balance_negative_complete_searchabsentnonunitidentityoutputreal) = S ge_signed_half_complete_searchabsentnonunitidentityoutputrealdecode))) /\ ((((((((ge_first_rp_complete_searchabsentnonunitidentity) * (ge_second_rp_complete_searchabsentnonunitidentity))) + (((ge_first_rn_complete_searchabsentnonunitidentity) * (ge_second_rn_complete_searchabsentnonunitidentity))))) + (((((ge_first_ip_complete_searchabsentnonunitidentity) * (ge_second_in_complete_searchabsentnonunitidentity))) + (((ge_first_in_complete_searchabsentnonunitidentity) * (ge_second_ip_complete_searchabsentnonunitidentity))))))) + ge_balance_negative_complete_searchabsentnonunitidentityoutputreal = (((((((ge_first_rp_complete_searchabsentnonunitidentity) * (ge_second_rn_complete_searchabsentnonunitidentity))) + (((ge_first_rn_complete_searchabsentnonunitidentity) * (ge_second_rp_complete_searchabsentnonunitidentity))))) + (((((ge_first_ip_complete_searchabsentnonunitidentity) * (ge_second_ip_complete_searchabsentnonunitidentity))) + (((ge_first_in_complete_searchabsentnonunitidentity) * (ge_second_in_complete_searchabsentnonunitidentity))))))) + ge_balance_positive_complete_searchabsentnonunitidentityoutputreal))) /\ (exists ge_balance_positive_complete_searchabsentnonunitidentityoutputimaginary ge_balance_negative_complete_searchabsentnonunitidentityoutputimaginary. (((((ge_representation_imaginary_code_complete_searchabsentnonunitidentityoutput) = 2 * (ge_balance_positive_complete_searchabsentnonunitidentityoutputimaginary) /\ (ge_balance_negative_complete_searchabsentnonunitidentityoutputimaginary) = 0) \/ exists ge_signed_half_complete_searchabsentnonunitidentityoutputimaginarydecode. (((ge_representation_imaginary_code_complete_searchabsentnonunitidentityoutput) = 2 * ge_signed_half_complete_searchabsentnonunitidentityoutputimaginarydecode + 1 /\ (ge_balance_positive_complete_searchabsentnonunitidentityoutputimaginary) = 0) /\ (ge_balance_negative_complete_searchabsentnonunitidentityoutputimaginary) = S ge_signed_half_complete_searchabsentnonunitidentityoutputimaginarydecode))) /\ ((((((((ge_first_rp_complete_searchabsentnonunitidentity) * (ge_second_ip_complete_searchabsentnonunitidentity))) + (((ge_first_rn_complete_searchabsentnonunitidentity) * (ge_second_in_complete_searchabsentnonunitidentity))))) + (((((ge_first_ip_complete_searchabsentnonunitidentity) * (ge_second_rp_complete_searchabsentnonunitidentity))) + (((ge_first_in_complete_searchabsentnonunitidentity) * (ge_second_rn_complete_searchabsentnonunitidentity))))))) + ge_balance_negative_complete_searchabsentnonunitidentityoutputimaginary = (((((((ge_first_rp_complete_searchabsentnonunitidentity) * (ge_second_in_complete_searchabsentnonunitidentity))) + (((ge_first_rn_complete_searchabsentnonunitidentity) * (ge_second_ip_complete_searchabsentnonunitidentity))))) + (((((ge_first_ip_complete_searchabsentnonunitidentity) * (ge_second_rn_complete_searchabsentnonunitidentity))) + (((ge_first_in_complete_searchabsentnonunitidentity) * (ge_second_rp_complete_searchabsentnonunitidentity))))))) + ge_balance_positive_complete_searchabsentnonunitidentityoutputimaginary))))))))))) /\ ((exists gr_quotient_complete_searchabsentquotient. (exists ge_first_rp_complete_searchabsentquotientproduct ge_first_rn_complete_searchabsentquotientproduct ge_first_ip_complete_searchabsentquotientproduct ge_first_in_complete_searchabsentquotientproduct ge_second_rp_complete_searchabsentquotientproduct ge_second_rn_complete_searchabsentquotientproduct ge_second_ip_complete_searchabsentquotientproduct ge_second_in_complete_searchabsentquotientproduct. ((exists ge_representation_real_code_complete_searchabsentquotientproductfirst ge_representation_imaginary_code_complete_searchabsentquotientproductfirst. (((gr_complete_divisor_complete_search) = ((ge_representation_real_code_complete_searchabsentquotientproductfirst) + (ge_representation_imaginary_code_complete_searchabsentquotientproductfirst)) * S ((ge_representation_real_code_complete_searchabsentquotientproductfirst) + (ge_representation_imaginary_code_complete_searchabsentquotientproductfirst)) + ((ge_representation_imaginary_code_complete_searchabsentquotientproductfirst) + (ge_representation_imaginary_code_complete_searchabsentquotientproductfirst))) /\ ((exists ge_balance_positive_complete_searchabsentquotientproductfirstreal ge_balance_negative_complete_searchabsentquotientproductfirstreal. (((((ge_representation_real_code_complete_searchabsentquotientproductfirst) = 2 * (ge_balance_positive_complete_searchabsentquotientproductfirstreal) /\ (ge_balance_negative_complete_searchabsentquotientproductfirstreal) = 0) \/ exists ge_signed_half_complete_searchabsentquotientproductfirstrealdecode. (((ge_representation_real_code_complete_searchabsentquotientproductfirst) = 2 * ge_signed_half_complete_searchabsentquotientproductfirstrealdecode + 1 /\ (ge_balance_positive_complete_searchabsentquotientproductfirstreal) = 0) /\ (ge_balance_negative_complete_searchabsentquotientproductfirstreal) = S ge_signed_half_complete_searchabsentquotientproductfirstrealdecode))) /\ ((ge_first_rp_complete_searchabsentquotientproduct) + ge_balance_negative_complete_searchabsentquotientproductfirstreal = (ge_first_rn_complete_searchabsentquotientproduct) + ge_balance_positive_complete_searchabsentquotientproductfirstreal))) /\ (exists ge_balance_positive_complete_searchabsentquotientproductfirstimaginary ge_balance_negative_complete_searchabsentquotientproductfirstimaginary. (((((ge_representation_imaginary_code_complete_searchabsentquotientproductfirst) = 2 * (ge_balance_positive_complete_searchabsentquotientproductfirstimaginary) /\ (ge_balance_negative_complete_searchabsentquotientproductfirstimaginary) = 0) \/ exists ge_signed_half_complete_searchabsentquotientproductfirstimaginarydecode. (((ge_representation_imaginary_code_complete_searchabsentquotientproductfirst) = 2 * ge_signed_half_complete_searchabsentquotientproductfirstimaginarydecode + 1 /\ (ge_balance_positive_complete_searchabsentquotientproductfirstimaginary) = 0) /\ (ge_balance_negative_complete_searchabsentquotientproductfirstimaginary) = S ge_signed_half_complete_searchabsentquotientproductfirstimaginarydecode))) /\ ((ge_first_ip_complete_searchabsentquotientproduct) + ge_balance_negative_complete_searchabsentquotientproductfirstimaginary = (ge_first_in_complete_searchabsentquotientproduct) + ge_balance_positive_complete_searchabsentquotientproductfirstimaginary)))))) /\ ((exists ge_representation_real_code_complete_searchabsentquotientproductsecond ge_representation_imaginary_code_complete_searchabsentquotientproductsecond. (((gr_quotient_complete_searchabsentquotient) = ((ge_representation_real_code_complete_searchabsentquotientproductsecond) + (ge_representation_imaginary_code_complete_searchabsentquotientproductsecond)) * S ((ge_representation_real_code_complete_searchabsentquotientproductsecond) + (ge_representation_imaginary_code_complete_searchabsentquotientproductsecond)) + ((ge_representation_imaginary_code_complete_searchabsentquotientproductsecond) + (ge_representation_imaginary_code_complete_searchabsentquotientproductsecond))) /\ ((exists ge_balance_positive_complete_searchabsentquotientproductsecondreal ge_balance_negative_complete_searchabsentquotientproductsecondreal. (((((ge_representation_real_code_complete_searchabsentquotientproductsecond) = 2 * (ge_balance_positive_complete_searchabsentquotientproductsecondreal) /\ (ge_balance_negative_complete_searchabsentquotientproductsecondreal) = 0) \/ exists ge_signed_half_complete_searchabsentquotientproductsecondrealdecode. (((ge_representation_real_code_complete_searchabsentquotientproductsecond) = 2 * ge_signed_half_complete_searchabsentquotientproductsecondrealdecode + 1 /\ (ge_balance_positive_complete_searchabsentquotientproductsecondreal) = 0) /\ (ge_balance_negative_complete_searchabsentquotientproductsecondreal) = S ge_signed_half_complete_searchabsentquotientproductsecondrealdecode))) /\ ((ge_second_rp_complete_searchabsentquotientproduct) + ge_balance_negative_complete_searchabsentquotientproductsecondreal = (ge_second_rn_complete_searchabsentquotientproduct) + ge_balance_positive_complete_searchabsentquotientproductsecondreal))) /\ (exists ge_balance_positive_complete_searchabsentquotientproductsecondimaginary ge_balance_negative_complete_searchabsentquotientproductsecondimaginary. (((((ge_representation_imaginary_code_complete_searchabsentquotientproductsecond) = 2 * (ge_balance_positive_complete_searchabsentquotientproductsecondimaginary) /\ (ge_balance_negative_complete_searchabsentquotientproductsecondimaginary) = 0) \/ exists ge_signed_half_complete_searchabsentquotientproductsecondimaginarydecode. (((ge_representation_imaginary_code_complete_searchabsentquotientproductsecond) = 2 * ge_signed_half_complete_searchabsentquotientproductsecondimaginarydecode + 1 /\ (ge_balance_positive_complete_searchabsentquotientproductsecondimaginary) = 0) /\ (ge_balance_negative_complete_searchabsentquotientproductsecondimaginary) = S ge_signed_half_complete_searchabsentquotientproductsecondimaginarydecode))) /\ ((ge_second_ip_complete_searchabsentquotientproduct) + ge_balance_negative_complete_searchabsentquotientproductsecondimaginary = (ge_second_in_complete_searchabsentquotientproduct) + ge_balance_positive_complete_searchabsentquotientproductsecondimaginary)))))) /\ (exists ge_representation_real_code_complete_searchabsentquotientproductoutput ge_representation_imaginary_code_complete_searchabsentquotientproductoutput. (((z) = ((ge_representation_real_code_complete_searchabsentquotientproductoutput) + (ge_representation_imaginary_code_complete_searchabsentquotientproductoutput)) * S ((ge_representation_real_code_complete_searchabsentquotientproductoutput) + (ge_representation_imaginary_code_complete_searchabsentquotientproductoutput)) + ((ge_representation_imaginary_code_complete_searchabsentquotientproductoutput) + (ge_representation_imaginary_code_complete_searchabsentquotientproductoutput))) /\ ((exists ge_balance_positive_complete_searchabsentquotientproductoutputreal ge_balance_negative_complete_searchabsentquotientproductoutputreal. (((((ge_representation_real_code_complete_searchabsentquotientproductoutput) = 2 * (ge_balance_positive_complete_searchabsentquotientproductoutputreal) /\ (ge_balance_negative_complete_searchabsentquotientproductoutputreal) = 0) \/ exists ge_signed_half_complete_searchabsentquotientproductoutputrealdecode. (((ge_representation_real_code_complete_searchabsentquotientproductoutput) = 2 * ge_signed_half_complete_searchabsentquotientproductoutputrealdecode + 1 /\ (ge_balance_positive_complete_searchabsentquotientproductoutputreal) = 0) /\ (ge_balance_negative_complete_searchabsentquotientproductoutputreal) = S ge_signed_half_complete_searchabsentquotientproductoutputrealdecode))) /\ ((((((((ge_first_rp_complete_searchabsentquotientproduct) * (ge_second_rp_complete_searchabsentquotientproduct))) + (((ge_first_rn_complete_searchabsentquotientproduct) * (ge_second_rn_complete_searchabsentquotientproduct))))) + (((((ge_first_ip_complete_searchabsentquotientproduct) * (ge_second_in_complete_searchabsentquotientproduct))) + (((ge_first_in_complete_searchabsentquotientproduct) * (ge_second_ip_complete_searchabsentquotientproduct))))))) + ge_balance_negative_complete_searchabsentquotientproductoutputreal = (((((((ge_first_rp_complete_searchabsentquotientproduct) * (ge_second_rn_complete_searchabsentquotientproduct))) + (((ge_first_rn_complete_searchabsentquotientproduct) * (ge_second_rp_complete_searchabsentquotientproduct))))) + (((((ge_first_ip_complete_searchabsentquotientproduct) * (ge_second_ip_complete_searchabsentquotientproduct))) + (((ge_first_in_complete_searchabsentquotientproduct) * (ge_second_in_complete_searchabsentquotientproduct))))))) + ge_balance_positive_complete_searchabsentquotientproductoutputreal))) /\ (exists ge_balance_positive_complete_searchabsentquotientproductoutputimaginary ge_balance_negative_complete_searchabsentquotientproductoutputimaginary. (((((ge_representation_imaginary_code_complete_searchabsentquotientproductoutput) = 2 * (ge_balance_positive_complete_searchabsentquotientproductoutputimaginary) /\ (ge_balance_negative_complete_searchabsentquotientproductoutputimaginary) = 0) \/ exists ge_signed_half_complete_searchabsentquotientproductoutputimaginarydecode. (((ge_representation_imaginary_code_complete_searchabsentquotientproductoutput) = 2 * ge_signed_half_complete_searchabsentquotientproductoutputimaginarydecode + 1 /\ (ge_balance_positive_complete_searchabsentquotientproductoutputimaginary) = 0) /\ (ge_balance_negative_complete_searchabsentquotientproductoutputimaginary) = S ge_signed_half_complete_searchabsentquotientproductoutputimaginarydecode))) /\ ((((((((ge_first_rp_complete_searchabsentquotientproduct) * (ge_second_ip_complete_searchabsentquotientproduct))) + (((ge_first_rn_complete_searchabsentquotientproduct) * (ge_second_in_complete_searchabsentquotientproduct))))) + (((((ge_first_ip_complete_searchabsentquotientproduct) * (ge_second_rp_complete_searchabsentquotientproduct))) + (((ge_first_in_complete_searchabsentquotientproduct) * (ge_second_rn_complete_searchabsentquotientproduct))))))) + ge_balance_negative_complete_searchabsentquotientproductoutputimaginary = (((((((ge_first_rp_complete_searchabsentquotientproduct) * (ge_second_in_complete_searchabsentquotientproduct))) + (((ge_first_rn_complete_searchabsentquotientproduct) * (ge_second_ip_complete_searchabsentquotientproduct))))) + (((((ge_first_ip_complete_searchabsentquotientproduct) * (ge_second_rn_complete_searchabsentquotientproduct))) + (((ge_first_in_complete_searchabsentquotientproduct) * (ge_second_rp_complete_searchabsentquotientproduct))))))) + ge_balance_positive_complete_searchabsentquotientproductoutputimaginary)))))))))) /\ (exists gr_proper_divisor_norm_complete_searchabsent. ((exists ge_norm_rp_complete_searchabsentnorm ge_norm_rn_complete_searchabsentnorm ge_norm_ip_complete_searchabsentnorm ge_norm_in_complete_searchabsentnorm. ((exists ge_representation_real_code_complete_searchabsentnormrepresentation ge_representation_imaginary_code_complete_searchabsentnormrepresentation. (((gr_complete_divisor_complete_search) = ((ge_representation_real_code_complete_searchabsentnormrepresentation) + (ge_representation_imaginary_code_complete_searchabsentnormrepresentation)) * S ((ge_representation_real_code_complete_searchabsentnormrepresentation) + (ge_representation_imaginary_code_complete_searchabsentnormrepresentation)) + ((ge_representation_imaginary_code_complete_searchabsentnormrepresentation) + (ge_representation_imaginary_code_complete_searchabsentnormrepresentation))) /\ ((exists ge_balance_positive_complete_searchabsentnormrepresentationreal ge_balance_negative_complete_searchabsentnormrepresentationreal. (((((ge_representation_real_code_complete_searchabsentnormrepresentation) = 2 * (ge_balance_positive_complete_searchabsentnormrepresentationreal) /\ (ge_balance_negative_complete_searchabsentnormrepresentationreal) = 0) \/ exists ge_signed_half_complete_searchabsentnormrepresentationrealdecode. (((ge_representation_real_code_complete_searchabsentnormrepresentation) = 2 * ge_signed_half_complete_searchabsentnormrepresentationrealdecode + 1 /\ (ge_balance_positive_complete_searchabsentnormrepresentationreal) = 0) /\ (ge_balance_negative_complete_searchabsentnormrepresentationreal) = S ge_signed_half_complete_searchabsentnormrepresentationrealdecode))) /\ ((ge_norm_rp_complete_searchabsentnorm) + ge_balance_negative_complete_searchabsentnormrepresentationreal = (ge_norm_rn_complete_searchabsentnorm) + ge_balance_positive_complete_searchabsentnormrepresentationreal))) /\ (exists ge_balance_positive_complete_searchabsentnormrepresentationimaginary ge_balance_negative_complete_searchabsentnormrepresentationimaginary. (((((ge_representation_imaginary_code_complete_searchabsentnormrepresentation) = 2 * (ge_balance_positive_complete_searchabsentnormrepresentationimaginary) /\ (ge_balance_negative_complete_searchabsentnormrepresentationimaginary) = 0) \/ exists ge_signed_half_complete_searchabsentnormrepresentationimaginarydecode. (((ge_representation_imaginary_code_complete_searchabsentnormrepresentation) = 2 * ge_signed_half_complete_searchabsentnormrepresentationimaginarydecode + 1 /\ (ge_balance_positive_complete_searchabsentnormrepresentationimaginary) = 0) /\ (ge_balance_negative_complete_searchabsentnormrepresentationimaginary) = S ge_signed_half_complete_searchabsentnormrepresentationimaginarydecode))) /\ ((ge_norm_ip_complete_searchabsentnorm) + ge_balance_negative_complete_searchabsentnormrepresentationimaginary = (ge_norm_in_complete_searchabsentnorm) + ge_balance_positive_complete_searchabsentnormrepresentationimaginary)))))) /\ (exists ge_real_square_complete_searchabsentnormsquare ge_imaginary_square_complete_searchabsentnormsquare. ((((((ge_norm_rp_complete_searchabsentnorm) * (ge_norm_rp_complete_searchabsentnorm))) + (((ge_norm_rn_complete_searchabsentnorm) * (ge_norm_rn_complete_searchabsentnorm)))) = ((ge_real_square_complete_searchabsentnormsquare) + (((((ge_norm_rp_complete_searchabsentnorm) * (ge_norm_rn_complete_searchabsentnorm))) + (((ge_norm_rn_complete_searchabsentnorm) * (ge_norm_rp_complete_searchabsentnorm))))))) /\ ((((((ge_norm_ip_complete_searchabsentnorm) * (ge_norm_ip_complete_searchabsentnorm))) + (((ge_norm_in_complete_searchabsentnorm) * (ge_norm_in_complete_searchabsentnorm)))) = ((ge_imaginary_square_complete_searchabsentnormsquare) + (((((ge_norm_ip_complete_searchabsentnorm) * (ge_norm_in_complete_searchabsentnorm))) + (((ge_norm_in_complete_searchabsentnorm) * (ge_norm_ip_complete_searchabsentnorm))))))) /\ ((gr_proper_divisor_norm_complete_searchabsent) = ge_real_square_complete_searchabsentnormsquare + ge_imaginary_square_complete_searchabsentnormsquare)))))) /\ (exists ge_gap_complete_searchabsentstrict. ge_gap_complete_searchabsentstrict + S (gr_proper_divisor_norm_complete_searchabsent) = (N)))))))))

Complete tactic proof in conservative notation

All 63 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay script.

Read the argument

Proof checkpoints

63 script commands · 13 reading checkpoints · 2 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.

Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.

Named ingredients (5)
01Fix variables and assumptionsL1–3

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

  1. L1
    intro z
  2. L2
    intro N
  3. L3
    intro hn
02Establish hscanL4–13

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

  1. L4
    have hscan : (∃ x. ∃ y. Lt(x,S (2 · N)) ∧ (Lt(y,S (2 · N)) ∧ GProperNormDivisor((x + y) · S (x + y) + (y + y),z,N))) ∨ (∀ x. ∀ y. Lt(x,S (2 · N)) → Lt(y,S (2 · N)) → ¬GProperNormDivisor((x + y) · S (x + y) + (y + y),z,N))Definitions: Lt(x,S (2 · N))Lt(y,S (2 · N))GProperNormDivisor((x + y) · S (x + y) + (y + y),z,N)Original native command in the exact edition
  2. L5
    specialize gaussian_factor_search_coordinate_rectangle (S (2*N))
  3. L6
    specialize gaussian_factor_search_coordinate_rectangle (z)
  4. L7
    specialize gaussian_factor_search_coordinate_rectangle (N)
  5. L8
    specialize gaussian_factor_search_coordinate_rectangle (S (2*N))
  6. L9
    apply gaussian_factor_search_coordinate_rectangle
  7. L10
    specialize gaussian_norm_input_valid (z)
  8. L11
    specialize gaussian_norm_input_valid (N)
  9. L12
    apply gaussian_norm_input_valid
  10. L13
    exact hn
03Separate the logical casesL14–19

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

  1. L14
    cases hscan
  2. L15
    cases hscan_left
  3. L16
    cases hscan_left_witness
  4. L17
    cases hscan_left_witness_witness
  5. L18
    cases hscan_left_witness_witness_right
  6. L19
    left
04Construct an explicit witnessL20–20

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

  1. L20
    exists (((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1)))
05Use earlier factsL21–21

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

  1. L21
    exact hscan_left_witness_witness_right_right
06Separate the logical casesL22–22

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

  1. L22
    right
07Fix variables and assumptionsL23–24

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

  1. L23
    intro d
  2. L24
    intro hd
08Separate the logical casesL25–28

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

  1. L25
    cases hd
  2. L26
    cases hd_right
  3. L27
    cases hd_right_right
  4. L28
    cases hd_right_right_witness
09Establish hcL29–38

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian search bounded coordinates monotone.

  1. L29
    have hc : GNormBoundedCoordinates(d,N)Definitions: GNormBoundedCoordinates(d,N)Original native command in the exact edition
  2. L30
    specialize gaussian_search_bounded_coordinates_monotone (d)
  3. L31
    specialize gaussian_search_bounded_coordinates_monotone (x)
  4. L32
    specialize gaussian_search_bounded_coordinates_monotone (N)
  5. L33
    apply gaussian_search_bounded_coordinates_monotone
  6. L34
    specialize gaussian_norm_bounded_coordinates (d)
  7. L35
    specialize gaussian_norm_bounded_coordinates (x)
  8. L36
    apply gaussian_norm_bounded_coordinates
  9. L37
    exact hd_right_right_witness_left
  10. L38
    specialize lt_to_le (x)
10Use earlier factsL39–41

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

  1. L39
    specialize lt_to_le (N)
  2. L40
    apply lt_to_le
  3. L41
    exact hd_right_right_witness_right
11Separate the logical casesL42–45

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

  1. L42
    cases hc
  2. L43
    cases hc_witness
  3. L44
    cases hc_witness_witness
  4. L45
    cases hc_witness_witness_right
12Use earlier factsL46–55

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

  1. L46
    specialize hscan_right (x1)
  2. L47
    specialize hscan_right (x2)
  3. L48
    apply hscan_right
  4. L49
    specialize succ_le_succ (x1)
  5. L50
    specialize succ_le_succ (2*N)
  6. L51
    apply succ_le_succ
  7. L52
    exact hc_witness_witness_right_left
  8. L53
    specialize succ_le_succ (x2)
  9. L54
    specialize succ_le_succ (2*N)
  10. L55
    apply succ_le_succ
13Use earlier factsL56–63

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

  1. L56
    exact hc_witness_witness_right_right
  2. L57
    specialize gaussian_search_proper_divisor_code_transport (d)
  3. L58
    specialize gaussian_search_proper_divisor_code_transport (((x1) + (x2)) * S ((x1) + (x2)) + ((x2) + (x2)))
  4. L59
    specialize gaussian_search_proper_divisor_code_transport (z)
  5. L60
    specialize gaussian_search_proper_divisor_code_transport (N)
  6. L61
    apply gaussian_search_proper_divisor_code_transport
  7. L62
    exact hc_witness_witness_left
  8. L63
    exact hd

Library-wide reading audit

Original defined command ledger · 63 lines
  1. 0001intro z
  2. 0002intro N
  3. 0003intro hn
  4. 0004have hscan : (∃ x. ∃ y. Lt(x,S (2 · N)) ∧ (Lt(y,S (2 · N))GProperNormDivisor((x + y) · S (x + y) + (y + y),z,N))) ∨ (∀ x. ∀ y. Lt(x,S (2 · N))Lt(y,S (2 · N)) → ¬GProperNormDivisor((x + y) · S (x + y) + (y + y),z,N))
  5. 0005specialize gaussian_factor_search_coordinate_rectangle (S (2*N))
  6. 0006specialize gaussian_factor_search_coordinate_rectangle (z)
  7. 0007specialize gaussian_factor_search_coordinate_rectangle (N)
  8. 0008specialize gaussian_factor_search_coordinate_rectangle (S (2*N))
  9. 0009apply gaussian_factor_search_coordinate_rectangle
  10. 0010specialize gaussian_norm_input_valid (z)
  11. 0011specialize gaussian_norm_input_valid (N)
  12. 0012apply gaussian_norm_input_valid
  13. 0013exact hn
  14. 0014cases hscan
  15. 0015cases hscan_left
  16. 0016cases hscan_left_witness
  17. 0017cases hscan_left_witness_witness
  18. 0018cases hscan_left_witness_witness_right
  19. 0019left
  20. 0020exists (((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1)))
  21. 0021exact hscan_left_witness_witness_right_right
  22. 0022right
  23. 0023intro d
  24. 0024intro hd
  25. 0025cases hd
  26. 0026cases hd_right
  27. 0027cases hd_right_right
  28. 0028cases hd_right_right_witness
  29. 0029have hc : GNormBoundedCoordinates(d,N)
  30. 0030specialize gaussian_search_bounded_coordinates_monotone (d)
  31. 0031specialize gaussian_search_bounded_coordinates_monotone (x)
  32. 0032specialize gaussian_search_bounded_coordinates_monotone (N)
  33. 0033apply gaussian_search_bounded_coordinates_monotone
  34. 0034specialize gaussian_norm_bounded_coordinates (d)
  35. 0035specialize gaussian_norm_bounded_coordinates (x)
  36. 0036apply gaussian_norm_bounded_coordinates
  37. 0037exact hd_right_right_witness_left
  38. 0038specialize lt_to_le (x)
  39. 0039specialize lt_to_le (N)
  40. 0040apply lt_to_le
  41. 0041exact hd_right_right_witness_right
  42. 0042cases hc
  43. 0043cases hc_witness
  44. 0044cases hc_witness_witness
  45. 0045cases hc_witness_witness_right
  46. 0046specialize hscan_right (x1)
  47. 0047specialize hscan_right (x2)
  48. 0048apply hscan_right
  49. 0049specialize succ_le_succ (x1)
  50. 0050specialize succ_le_succ (2*N)
  51. 0051apply succ_le_succ
  52. 0052exact hc_witness_witness_right_left
  53. 0053specialize succ_le_succ (x2)
  54. 0054specialize succ_le_succ (2*N)
  55. 0055apply succ_le_succ
  56. 0056exact hc_witness_witness_right_right
  57. 0057specialize gaussian_search_proper_divisor_code_transport (d)
  58. 0058specialize gaussian_search_proper_divisor_code_transport (((x1) + (x2)) * S ((x1) + (x2)) + ((x2) + (x2)))
  59. 0059specialize gaussian_search_proper_divisor_code_transport (z)
  60. 0060specialize gaussian_search_proper_divisor_code_transport (N)
  61. 0061apply gaussian_search_proper_divisor_code_transport
  62. 0062exact hc_witness_witness_left
  63. 0063exact hd