GF0080

gaussian_irreducible_divisor_bounded_norm

Ordinary bounded-norm induction constructs an irreducible divisor of every nonzero Gaussian nonunit, using the actual finite factor search at each descent.

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

∀ k. ∀ z. ∀ N. Le(N,k)GNorm(z,N) → ¬z = 0 → ¬GUnit(z) → ∃ x. GIrreducible(x)GDvd(x,z)

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

Definition DAG

Actual proof prerequisites

Original expanded first-order statement
forall k z N. (exists ge_gap_prime_divisor_bound. ge_gap_prime_divisor_bound + (N) = (k)) -> (exists ge_norm_rp_prime_divisor_norm ge_norm_rn_prime_divisor_norm ge_norm_ip_prime_divisor_norm ge_norm_in_prime_divisor_norm. ((exists ge_representation_real_code_prime_divisor_normrepresentation ge_representation_imaginary_code_prime_divisor_normrepresentation. (((z) = ((ge_representation_real_code_prime_divisor_normrepresentation) + (ge_representation_imaginary_code_prime_divisor_normrepresentation)) * S ((ge_representation_real_code_prime_divisor_normrepresentation) + (ge_representation_imaginary_code_prime_divisor_normrepresentation)) + ((ge_representation_imaginary_code_prime_divisor_normrepresentation) + (ge_representation_imaginary_code_prime_divisor_normrepresentation))) /\ ((exists ge_balance_positive_prime_divisor_normrepresentationreal ge_balance_negative_prime_divisor_normrepresentationreal. (((((ge_representation_real_code_prime_divisor_normrepresentation) = 2 * (ge_balance_positive_prime_divisor_normrepresentationreal) /\ (ge_balance_negative_prime_divisor_normrepresentationreal) = 0) \/ exists ge_signed_half_prime_divisor_normrepresentationrealdecode. (((ge_representation_real_code_prime_divisor_normrepresentation) = 2 * ge_signed_half_prime_divisor_normrepresentationrealdecode + 1 /\ (ge_balance_positive_prime_divisor_normrepresentationreal) = 0) /\ (ge_balance_negative_prime_divisor_normrepresentationreal) = S ge_signed_half_prime_divisor_normrepresentationrealdecode))) /\ ((ge_norm_rp_prime_divisor_norm) + ge_balance_negative_prime_divisor_normrepresentationreal = (ge_norm_rn_prime_divisor_norm) + ge_balance_positive_prime_divisor_normrepresentationreal))) /\ (exists ge_balance_positive_prime_divisor_normrepresentationimaginary ge_balance_negative_prime_divisor_normrepresentationimaginary. (((((ge_representation_imaginary_code_prime_divisor_normrepresentation) = 2 * (ge_balance_positive_prime_divisor_normrepresentationimaginary) /\ (ge_balance_negative_prime_divisor_normrepresentationimaginary) = 0) \/ exists ge_signed_half_prime_divisor_normrepresentationimaginarydecode. (((ge_representation_imaginary_code_prime_divisor_normrepresentation) = 2 * ge_signed_half_prime_divisor_normrepresentationimaginarydecode + 1 /\ (ge_balance_positive_prime_divisor_normrepresentationimaginary) = 0) /\ (ge_balance_negative_prime_divisor_normrepresentationimaginary) = S ge_signed_half_prime_divisor_normrepresentationimaginarydecode))) /\ ((ge_norm_ip_prime_divisor_norm) + ge_balance_negative_prime_divisor_normrepresentationimaginary = (ge_norm_in_prime_divisor_norm) + ge_balance_positive_prime_divisor_normrepresentationimaginary)))))) /\ (exists ge_real_square_prime_divisor_normsquare ge_imaginary_square_prime_divisor_normsquare. ((((((ge_norm_rp_prime_divisor_norm) * (ge_norm_rp_prime_divisor_norm))) + (((ge_norm_rn_prime_divisor_norm) * (ge_norm_rn_prime_divisor_norm)))) = ((ge_real_square_prime_divisor_normsquare) + (((((ge_norm_rp_prime_divisor_norm) * (ge_norm_rn_prime_divisor_norm))) + (((ge_norm_rn_prime_divisor_norm) * (ge_norm_rp_prime_divisor_norm))))))) /\ ((((((ge_norm_ip_prime_divisor_norm) * (ge_norm_ip_prime_divisor_norm))) + (((ge_norm_in_prime_divisor_norm) * (ge_norm_in_prime_divisor_norm)))) = ((ge_imaginary_square_prime_divisor_normsquare) + (((((ge_norm_ip_prime_divisor_norm) * (ge_norm_in_prime_divisor_norm))) + (((ge_norm_in_prime_divisor_norm) * (ge_norm_ip_prime_divisor_norm))))))) /\ ((N) = ge_real_square_prime_divisor_normsquare + ge_imaginary_square_prime_divisor_normsquare)))))) -> ~(z=0) -> ~(exists gr_inverse_prime_divisor_nonunit. (exists ge_first_rp_prime_divisor_nonunitidentity ge_first_rn_prime_divisor_nonunitidentity ge_first_ip_prime_divisor_nonunitidentity ge_first_in_prime_divisor_nonunitidentity ge_second_rp_prime_divisor_nonunitidentity ge_second_rn_prime_divisor_nonunitidentity ge_second_ip_prime_divisor_nonunitidentity ge_second_in_prime_divisor_nonunitidentity. ((exists ge_representation_real_code_prime_divisor_nonunitidentityfirst ge_representation_imaginary_code_prime_divisor_nonunitidentityfirst. (((z) = ((ge_representation_real_code_prime_divisor_nonunitidentityfirst) + (ge_representation_imaginary_code_prime_divisor_nonunitidentityfirst)) * S ((ge_representation_real_code_prime_divisor_nonunitidentityfirst) + (ge_representation_imaginary_code_prime_divisor_nonunitidentityfirst)) + ((ge_representation_imaginary_code_prime_divisor_nonunitidentityfirst) + (ge_representation_imaginary_code_prime_divisor_nonunitidentityfirst))) /\ ((exists ge_balance_positive_prime_divisor_nonunitidentityfirstreal ge_balance_negative_prime_divisor_nonunitidentityfirstreal. (((((ge_representation_real_code_prime_divisor_nonunitidentityfirst) = 2 * (ge_balance_positive_prime_divisor_nonunitidentityfirstreal) /\ (ge_balance_negative_prime_divisor_nonunitidentityfirstreal) = 0) \/ exists ge_signed_half_prime_divisor_nonunitidentityfirstrealdecode. (((ge_representation_real_code_prime_divisor_nonunitidentityfirst) = 2 * ge_signed_half_prime_divisor_nonunitidentityfirstrealdecode + 1 /\ (ge_balance_positive_prime_divisor_nonunitidentityfirstreal) = 0) /\ (ge_balance_negative_prime_divisor_nonunitidentityfirstreal) = S ge_signed_half_prime_divisor_nonunitidentityfirstrealdecode))) /\ ((ge_first_rp_prime_divisor_nonunitidentity) + ge_balance_negative_prime_divisor_nonunitidentityfirstreal = (ge_first_rn_prime_divisor_nonunitidentity) + ge_balance_positive_prime_divisor_nonunitidentityfirstreal))) /\ (exists ge_balance_positive_prime_divisor_nonunitidentityfirstimaginary ge_balance_negative_prime_divisor_nonunitidentityfirstimaginary. (((((ge_representation_imaginary_code_prime_divisor_nonunitidentityfirst) = 2 * (ge_balance_positive_prime_divisor_nonunitidentityfirstimaginary) /\ (ge_balance_negative_prime_divisor_nonunitidentityfirstimaginary) = 0) \/ exists ge_signed_half_prime_divisor_nonunitidentityfirstimaginarydecode. (((ge_representation_imaginary_code_prime_divisor_nonunitidentityfirst) = 2 * ge_signed_half_prime_divisor_nonunitidentityfirstimaginarydecode + 1 /\ (ge_balance_positive_prime_divisor_nonunitidentityfirstimaginary) = 0) /\ (ge_balance_negative_prime_divisor_nonunitidentityfirstimaginary) = S ge_signed_half_prime_divisor_nonunitidentityfirstimaginarydecode))) /\ ((ge_first_ip_prime_divisor_nonunitidentity) + ge_balance_negative_prime_divisor_nonunitidentityfirstimaginary = (ge_first_in_prime_divisor_nonunitidentity) + ge_balance_positive_prime_divisor_nonunitidentityfirstimaginary)))))) /\ ((exists ge_representation_real_code_prime_divisor_nonunitidentitysecond ge_representation_imaginary_code_prime_divisor_nonunitidentitysecond. (((gr_inverse_prime_divisor_nonunit) = ((ge_representation_real_code_prime_divisor_nonunitidentitysecond) + (ge_representation_imaginary_code_prime_divisor_nonunitidentitysecond)) * S ((ge_representation_real_code_prime_divisor_nonunitidentitysecond) + (ge_representation_imaginary_code_prime_divisor_nonunitidentitysecond)) + ((ge_representation_imaginary_code_prime_divisor_nonunitidentitysecond) + (ge_representation_imaginary_code_prime_divisor_nonunitidentitysecond))) /\ ((exists ge_balance_positive_prime_divisor_nonunitidentitysecondreal ge_balance_negative_prime_divisor_nonunitidentitysecondreal. (((((ge_representation_real_code_prime_divisor_nonunitidentitysecond) = 2 * (ge_balance_positive_prime_divisor_nonunitidentitysecondreal) /\ (ge_balance_negative_prime_divisor_nonunitidentitysecondreal) = 0) \/ exists ge_signed_half_prime_divisor_nonunitidentitysecondrealdecode. (((ge_representation_real_code_prime_divisor_nonunitidentitysecond) = 2 * ge_signed_half_prime_divisor_nonunitidentitysecondrealdecode + 1 /\ (ge_balance_positive_prime_divisor_nonunitidentitysecondreal) = 0) /\ (ge_balance_negative_prime_divisor_nonunitidentitysecondreal) = S ge_signed_half_prime_divisor_nonunitidentitysecondrealdecode))) /\ ((ge_second_rp_prime_divisor_nonunitidentity) + ge_balance_negative_prime_divisor_nonunitidentitysecondreal = (ge_second_rn_prime_divisor_nonunitidentity) + ge_balance_positive_prime_divisor_nonunitidentitysecondreal))) /\ (exists ge_balance_positive_prime_divisor_nonunitidentitysecondimaginary ge_balance_negative_prime_divisor_nonunitidentitysecondimaginary. (((((ge_representation_imaginary_code_prime_divisor_nonunitidentitysecond) = 2 * (ge_balance_positive_prime_divisor_nonunitidentitysecondimaginary) /\ (ge_balance_negative_prime_divisor_nonunitidentitysecondimaginary) = 0) \/ exists ge_signed_half_prime_divisor_nonunitidentitysecondimaginarydecode. (((ge_representation_imaginary_code_prime_divisor_nonunitidentitysecond) = 2 * ge_signed_half_prime_divisor_nonunitidentitysecondimaginarydecode + 1 /\ (ge_balance_positive_prime_divisor_nonunitidentitysecondimaginary) = 0) /\ (ge_balance_negative_prime_divisor_nonunitidentitysecondimaginary) = S ge_signed_half_prime_divisor_nonunitidentitysecondimaginarydecode))) /\ ((ge_second_ip_prime_divisor_nonunitidentity) + ge_balance_negative_prime_divisor_nonunitidentitysecondimaginary = (ge_second_in_prime_divisor_nonunitidentity) + ge_balance_positive_prime_divisor_nonunitidentitysecondimaginary)))))) /\ (exists ge_representation_real_code_prime_divisor_nonunitidentityoutput ge_representation_imaginary_code_prime_divisor_nonunitidentityoutput. (((6) = ((ge_representation_real_code_prime_divisor_nonunitidentityoutput) + (ge_representation_imaginary_code_prime_divisor_nonunitidentityoutput)) * S ((ge_representation_real_code_prime_divisor_nonunitidentityoutput) + (ge_representation_imaginary_code_prime_divisor_nonunitidentityoutput)) + ((ge_representation_imaginary_code_prime_divisor_nonunitidentityoutput) + (ge_representation_imaginary_code_prime_divisor_nonunitidentityoutput))) /\ ((exists ge_balance_positive_prime_divisor_nonunitidentityoutputreal ge_balance_negative_prime_divisor_nonunitidentityoutputreal. (((((ge_representation_real_code_prime_divisor_nonunitidentityoutput) = 2 * (ge_balance_positive_prime_divisor_nonunitidentityoutputreal) /\ (ge_balance_negative_prime_divisor_nonunitidentityoutputreal) = 0) \/ exists ge_signed_half_prime_divisor_nonunitidentityoutputrealdecode. (((ge_representation_real_code_prime_divisor_nonunitidentityoutput) = 2 * ge_signed_half_prime_divisor_nonunitidentityoutputrealdecode + 1 /\ (ge_balance_positive_prime_divisor_nonunitidentityoutputreal) = 0) /\ (ge_balance_negative_prime_divisor_nonunitidentityoutputreal) = S ge_signed_half_prime_divisor_nonunitidentityoutputrealdecode))) /\ ((((((((ge_first_rp_prime_divisor_nonunitidentity) * (ge_second_rp_prime_divisor_nonunitidentity))) + (((ge_first_rn_prime_divisor_nonunitidentity) * (ge_second_rn_prime_divisor_nonunitidentity))))) + (((((ge_first_ip_prime_divisor_nonunitidentity) * (ge_second_in_prime_divisor_nonunitidentity))) + (((ge_first_in_prime_divisor_nonunitidentity) * (ge_second_ip_prime_divisor_nonunitidentity))))))) + ge_balance_negative_prime_divisor_nonunitidentityoutputreal = (((((((ge_first_rp_prime_divisor_nonunitidentity) * (ge_second_rn_prime_divisor_nonunitidentity))) + (((ge_first_rn_prime_divisor_nonunitidentity) * (ge_second_rp_prime_divisor_nonunitidentity))))) + (((((ge_first_ip_prime_divisor_nonunitidentity) * (ge_second_ip_prime_divisor_nonunitidentity))) + (((ge_first_in_prime_divisor_nonunitidentity) * (ge_second_in_prime_divisor_nonunitidentity))))))) + ge_balance_positive_prime_divisor_nonunitidentityoutputreal))) /\ (exists ge_balance_positive_prime_divisor_nonunitidentityoutputimaginary ge_balance_negative_prime_divisor_nonunitidentityoutputimaginary. (((((ge_representation_imaginary_code_prime_divisor_nonunitidentityoutput) = 2 * (ge_balance_positive_prime_divisor_nonunitidentityoutputimaginary) /\ (ge_balance_negative_prime_divisor_nonunitidentityoutputimaginary) = 0) \/ exists ge_signed_half_prime_divisor_nonunitidentityoutputimaginarydecode. (((ge_representation_imaginary_code_prime_divisor_nonunitidentityoutput) = 2 * ge_signed_half_prime_divisor_nonunitidentityoutputimaginarydecode + 1 /\ (ge_balance_positive_prime_divisor_nonunitidentityoutputimaginary) = 0) /\ (ge_balance_negative_prime_divisor_nonunitidentityoutputimaginary) = S ge_signed_half_prime_divisor_nonunitidentityoutputimaginarydecode))) /\ ((((((((ge_first_rp_prime_divisor_nonunitidentity) * (ge_second_ip_prime_divisor_nonunitidentity))) + (((ge_first_rn_prime_divisor_nonunitidentity) * (ge_second_in_prime_divisor_nonunitidentity))))) + (((((ge_first_ip_prime_divisor_nonunitidentity) * (ge_second_rp_prime_divisor_nonunitidentity))) + (((ge_first_in_prime_divisor_nonunitidentity) * (ge_second_rn_prime_divisor_nonunitidentity))))))) + ge_balance_negative_prime_divisor_nonunitidentityoutputimaginary = (((((((ge_first_rp_prime_divisor_nonunitidentity) * (ge_second_in_prime_divisor_nonunitidentity))) + (((ge_first_rn_prime_divisor_nonunitidentity) * (ge_second_ip_prime_divisor_nonunitidentity))))) + (((((ge_first_ip_prime_divisor_nonunitidentity) * (ge_second_rn_prime_divisor_nonunitidentity))) + (((ge_first_in_prime_divisor_nonunitidentity) * (ge_second_rp_prime_divisor_nonunitidentity))))))) + ge_balance_positive_prime_divisor_nonunitidentityoutputimaginary)))))))))) -> (exists p. ((((exists ge_real_positive_prime_divisor_resultirreduciblecarrier ge_real_negative_prime_divisor_resultirreduciblecarrier ge_imaginary_positive_prime_divisor_resultirreduciblecarrier ge_imaginary_negative_prime_divisor_resultirreduciblecarrier. (exists ge_real_code_prime_divisor_resultirreduciblecarrierdecode ge_imaginary_code_prime_divisor_resultirreduciblecarrierdecode. (((p) = ((ge_real_code_prime_divisor_resultirreduciblecarrierdecode) + (ge_imaginary_code_prime_divisor_resultirreduciblecarrierdecode)) * S ((ge_real_code_prime_divisor_resultirreduciblecarrierdecode) + (ge_imaginary_code_prime_divisor_resultirreduciblecarrierdecode)) + ((ge_imaginary_code_prime_divisor_resultirreduciblecarrierdecode) + (ge_imaginary_code_prime_divisor_resultirreduciblecarrierdecode))) /\ (((((ge_real_code_prime_divisor_resultirreduciblecarrierdecode) = 2 * (ge_real_positive_prime_divisor_resultirreduciblecarrier) /\ (ge_real_negative_prime_divisor_resultirreduciblecarrier) = 0) \/ exists ge_signed_half_ge_prime_divisor_resultirreduciblecarrierdecode_real. (((ge_real_code_prime_divisor_resultirreduciblecarrierdecode) = 2 * ge_signed_half_ge_prime_divisor_resultirreduciblecarrierdecode_real + 1 /\ (ge_real_positive_prime_divisor_resultirreduciblecarrier) = 0) /\ (ge_real_negative_prime_divisor_resultirreduciblecarrier) = S ge_signed_half_ge_prime_divisor_resultirreduciblecarrierdecode_real))) /\ ((((ge_imaginary_code_prime_divisor_resultirreduciblecarrierdecode) = 2 * (ge_imaginary_positive_prime_divisor_resultirreduciblecarrier) /\ (ge_imaginary_negative_prime_divisor_resultirreduciblecarrier) = 0) \/ exists ge_signed_half_ge_prime_divisor_resultirreduciblecarrierdecode_imaginary. (((ge_imaginary_code_prime_divisor_resultirreduciblecarrierdecode) = 2 * ge_signed_half_ge_prime_divisor_resultirreduciblecarrierdecode_imaginary + 1 /\ (ge_imaginary_positive_prime_divisor_resultirreduciblecarrier) = 0) /\ (ge_imaginary_negative_prime_divisor_resultirreduciblecarrier) = S ge_signed_half_ge_prime_divisor_resultirreduciblecarrierdecode_imaginary))))))) /\ ((~((p)=0)) /\ ((~(exists gr_inverse_prime_divisor_resultirreduciblenonunit. (exists ge_first_rp_prime_divisor_resultirreduciblenonunitidentity ge_first_rn_prime_divisor_resultirreduciblenonunitidentity ge_first_ip_prime_divisor_resultirreduciblenonunitidentity ge_first_in_prime_divisor_resultirreduciblenonunitidentity ge_second_rp_prime_divisor_resultirreduciblenonunitidentity ge_second_rn_prime_divisor_resultirreduciblenonunitidentity ge_second_ip_prime_divisor_resultirreduciblenonunitidentity ge_second_in_prime_divisor_resultirreduciblenonunitidentity. ((exists ge_representation_real_code_prime_divisor_resultirreduciblenonunitidentityfirst ge_representation_imaginary_code_prime_divisor_resultirreduciblenonunitidentityfirst. (((p) = ((ge_representation_real_code_prime_divisor_resultirreduciblenonunitidentityfirst) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblenonunitidentityfirst)) * S ((ge_representation_real_code_prime_divisor_resultirreduciblenonunitidentityfirst) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblenonunitidentityfirst)) + ((ge_representation_imaginary_code_prime_divisor_resultirreduciblenonunitidentityfirst) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblenonunitidentityfirst))) /\ ((exists ge_balance_positive_prime_divisor_resultirreduciblenonunitidentityfirstreal ge_balance_negative_prime_divisor_resultirreduciblenonunitidentityfirstreal. (((((ge_representation_real_code_prime_divisor_resultirreduciblenonunitidentityfirst) = 2 * (ge_balance_positive_prime_divisor_resultirreduciblenonunitidentityfirstreal) /\ (ge_balance_negative_prime_divisor_resultirreduciblenonunitidentityfirstreal) = 0) \/ exists ge_signed_half_prime_divisor_resultirreduciblenonunitidentityfirstrealdecode. (((ge_representation_real_code_prime_divisor_resultirreduciblenonunitidentityfirst) = 2 * ge_signed_half_prime_divisor_resultirreduciblenonunitidentityfirstrealdecode + 1 /\ (ge_balance_positive_prime_divisor_resultirreduciblenonunitidentityfirstreal) = 0) /\ (ge_balance_negative_prime_divisor_resultirreduciblenonunitidentityfirstreal) = S ge_signed_half_prime_divisor_resultirreduciblenonunitidentityfirstrealdecode))) /\ ((ge_first_rp_prime_divisor_resultirreduciblenonunitidentity) + ge_balance_negative_prime_divisor_resultirreduciblenonunitidentityfirstreal = (ge_first_rn_prime_divisor_resultirreduciblenonunitidentity) + ge_balance_positive_prime_divisor_resultirreduciblenonunitidentityfirstreal))) /\ (exists ge_balance_positive_prime_divisor_resultirreduciblenonunitidentityfirstimaginary ge_balance_negative_prime_divisor_resultirreduciblenonunitidentityfirstimaginary. (((((ge_representation_imaginary_code_prime_divisor_resultirreduciblenonunitidentityfirst) = 2 * (ge_balance_positive_prime_divisor_resultirreduciblenonunitidentityfirstimaginary) /\ (ge_balance_negative_prime_divisor_resultirreduciblenonunitidentityfirstimaginary) = 0) \/ exists ge_signed_half_prime_divisor_resultirreduciblenonunitidentityfirstimaginarydecode. (((ge_representation_imaginary_code_prime_divisor_resultirreduciblenonunitidentityfirst) = 2 * ge_signed_half_prime_divisor_resultirreduciblenonunitidentityfirstimaginarydecode + 1 /\ (ge_balance_positive_prime_divisor_resultirreduciblenonunitidentityfirstimaginary) = 0) /\ (ge_balance_negative_prime_divisor_resultirreduciblenonunitidentityfirstimaginary) = S ge_signed_half_prime_divisor_resultirreduciblenonunitidentityfirstimaginarydecode))) /\ ((ge_first_ip_prime_divisor_resultirreduciblenonunitidentity) + ge_balance_negative_prime_divisor_resultirreduciblenonunitidentityfirstimaginary = (ge_first_in_prime_divisor_resultirreduciblenonunitidentity) + ge_balance_positive_prime_divisor_resultirreduciblenonunitidentityfirstimaginary)))))) /\ ((exists ge_representation_real_code_prime_divisor_resultirreduciblenonunitidentitysecond ge_representation_imaginary_code_prime_divisor_resultirreduciblenonunitidentitysecond. (((gr_inverse_prime_divisor_resultirreduciblenonunit) = ((ge_representation_real_code_prime_divisor_resultirreduciblenonunitidentitysecond) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblenonunitidentitysecond)) * S ((ge_representation_real_code_prime_divisor_resultirreduciblenonunitidentitysecond) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblenonunitidentitysecond)) + ((ge_representation_imaginary_code_prime_divisor_resultirreduciblenonunitidentitysecond) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblenonunitidentitysecond))) /\ ((exists ge_balance_positive_prime_divisor_resultirreduciblenonunitidentitysecondreal ge_balance_negative_prime_divisor_resultirreduciblenonunitidentitysecondreal. (((((ge_representation_real_code_prime_divisor_resultirreduciblenonunitidentitysecond) = 2 * (ge_balance_positive_prime_divisor_resultirreduciblenonunitidentitysecondreal) /\ (ge_balance_negative_prime_divisor_resultirreduciblenonunitidentitysecondreal) = 0) \/ exists ge_signed_half_prime_divisor_resultirreduciblenonunitidentitysecondrealdecode. (((ge_representation_real_code_prime_divisor_resultirreduciblenonunitidentitysecond) = 2 * ge_signed_half_prime_divisor_resultirreduciblenonunitidentitysecondrealdecode + 1 /\ (ge_balance_positive_prime_divisor_resultirreduciblenonunitidentitysecondreal) = 0) /\ (ge_balance_negative_prime_divisor_resultirreduciblenonunitidentitysecondreal) = S ge_signed_half_prime_divisor_resultirreduciblenonunitidentitysecondrealdecode))) /\ ((ge_second_rp_prime_divisor_resultirreduciblenonunitidentity) + ge_balance_negative_prime_divisor_resultirreduciblenonunitidentitysecondreal = (ge_second_rn_prime_divisor_resultirreduciblenonunitidentity) + ge_balance_positive_prime_divisor_resultirreduciblenonunitidentitysecondreal))) /\ (exists ge_balance_positive_prime_divisor_resultirreduciblenonunitidentitysecondimaginary ge_balance_negative_prime_divisor_resultirreduciblenonunitidentitysecondimaginary. (((((ge_representation_imaginary_code_prime_divisor_resultirreduciblenonunitidentitysecond) = 2 * (ge_balance_positive_prime_divisor_resultirreduciblenonunitidentitysecondimaginary) /\ (ge_balance_negative_prime_divisor_resultirreduciblenonunitidentitysecondimaginary) = 0) \/ exists ge_signed_half_prime_divisor_resultirreduciblenonunitidentitysecondimaginarydecode. (((ge_representation_imaginary_code_prime_divisor_resultirreduciblenonunitidentitysecond) = 2 * ge_signed_half_prime_divisor_resultirreduciblenonunitidentitysecondimaginarydecode + 1 /\ (ge_balance_positive_prime_divisor_resultirreduciblenonunitidentitysecondimaginary) = 0) /\ (ge_balance_negative_prime_divisor_resultirreduciblenonunitidentitysecondimaginary) = S ge_signed_half_prime_divisor_resultirreduciblenonunitidentitysecondimaginarydecode))) /\ ((ge_second_ip_prime_divisor_resultirreduciblenonunitidentity) + ge_balance_negative_prime_divisor_resultirreduciblenonunitidentitysecondimaginary = (ge_second_in_prime_divisor_resultirreduciblenonunitidentity) + ge_balance_positive_prime_divisor_resultirreduciblenonunitidentitysecondimaginary)))))) /\ (exists ge_representation_real_code_prime_divisor_resultirreduciblenonunitidentityoutput ge_representation_imaginary_code_prime_divisor_resultirreduciblenonunitidentityoutput. (((6) = ((ge_representation_real_code_prime_divisor_resultirreduciblenonunitidentityoutput) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblenonunitidentityoutput)) * S ((ge_representation_real_code_prime_divisor_resultirreduciblenonunitidentityoutput) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblenonunitidentityoutput)) + ((ge_representation_imaginary_code_prime_divisor_resultirreduciblenonunitidentityoutput) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblenonunitidentityoutput))) /\ ((exists ge_balance_positive_prime_divisor_resultirreduciblenonunitidentityoutputreal ge_balance_negative_prime_divisor_resultirreduciblenonunitidentityoutputreal. (((((ge_representation_real_code_prime_divisor_resultirreduciblenonunitidentityoutput) = 2 * (ge_balance_positive_prime_divisor_resultirreduciblenonunitidentityoutputreal) /\ (ge_balance_negative_prime_divisor_resultirreduciblenonunitidentityoutputreal) = 0) \/ exists ge_signed_half_prime_divisor_resultirreduciblenonunitidentityoutputrealdecode. (((ge_representation_real_code_prime_divisor_resultirreduciblenonunitidentityoutput) = 2 * ge_signed_half_prime_divisor_resultirreduciblenonunitidentityoutputrealdecode + 1 /\ (ge_balance_positive_prime_divisor_resultirreduciblenonunitidentityoutputreal) = 0) /\ (ge_balance_negative_prime_divisor_resultirreduciblenonunitidentityoutputreal) = S ge_signed_half_prime_divisor_resultirreduciblenonunitidentityoutputrealdecode))) /\ ((((((((ge_first_rp_prime_divisor_resultirreduciblenonunitidentity) * (ge_second_rp_prime_divisor_resultirreduciblenonunitidentity))) + (((ge_first_rn_prime_divisor_resultirreduciblenonunitidentity) * (ge_second_rn_prime_divisor_resultirreduciblenonunitidentity))))) + (((((ge_first_ip_prime_divisor_resultirreduciblenonunitidentity) * (ge_second_in_prime_divisor_resultirreduciblenonunitidentity))) + (((ge_first_in_prime_divisor_resultirreduciblenonunitidentity) * (ge_second_ip_prime_divisor_resultirreduciblenonunitidentity))))))) + ge_balance_negative_prime_divisor_resultirreduciblenonunitidentityoutputreal = (((((((ge_first_rp_prime_divisor_resultirreduciblenonunitidentity) * (ge_second_rn_prime_divisor_resultirreduciblenonunitidentity))) + (((ge_first_rn_prime_divisor_resultirreduciblenonunitidentity) * (ge_second_rp_prime_divisor_resultirreduciblenonunitidentity))))) + (((((ge_first_ip_prime_divisor_resultirreduciblenonunitidentity) * (ge_second_ip_prime_divisor_resultirreduciblenonunitidentity))) + (((ge_first_in_prime_divisor_resultirreduciblenonunitidentity) * (ge_second_in_prime_divisor_resultirreduciblenonunitidentity))))))) + ge_balance_positive_prime_divisor_resultirreduciblenonunitidentityoutputreal))) /\ (exists ge_balance_positive_prime_divisor_resultirreduciblenonunitidentityoutputimaginary ge_balance_negative_prime_divisor_resultirreduciblenonunitidentityoutputimaginary. (((((ge_representation_imaginary_code_prime_divisor_resultirreduciblenonunitidentityoutput) = 2 * (ge_balance_positive_prime_divisor_resultirreduciblenonunitidentityoutputimaginary) /\ (ge_balance_negative_prime_divisor_resultirreduciblenonunitidentityoutputimaginary) = 0) \/ exists ge_signed_half_prime_divisor_resultirreduciblenonunitidentityoutputimaginarydecode. (((ge_representation_imaginary_code_prime_divisor_resultirreduciblenonunitidentityoutput) = 2 * ge_signed_half_prime_divisor_resultirreduciblenonunitidentityoutputimaginarydecode + 1 /\ (ge_balance_positive_prime_divisor_resultirreduciblenonunitidentityoutputimaginary) = 0) /\ (ge_balance_negative_prime_divisor_resultirreduciblenonunitidentityoutputimaginary) = S ge_signed_half_prime_divisor_resultirreduciblenonunitidentityoutputimaginarydecode))) /\ ((((((((ge_first_rp_prime_divisor_resultirreduciblenonunitidentity) * (ge_second_ip_prime_divisor_resultirreduciblenonunitidentity))) + (((ge_first_rn_prime_divisor_resultirreduciblenonunitidentity) * (ge_second_in_prime_divisor_resultirreduciblenonunitidentity))))) + (((((ge_first_ip_prime_divisor_resultirreduciblenonunitidentity) * (ge_second_rp_prime_divisor_resultirreduciblenonunitidentity))) + (((ge_first_in_prime_divisor_resultirreduciblenonunitidentity) * (ge_second_rn_prime_divisor_resultirreduciblenonunitidentity))))))) + ge_balance_negative_prime_divisor_resultirreduciblenonunitidentityoutputimaginary = (((((((ge_first_rp_prime_divisor_resultirreduciblenonunitidentity) * (ge_second_in_prime_divisor_resultirreduciblenonunitidentity))) + (((ge_first_rn_prime_divisor_resultirreduciblenonunitidentity) * (ge_second_ip_prime_divisor_resultirreduciblenonunitidentity))))) + (((((ge_first_ip_prime_divisor_resultirreduciblenonunitidentity) * (ge_second_rn_prime_divisor_resultirreduciblenonunitidentity))) + (((ge_first_in_prime_divisor_resultirreduciblenonunitidentity) * (ge_second_rp_prime_divisor_resultirreduciblenonunitidentity))))))) + ge_balance_positive_prime_divisor_resultirreduciblenonunitidentityoutputimaginary))))))))))) /\ (forall gr_first_factor_prime_divisor_resultirreducible gr_second_factor_prime_divisor_resultirreducible. (exists ge_first_rp_prime_divisor_resultirreduciblefactorization ge_first_rn_prime_divisor_resultirreduciblefactorization ge_first_ip_prime_divisor_resultirreduciblefactorization ge_first_in_prime_divisor_resultirreduciblefactorization ge_second_rp_prime_divisor_resultirreduciblefactorization ge_second_rn_prime_divisor_resultirreduciblefactorization ge_second_ip_prime_divisor_resultirreduciblefactorization ge_second_in_prime_divisor_resultirreduciblefactorization. ((exists ge_representation_real_code_prime_divisor_resultirreduciblefactorizationfirst ge_representation_imaginary_code_prime_divisor_resultirreduciblefactorizationfirst. (((gr_first_factor_prime_divisor_resultirreducible) = ((ge_representation_real_code_prime_divisor_resultirreduciblefactorizationfirst) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblefactorizationfirst)) * S ((ge_representation_real_code_prime_divisor_resultirreduciblefactorizationfirst) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblefactorizationfirst)) + ((ge_representation_imaginary_code_prime_divisor_resultirreduciblefactorizationfirst) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblefactorizationfirst))) /\ ((exists ge_balance_positive_prime_divisor_resultirreduciblefactorizationfirstreal ge_balance_negative_prime_divisor_resultirreduciblefactorizationfirstreal. (((((ge_representation_real_code_prime_divisor_resultirreduciblefactorizationfirst) = 2 * (ge_balance_positive_prime_divisor_resultirreduciblefactorizationfirstreal) /\ (ge_balance_negative_prime_divisor_resultirreduciblefactorizationfirstreal) = 0) \/ exists ge_signed_half_prime_divisor_resultirreduciblefactorizationfirstrealdecode. (((ge_representation_real_code_prime_divisor_resultirreduciblefactorizationfirst) = 2 * ge_signed_half_prime_divisor_resultirreduciblefactorizationfirstrealdecode + 1 /\ (ge_balance_positive_prime_divisor_resultirreduciblefactorizationfirstreal) = 0) /\ (ge_balance_negative_prime_divisor_resultirreduciblefactorizationfirstreal) = S ge_signed_half_prime_divisor_resultirreduciblefactorizationfirstrealdecode))) /\ ((ge_first_rp_prime_divisor_resultirreduciblefactorization) + ge_balance_negative_prime_divisor_resultirreduciblefactorizationfirstreal = (ge_first_rn_prime_divisor_resultirreduciblefactorization) + ge_balance_positive_prime_divisor_resultirreduciblefactorizationfirstreal))) /\ (exists ge_balance_positive_prime_divisor_resultirreduciblefactorizationfirstimaginary ge_balance_negative_prime_divisor_resultirreduciblefactorizationfirstimaginary. (((((ge_representation_imaginary_code_prime_divisor_resultirreduciblefactorizationfirst) = 2 * (ge_balance_positive_prime_divisor_resultirreduciblefactorizationfirstimaginary) /\ (ge_balance_negative_prime_divisor_resultirreduciblefactorizationfirstimaginary) = 0) \/ exists ge_signed_half_prime_divisor_resultirreduciblefactorizationfirstimaginarydecode. (((ge_representation_imaginary_code_prime_divisor_resultirreduciblefactorizationfirst) = 2 * ge_signed_half_prime_divisor_resultirreduciblefactorizationfirstimaginarydecode + 1 /\ (ge_balance_positive_prime_divisor_resultirreduciblefactorizationfirstimaginary) = 0) /\ (ge_balance_negative_prime_divisor_resultirreduciblefactorizationfirstimaginary) = S ge_signed_half_prime_divisor_resultirreduciblefactorizationfirstimaginarydecode))) /\ ((ge_first_ip_prime_divisor_resultirreduciblefactorization) + ge_balance_negative_prime_divisor_resultirreduciblefactorizationfirstimaginary = (ge_first_in_prime_divisor_resultirreduciblefactorization) + ge_balance_positive_prime_divisor_resultirreduciblefactorizationfirstimaginary)))))) /\ ((exists ge_representation_real_code_prime_divisor_resultirreduciblefactorizationsecond ge_representation_imaginary_code_prime_divisor_resultirreduciblefactorizationsecond. (((gr_second_factor_prime_divisor_resultirreducible) = ((ge_representation_real_code_prime_divisor_resultirreduciblefactorizationsecond) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblefactorizationsecond)) * S ((ge_representation_real_code_prime_divisor_resultirreduciblefactorizationsecond) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblefactorizationsecond)) + ((ge_representation_imaginary_code_prime_divisor_resultirreduciblefactorizationsecond) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblefactorizationsecond))) /\ ((exists ge_balance_positive_prime_divisor_resultirreduciblefactorizationsecondreal ge_balance_negative_prime_divisor_resultirreduciblefactorizationsecondreal. (((((ge_representation_real_code_prime_divisor_resultirreduciblefactorizationsecond) = 2 * (ge_balance_positive_prime_divisor_resultirreduciblefactorizationsecondreal) /\ (ge_balance_negative_prime_divisor_resultirreduciblefactorizationsecondreal) = 0) \/ exists ge_signed_half_prime_divisor_resultirreduciblefactorizationsecondrealdecode. (((ge_representation_real_code_prime_divisor_resultirreduciblefactorizationsecond) = 2 * ge_signed_half_prime_divisor_resultirreduciblefactorizationsecondrealdecode + 1 /\ (ge_balance_positive_prime_divisor_resultirreduciblefactorizationsecondreal) = 0) /\ (ge_balance_negative_prime_divisor_resultirreduciblefactorizationsecondreal) = S ge_signed_half_prime_divisor_resultirreduciblefactorizationsecondrealdecode))) /\ ((ge_second_rp_prime_divisor_resultirreduciblefactorization) + ge_balance_negative_prime_divisor_resultirreduciblefactorizationsecondreal = (ge_second_rn_prime_divisor_resultirreduciblefactorization) + ge_balance_positive_prime_divisor_resultirreduciblefactorizationsecondreal))) /\ (exists ge_balance_positive_prime_divisor_resultirreduciblefactorizationsecondimaginary ge_balance_negative_prime_divisor_resultirreduciblefactorizationsecondimaginary. (((((ge_representation_imaginary_code_prime_divisor_resultirreduciblefactorizationsecond) = 2 * (ge_balance_positive_prime_divisor_resultirreduciblefactorizationsecondimaginary) /\ (ge_balance_negative_prime_divisor_resultirreduciblefactorizationsecondimaginary) = 0) \/ exists ge_signed_half_prime_divisor_resultirreduciblefactorizationsecondimaginarydecode. (((ge_representation_imaginary_code_prime_divisor_resultirreduciblefactorizationsecond) = 2 * ge_signed_half_prime_divisor_resultirreduciblefactorizationsecondimaginarydecode + 1 /\ (ge_balance_positive_prime_divisor_resultirreduciblefactorizationsecondimaginary) = 0) /\ (ge_balance_negative_prime_divisor_resultirreduciblefactorizationsecondimaginary) = S ge_signed_half_prime_divisor_resultirreduciblefactorizationsecondimaginarydecode))) /\ ((ge_second_ip_prime_divisor_resultirreduciblefactorization) + ge_balance_negative_prime_divisor_resultirreduciblefactorizationsecondimaginary = (ge_second_in_prime_divisor_resultirreduciblefactorization) + ge_balance_positive_prime_divisor_resultirreduciblefactorizationsecondimaginary)))))) /\ (exists ge_representation_real_code_prime_divisor_resultirreduciblefactorizationoutput ge_representation_imaginary_code_prime_divisor_resultirreduciblefactorizationoutput. (((p) = ((ge_representation_real_code_prime_divisor_resultirreduciblefactorizationoutput) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblefactorizationoutput)) * S ((ge_representation_real_code_prime_divisor_resultirreduciblefactorizationoutput) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblefactorizationoutput)) + ((ge_representation_imaginary_code_prime_divisor_resultirreduciblefactorizationoutput) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblefactorizationoutput))) /\ ((exists ge_balance_positive_prime_divisor_resultirreduciblefactorizationoutputreal ge_balance_negative_prime_divisor_resultirreduciblefactorizationoutputreal. (((((ge_representation_real_code_prime_divisor_resultirreduciblefactorizationoutput) = 2 * (ge_balance_positive_prime_divisor_resultirreduciblefactorizationoutputreal) /\ (ge_balance_negative_prime_divisor_resultirreduciblefactorizationoutputreal) = 0) \/ exists ge_signed_half_prime_divisor_resultirreduciblefactorizationoutputrealdecode. (((ge_representation_real_code_prime_divisor_resultirreduciblefactorizationoutput) = 2 * ge_signed_half_prime_divisor_resultirreduciblefactorizationoutputrealdecode + 1 /\ (ge_balance_positive_prime_divisor_resultirreduciblefactorizationoutputreal) = 0) /\ (ge_balance_negative_prime_divisor_resultirreduciblefactorizationoutputreal) = S ge_signed_half_prime_divisor_resultirreduciblefactorizationoutputrealdecode))) /\ ((((((((ge_first_rp_prime_divisor_resultirreduciblefactorization) * (ge_second_rp_prime_divisor_resultirreduciblefactorization))) + (((ge_first_rn_prime_divisor_resultirreduciblefactorization) * (ge_second_rn_prime_divisor_resultirreduciblefactorization))))) + (((((ge_first_ip_prime_divisor_resultirreduciblefactorization) * (ge_second_in_prime_divisor_resultirreduciblefactorization))) + (((ge_first_in_prime_divisor_resultirreduciblefactorization) * (ge_second_ip_prime_divisor_resultirreduciblefactorization))))))) + ge_balance_negative_prime_divisor_resultirreduciblefactorizationoutputreal = (((((((ge_first_rp_prime_divisor_resultirreduciblefactorization) * (ge_second_rn_prime_divisor_resultirreduciblefactorization))) + (((ge_first_rn_prime_divisor_resultirreduciblefactorization) * (ge_second_rp_prime_divisor_resultirreduciblefactorization))))) + (((((ge_first_ip_prime_divisor_resultirreduciblefactorization) * (ge_second_ip_prime_divisor_resultirreduciblefactorization))) + (((ge_first_in_prime_divisor_resultirreduciblefactorization) * (ge_second_in_prime_divisor_resultirreduciblefactorization))))))) + ge_balance_positive_prime_divisor_resultirreduciblefactorizationoutputreal))) /\ (exists ge_balance_positive_prime_divisor_resultirreduciblefactorizationoutputimaginary ge_balance_negative_prime_divisor_resultirreduciblefactorizationoutputimaginary. (((((ge_representation_imaginary_code_prime_divisor_resultirreduciblefactorizationoutput) = 2 * (ge_balance_positive_prime_divisor_resultirreduciblefactorizationoutputimaginary) /\ (ge_balance_negative_prime_divisor_resultirreduciblefactorizationoutputimaginary) = 0) \/ exists ge_signed_half_prime_divisor_resultirreduciblefactorizationoutputimaginarydecode. (((ge_representation_imaginary_code_prime_divisor_resultirreduciblefactorizationoutput) = 2 * ge_signed_half_prime_divisor_resultirreduciblefactorizationoutputimaginarydecode + 1 /\ (ge_balance_positive_prime_divisor_resultirreduciblefactorizationoutputimaginary) = 0) /\ (ge_balance_negative_prime_divisor_resultirreduciblefactorizationoutputimaginary) = S ge_signed_half_prime_divisor_resultirreduciblefactorizationoutputimaginarydecode))) /\ ((((((((ge_first_rp_prime_divisor_resultirreduciblefactorization) * (ge_second_ip_prime_divisor_resultirreduciblefactorization))) + (((ge_first_rn_prime_divisor_resultirreduciblefactorization) * (ge_second_in_prime_divisor_resultirreduciblefactorization))))) + (((((ge_first_ip_prime_divisor_resultirreduciblefactorization) * (ge_second_rp_prime_divisor_resultirreduciblefactorization))) + (((ge_first_in_prime_divisor_resultirreduciblefactorization) * (ge_second_rn_prime_divisor_resultirreduciblefactorization))))))) + ge_balance_negative_prime_divisor_resultirreduciblefactorizationoutputimaginary = (((((((ge_first_rp_prime_divisor_resultirreduciblefactorization) * (ge_second_in_prime_divisor_resultirreduciblefactorization))) + (((ge_first_rn_prime_divisor_resultirreduciblefactorization) * (ge_second_ip_prime_divisor_resultirreduciblefactorization))))) + (((((ge_first_ip_prime_divisor_resultirreduciblefactorization) * (ge_second_rn_prime_divisor_resultirreduciblefactorization))) + (((ge_first_in_prime_divisor_resultirreduciblefactorization) * (ge_second_rp_prime_divisor_resultirreduciblefactorization))))))) + ge_balance_positive_prime_divisor_resultirreduciblefactorizationoutputimaginary))))))))) -> (exists gr_inverse_prime_divisor_resultirreduciblefirst_unit. (exists ge_first_rp_prime_divisor_resultirreduciblefirst_unitidentity ge_first_rn_prime_divisor_resultirreduciblefirst_unitidentity ge_first_ip_prime_divisor_resultirreduciblefirst_unitidentity ge_first_in_prime_divisor_resultirreduciblefirst_unitidentity ge_second_rp_prime_divisor_resultirreduciblefirst_unitidentity ge_second_rn_prime_divisor_resultirreduciblefirst_unitidentity ge_second_ip_prime_divisor_resultirreduciblefirst_unitidentity ge_second_in_prime_divisor_resultirreduciblefirst_unitidentity. ((exists ge_representation_real_code_prime_divisor_resultirreduciblefirst_unitidentityfirst ge_representation_imaginary_code_prime_divisor_resultirreduciblefirst_unitidentityfirst. (((gr_first_factor_prime_divisor_resultirreducible) = ((ge_representation_real_code_prime_divisor_resultirreduciblefirst_unitidentityfirst) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblefirst_unitidentityfirst)) * S ((ge_representation_real_code_prime_divisor_resultirreduciblefirst_unitidentityfirst) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblefirst_unitidentityfirst)) + ((ge_representation_imaginary_code_prime_divisor_resultirreduciblefirst_unitidentityfirst) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblefirst_unitidentityfirst))) /\ ((exists ge_balance_positive_prime_divisor_resultirreduciblefirst_unitidentityfirstreal ge_balance_negative_prime_divisor_resultirreduciblefirst_unitidentityfirstreal. (((((ge_representation_real_code_prime_divisor_resultirreduciblefirst_unitidentityfirst) = 2 * (ge_balance_positive_prime_divisor_resultirreduciblefirst_unitidentityfirstreal) /\ (ge_balance_negative_prime_divisor_resultirreduciblefirst_unitidentityfirstreal) = 0) \/ exists ge_signed_half_prime_divisor_resultirreduciblefirst_unitidentityfirstrealdecode. (((ge_representation_real_code_prime_divisor_resultirreduciblefirst_unitidentityfirst) = 2 * ge_signed_half_prime_divisor_resultirreduciblefirst_unitidentityfirstrealdecode + 1 /\ (ge_balance_positive_prime_divisor_resultirreduciblefirst_unitidentityfirstreal) = 0) /\ (ge_balance_negative_prime_divisor_resultirreduciblefirst_unitidentityfirstreal) = S ge_signed_half_prime_divisor_resultirreduciblefirst_unitidentityfirstrealdecode))) /\ ((ge_first_rp_prime_divisor_resultirreduciblefirst_unitidentity) + ge_balance_negative_prime_divisor_resultirreduciblefirst_unitidentityfirstreal = (ge_first_rn_prime_divisor_resultirreduciblefirst_unitidentity) + ge_balance_positive_prime_divisor_resultirreduciblefirst_unitidentityfirstreal))) /\ (exists ge_balance_positive_prime_divisor_resultirreduciblefirst_unitidentityfirstimaginary ge_balance_negative_prime_divisor_resultirreduciblefirst_unitidentityfirstimaginary. (((((ge_representation_imaginary_code_prime_divisor_resultirreduciblefirst_unitidentityfirst) = 2 * (ge_balance_positive_prime_divisor_resultirreduciblefirst_unitidentityfirstimaginary) /\ (ge_balance_negative_prime_divisor_resultirreduciblefirst_unitidentityfirstimaginary) = 0) \/ exists ge_signed_half_prime_divisor_resultirreduciblefirst_unitidentityfirstimaginarydecode. (((ge_representation_imaginary_code_prime_divisor_resultirreduciblefirst_unitidentityfirst) = 2 * ge_signed_half_prime_divisor_resultirreduciblefirst_unitidentityfirstimaginarydecode + 1 /\ (ge_balance_positive_prime_divisor_resultirreduciblefirst_unitidentityfirstimaginary) = 0) /\ (ge_balance_negative_prime_divisor_resultirreduciblefirst_unitidentityfirstimaginary) = S ge_signed_half_prime_divisor_resultirreduciblefirst_unitidentityfirstimaginarydecode))) /\ ((ge_first_ip_prime_divisor_resultirreduciblefirst_unitidentity) + ge_balance_negative_prime_divisor_resultirreduciblefirst_unitidentityfirstimaginary = (ge_first_in_prime_divisor_resultirreduciblefirst_unitidentity) + ge_balance_positive_prime_divisor_resultirreduciblefirst_unitidentityfirstimaginary)))))) /\ ((exists ge_representation_real_code_prime_divisor_resultirreduciblefirst_unitidentitysecond ge_representation_imaginary_code_prime_divisor_resultirreduciblefirst_unitidentitysecond. (((gr_inverse_prime_divisor_resultirreduciblefirst_unit) = ((ge_representation_real_code_prime_divisor_resultirreduciblefirst_unitidentitysecond) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblefirst_unitidentitysecond)) * S ((ge_representation_real_code_prime_divisor_resultirreduciblefirst_unitidentitysecond) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblefirst_unitidentitysecond)) + ((ge_representation_imaginary_code_prime_divisor_resultirreduciblefirst_unitidentitysecond) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblefirst_unitidentitysecond))) /\ ((exists ge_balance_positive_prime_divisor_resultirreduciblefirst_unitidentitysecondreal ge_balance_negative_prime_divisor_resultirreduciblefirst_unitidentitysecondreal. (((((ge_representation_real_code_prime_divisor_resultirreduciblefirst_unitidentitysecond) = 2 * (ge_balance_positive_prime_divisor_resultirreduciblefirst_unitidentitysecondreal) /\ (ge_balance_negative_prime_divisor_resultirreduciblefirst_unitidentitysecondreal) = 0) \/ exists ge_signed_half_prime_divisor_resultirreduciblefirst_unitidentitysecondrealdecode. (((ge_representation_real_code_prime_divisor_resultirreduciblefirst_unitidentitysecond) = 2 * ge_signed_half_prime_divisor_resultirreduciblefirst_unitidentitysecondrealdecode + 1 /\ (ge_balance_positive_prime_divisor_resultirreduciblefirst_unitidentitysecondreal) = 0) /\ (ge_balance_negative_prime_divisor_resultirreduciblefirst_unitidentitysecondreal) = S ge_signed_half_prime_divisor_resultirreduciblefirst_unitidentitysecondrealdecode))) /\ ((ge_second_rp_prime_divisor_resultirreduciblefirst_unitidentity) + ge_balance_negative_prime_divisor_resultirreduciblefirst_unitidentitysecondreal = (ge_second_rn_prime_divisor_resultirreduciblefirst_unitidentity) + ge_balance_positive_prime_divisor_resultirreduciblefirst_unitidentitysecondreal))) /\ (exists ge_balance_positive_prime_divisor_resultirreduciblefirst_unitidentitysecondimaginary ge_balance_negative_prime_divisor_resultirreduciblefirst_unitidentitysecondimaginary. (((((ge_representation_imaginary_code_prime_divisor_resultirreduciblefirst_unitidentitysecond) = 2 * (ge_balance_positive_prime_divisor_resultirreduciblefirst_unitidentitysecondimaginary) /\ (ge_balance_negative_prime_divisor_resultirreduciblefirst_unitidentitysecondimaginary) = 0) \/ exists ge_signed_half_prime_divisor_resultirreduciblefirst_unitidentitysecondimaginarydecode. (((ge_representation_imaginary_code_prime_divisor_resultirreduciblefirst_unitidentitysecond) = 2 * ge_signed_half_prime_divisor_resultirreduciblefirst_unitidentitysecondimaginarydecode + 1 /\ (ge_balance_positive_prime_divisor_resultirreduciblefirst_unitidentitysecondimaginary) = 0) /\ (ge_balance_negative_prime_divisor_resultirreduciblefirst_unitidentitysecondimaginary) = S ge_signed_half_prime_divisor_resultirreduciblefirst_unitidentitysecondimaginarydecode))) /\ ((ge_second_ip_prime_divisor_resultirreduciblefirst_unitidentity) + ge_balance_negative_prime_divisor_resultirreduciblefirst_unitidentitysecondimaginary = (ge_second_in_prime_divisor_resultirreduciblefirst_unitidentity) + ge_balance_positive_prime_divisor_resultirreduciblefirst_unitidentitysecondimaginary)))))) /\ (exists ge_representation_real_code_prime_divisor_resultirreduciblefirst_unitidentityoutput ge_representation_imaginary_code_prime_divisor_resultirreduciblefirst_unitidentityoutput. (((6) = ((ge_representation_real_code_prime_divisor_resultirreduciblefirst_unitidentityoutput) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblefirst_unitidentityoutput)) * S ((ge_representation_real_code_prime_divisor_resultirreduciblefirst_unitidentityoutput) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblefirst_unitidentityoutput)) + ((ge_representation_imaginary_code_prime_divisor_resultirreduciblefirst_unitidentityoutput) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblefirst_unitidentityoutput))) /\ ((exists ge_balance_positive_prime_divisor_resultirreduciblefirst_unitidentityoutputreal ge_balance_negative_prime_divisor_resultirreduciblefirst_unitidentityoutputreal. (((((ge_representation_real_code_prime_divisor_resultirreduciblefirst_unitidentityoutput) = 2 * (ge_balance_positive_prime_divisor_resultirreduciblefirst_unitidentityoutputreal) /\ (ge_balance_negative_prime_divisor_resultirreduciblefirst_unitidentityoutputreal) = 0) \/ exists ge_signed_half_prime_divisor_resultirreduciblefirst_unitidentityoutputrealdecode. (((ge_representation_real_code_prime_divisor_resultirreduciblefirst_unitidentityoutput) = 2 * ge_signed_half_prime_divisor_resultirreduciblefirst_unitidentityoutputrealdecode + 1 /\ (ge_balance_positive_prime_divisor_resultirreduciblefirst_unitidentityoutputreal) = 0) /\ (ge_balance_negative_prime_divisor_resultirreduciblefirst_unitidentityoutputreal) = S ge_signed_half_prime_divisor_resultirreduciblefirst_unitidentityoutputrealdecode))) /\ ((((((((ge_first_rp_prime_divisor_resultirreduciblefirst_unitidentity) * (ge_second_rp_prime_divisor_resultirreduciblefirst_unitidentity))) + (((ge_first_rn_prime_divisor_resultirreduciblefirst_unitidentity) * (ge_second_rn_prime_divisor_resultirreduciblefirst_unitidentity))))) + (((((ge_first_ip_prime_divisor_resultirreduciblefirst_unitidentity) * (ge_second_in_prime_divisor_resultirreduciblefirst_unitidentity))) + (((ge_first_in_prime_divisor_resultirreduciblefirst_unitidentity) * (ge_second_ip_prime_divisor_resultirreduciblefirst_unitidentity))))))) + ge_balance_negative_prime_divisor_resultirreduciblefirst_unitidentityoutputreal = (((((((ge_first_rp_prime_divisor_resultirreduciblefirst_unitidentity) * (ge_second_rn_prime_divisor_resultirreduciblefirst_unitidentity))) + (((ge_first_rn_prime_divisor_resultirreduciblefirst_unitidentity) * (ge_second_rp_prime_divisor_resultirreduciblefirst_unitidentity))))) + (((((ge_first_ip_prime_divisor_resultirreduciblefirst_unitidentity) * (ge_second_ip_prime_divisor_resultirreduciblefirst_unitidentity))) + (((ge_first_in_prime_divisor_resultirreduciblefirst_unitidentity) * (ge_second_in_prime_divisor_resultirreduciblefirst_unitidentity))))))) + ge_balance_positive_prime_divisor_resultirreduciblefirst_unitidentityoutputreal))) /\ (exists ge_balance_positive_prime_divisor_resultirreduciblefirst_unitidentityoutputimaginary ge_balance_negative_prime_divisor_resultirreduciblefirst_unitidentityoutputimaginary. (((((ge_representation_imaginary_code_prime_divisor_resultirreduciblefirst_unitidentityoutput) = 2 * (ge_balance_positive_prime_divisor_resultirreduciblefirst_unitidentityoutputimaginary) /\ (ge_balance_negative_prime_divisor_resultirreduciblefirst_unitidentityoutputimaginary) = 0) \/ exists ge_signed_half_prime_divisor_resultirreduciblefirst_unitidentityoutputimaginarydecode. (((ge_representation_imaginary_code_prime_divisor_resultirreduciblefirst_unitidentityoutput) = 2 * ge_signed_half_prime_divisor_resultirreduciblefirst_unitidentityoutputimaginarydecode + 1 /\ (ge_balance_positive_prime_divisor_resultirreduciblefirst_unitidentityoutputimaginary) = 0) /\ (ge_balance_negative_prime_divisor_resultirreduciblefirst_unitidentityoutputimaginary) = S ge_signed_half_prime_divisor_resultirreduciblefirst_unitidentityoutputimaginarydecode))) /\ ((((((((ge_first_rp_prime_divisor_resultirreduciblefirst_unitidentity) * (ge_second_ip_prime_divisor_resultirreduciblefirst_unitidentity))) + (((ge_first_rn_prime_divisor_resultirreduciblefirst_unitidentity) * (ge_second_in_prime_divisor_resultirreduciblefirst_unitidentity))))) + (((((ge_first_ip_prime_divisor_resultirreduciblefirst_unitidentity) * (ge_second_rp_prime_divisor_resultirreduciblefirst_unitidentity))) + (((ge_first_in_prime_divisor_resultirreduciblefirst_unitidentity) * (ge_second_rn_prime_divisor_resultirreduciblefirst_unitidentity))))))) + ge_balance_negative_prime_divisor_resultirreduciblefirst_unitidentityoutputimaginary = (((((((ge_first_rp_prime_divisor_resultirreduciblefirst_unitidentity) * (ge_second_in_prime_divisor_resultirreduciblefirst_unitidentity))) + (((ge_first_rn_prime_divisor_resultirreduciblefirst_unitidentity) * (ge_second_ip_prime_divisor_resultirreduciblefirst_unitidentity))))) + (((((ge_first_ip_prime_divisor_resultirreduciblefirst_unitidentity) * (ge_second_rn_prime_divisor_resultirreduciblefirst_unitidentity))) + (((ge_first_in_prime_divisor_resultirreduciblefirst_unitidentity) * (ge_second_rp_prime_divisor_resultirreduciblefirst_unitidentity))))))) + ge_balance_positive_prime_divisor_resultirreduciblefirst_unitidentityoutputimaginary)))))))))) \/ (exists gr_inverse_prime_divisor_resultirreduciblesecond_unit. (exists ge_first_rp_prime_divisor_resultirreduciblesecond_unitidentity ge_first_rn_prime_divisor_resultirreduciblesecond_unitidentity ge_first_ip_prime_divisor_resultirreduciblesecond_unitidentity ge_first_in_prime_divisor_resultirreduciblesecond_unitidentity ge_second_rp_prime_divisor_resultirreduciblesecond_unitidentity ge_second_rn_prime_divisor_resultirreduciblesecond_unitidentity ge_second_ip_prime_divisor_resultirreduciblesecond_unitidentity ge_second_in_prime_divisor_resultirreduciblesecond_unitidentity. ((exists ge_representation_real_code_prime_divisor_resultirreduciblesecond_unitidentityfirst ge_representation_imaginary_code_prime_divisor_resultirreduciblesecond_unitidentityfirst. (((gr_second_factor_prime_divisor_resultirreducible) = ((ge_representation_real_code_prime_divisor_resultirreduciblesecond_unitidentityfirst) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblesecond_unitidentityfirst)) * S ((ge_representation_real_code_prime_divisor_resultirreduciblesecond_unitidentityfirst) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblesecond_unitidentityfirst)) + ((ge_representation_imaginary_code_prime_divisor_resultirreduciblesecond_unitidentityfirst) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblesecond_unitidentityfirst))) /\ ((exists ge_balance_positive_prime_divisor_resultirreduciblesecond_unitidentityfirstreal ge_balance_negative_prime_divisor_resultirreduciblesecond_unitidentityfirstreal. (((((ge_representation_real_code_prime_divisor_resultirreduciblesecond_unitidentityfirst) = 2 * (ge_balance_positive_prime_divisor_resultirreduciblesecond_unitidentityfirstreal) /\ (ge_balance_negative_prime_divisor_resultirreduciblesecond_unitidentityfirstreal) = 0) \/ exists ge_signed_half_prime_divisor_resultirreduciblesecond_unitidentityfirstrealdecode. (((ge_representation_real_code_prime_divisor_resultirreduciblesecond_unitidentityfirst) = 2 * ge_signed_half_prime_divisor_resultirreduciblesecond_unitidentityfirstrealdecode + 1 /\ (ge_balance_positive_prime_divisor_resultirreduciblesecond_unitidentityfirstreal) = 0) /\ (ge_balance_negative_prime_divisor_resultirreduciblesecond_unitidentityfirstreal) = S ge_signed_half_prime_divisor_resultirreduciblesecond_unitidentityfirstrealdecode))) /\ ((ge_first_rp_prime_divisor_resultirreduciblesecond_unitidentity) + ge_balance_negative_prime_divisor_resultirreduciblesecond_unitidentityfirstreal = (ge_first_rn_prime_divisor_resultirreduciblesecond_unitidentity) + ge_balance_positive_prime_divisor_resultirreduciblesecond_unitidentityfirstreal))) /\ (exists ge_balance_positive_prime_divisor_resultirreduciblesecond_unitidentityfirstimaginary ge_balance_negative_prime_divisor_resultirreduciblesecond_unitidentityfirstimaginary. (((((ge_representation_imaginary_code_prime_divisor_resultirreduciblesecond_unitidentityfirst) = 2 * (ge_balance_positive_prime_divisor_resultirreduciblesecond_unitidentityfirstimaginary) /\ (ge_balance_negative_prime_divisor_resultirreduciblesecond_unitidentityfirstimaginary) = 0) \/ exists ge_signed_half_prime_divisor_resultirreduciblesecond_unitidentityfirstimaginarydecode. (((ge_representation_imaginary_code_prime_divisor_resultirreduciblesecond_unitidentityfirst) = 2 * ge_signed_half_prime_divisor_resultirreduciblesecond_unitidentityfirstimaginarydecode + 1 /\ (ge_balance_positive_prime_divisor_resultirreduciblesecond_unitidentityfirstimaginary) = 0) /\ (ge_balance_negative_prime_divisor_resultirreduciblesecond_unitidentityfirstimaginary) = S ge_signed_half_prime_divisor_resultirreduciblesecond_unitidentityfirstimaginarydecode))) /\ ((ge_first_ip_prime_divisor_resultirreduciblesecond_unitidentity) + ge_balance_negative_prime_divisor_resultirreduciblesecond_unitidentityfirstimaginary = (ge_first_in_prime_divisor_resultirreduciblesecond_unitidentity) + ge_balance_positive_prime_divisor_resultirreduciblesecond_unitidentityfirstimaginary)))))) /\ ((exists ge_representation_real_code_prime_divisor_resultirreduciblesecond_unitidentitysecond ge_representation_imaginary_code_prime_divisor_resultirreduciblesecond_unitidentitysecond. (((gr_inverse_prime_divisor_resultirreduciblesecond_unit) = ((ge_representation_real_code_prime_divisor_resultirreduciblesecond_unitidentitysecond) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblesecond_unitidentitysecond)) * S ((ge_representation_real_code_prime_divisor_resultirreduciblesecond_unitidentitysecond) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblesecond_unitidentitysecond)) + ((ge_representation_imaginary_code_prime_divisor_resultirreduciblesecond_unitidentitysecond) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblesecond_unitidentitysecond))) /\ ((exists ge_balance_positive_prime_divisor_resultirreduciblesecond_unitidentitysecondreal ge_balance_negative_prime_divisor_resultirreduciblesecond_unitidentitysecondreal. (((((ge_representation_real_code_prime_divisor_resultirreduciblesecond_unitidentitysecond) = 2 * (ge_balance_positive_prime_divisor_resultirreduciblesecond_unitidentitysecondreal) /\ (ge_balance_negative_prime_divisor_resultirreduciblesecond_unitidentitysecondreal) = 0) \/ exists ge_signed_half_prime_divisor_resultirreduciblesecond_unitidentitysecondrealdecode. (((ge_representation_real_code_prime_divisor_resultirreduciblesecond_unitidentitysecond) = 2 * ge_signed_half_prime_divisor_resultirreduciblesecond_unitidentitysecondrealdecode + 1 /\ (ge_balance_positive_prime_divisor_resultirreduciblesecond_unitidentitysecondreal) = 0) /\ (ge_balance_negative_prime_divisor_resultirreduciblesecond_unitidentitysecondreal) = S ge_signed_half_prime_divisor_resultirreduciblesecond_unitidentitysecondrealdecode))) /\ ((ge_second_rp_prime_divisor_resultirreduciblesecond_unitidentity) + ge_balance_negative_prime_divisor_resultirreduciblesecond_unitidentitysecondreal = (ge_second_rn_prime_divisor_resultirreduciblesecond_unitidentity) + ge_balance_positive_prime_divisor_resultirreduciblesecond_unitidentitysecondreal))) /\ (exists ge_balance_positive_prime_divisor_resultirreduciblesecond_unitidentitysecondimaginary ge_balance_negative_prime_divisor_resultirreduciblesecond_unitidentitysecondimaginary. (((((ge_representation_imaginary_code_prime_divisor_resultirreduciblesecond_unitidentitysecond) = 2 * (ge_balance_positive_prime_divisor_resultirreduciblesecond_unitidentitysecondimaginary) /\ (ge_balance_negative_prime_divisor_resultirreduciblesecond_unitidentitysecondimaginary) = 0) \/ exists ge_signed_half_prime_divisor_resultirreduciblesecond_unitidentitysecondimaginarydecode. (((ge_representation_imaginary_code_prime_divisor_resultirreduciblesecond_unitidentitysecond) = 2 * ge_signed_half_prime_divisor_resultirreduciblesecond_unitidentitysecondimaginarydecode + 1 /\ (ge_balance_positive_prime_divisor_resultirreduciblesecond_unitidentitysecondimaginary) = 0) /\ (ge_balance_negative_prime_divisor_resultirreduciblesecond_unitidentitysecondimaginary) = S ge_signed_half_prime_divisor_resultirreduciblesecond_unitidentitysecondimaginarydecode))) /\ ((ge_second_ip_prime_divisor_resultirreduciblesecond_unitidentity) + ge_balance_negative_prime_divisor_resultirreduciblesecond_unitidentitysecondimaginary = (ge_second_in_prime_divisor_resultirreduciblesecond_unitidentity) + ge_balance_positive_prime_divisor_resultirreduciblesecond_unitidentitysecondimaginary)))))) /\ (exists ge_representation_real_code_prime_divisor_resultirreduciblesecond_unitidentityoutput ge_representation_imaginary_code_prime_divisor_resultirreduciblesecond_unitidentityoutput. (((6) = ((ge_representation_real_code_prime_divisor_resultirreduciblesecond_unitidentityoutput) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblesecond_unitidentityoutput)) * S ((ge_representation_real_code_prime_divisor_resultirreduciblesecond_unitidentityoutput) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblesecond_unitidentityoutput)) + ((ge_representation_imaginary_code_prime_divisor_resultirreduciblesecond_unitidentityoutput) + (ge_representation_imaginary_code_prime_divisor_resultirreduciblesecond_unitidentityoutput))) /\ ((exists ge_balance_positive_prime_divisor_resultirreduciblesecond_unitidentityoutputreal ge_balance_negative_prime_divisor_resultirreduciblesecond_unitidentityoutputreal. (((((ge_representation_real_code_prime_divisor_resultirreduciblesecond_unitidentityoutput) = 2 * (ge_balance_positive_prime_divisor_resultirreduciblesecond_unitidentityoutputreal) /\ (ge_balance_negative_prime_divisor_resultirreduciblesecond_unitidentityoutputreal) = 0) \/ exists ge_signed_half_prime_divisor_resultirreduciblesecond_unitidentityoutputrealdecode. (((ge_representation_real_code_prime_divisor_resultirreduciblesecond_unitidentityoutput) = 2 * ge_signed_half_prime_divisor_resultirreduciblesecond_unitidentityoutputrealdecode + 1 /\ (ge_balance_positive_prime_divisor_resultirreduciblesecond_unitidentityoutputreal) = 0) /\ (ge_balance_negative_prime_divisor_resultirreduciblesecond_unitidentityoutputreal) = S ge_signed_half_prime_divisor_resultirreduciblesecond_unitidentityoutputrealdecode))) /\ ((((((((ge_first_rp_prime_divisor_resultirreduciblesecond_unitidentity) * (ge_second_rp_prime_divisor_resultirreduciblesecond_unitidentity))) + (((ge_first_rn_prime_divisor_resultirreduciblesecond_unitidentity) * (ge_second_rn_prime_divisor_resultirreduciblesecond_unitidentity))))) + (((((ge_first_ip_prime_divisor_resultirreduciblesecond_unitidentity) * (ge_second_in_prime_divisor_resultirreduciblesecond_unitidentity))) + (((ge_first_in_prime_divisor_resultirreduciblesecond_unitidentity) * (ge_second_ip_prime_divisor_resultirreduciblesecond_unitidentity))))))) + ge_balance_negative_prime_divisor_resultirreduciblesecond_unitidentityoutputreal = (((((((ge_first_rp_prime_divisor_resultirreduciblesecond_unitidentity) * (ge_second_rn_prime_divisor_resultirreduciblesecond_unitidentity))) + (((ge_first_rn_prime_divisor_resultirreduciblesecond_unitidentity) * (ge_second_rp_prime_divisor_resultirreduciblesecond_unitidentity))))) + (((((ge_first_ip_prime_divisor_resultirreduciblesecond_unitidentity) * (ge_second_ip_prime_divisor_resultirreduciblesecond_unitidentity))) + (((ge_first_in_prime_divisor_resultirreduciblesecond_unitidentity) * (ge_second_in_prime_divisor_resultirreduciblesecond_unitidentity))))))) + ge_balance_positive_prime_divisor_resultirreduciblesecond_unitidentityoutputreal))) /\ (exists ge_balance_positive_prime_divisor_resultirreduciblesecond_unitidentityoutputimaginary ge_balance_negative_prime_divisor_resultirreduciblesecond_unitidentityoutputimaginary. (((((ge_representation_imaginary_code_prime_divisor_resultirreduciblesecond_unitidentityoutput) = 2 * (ge_balance_positive_prime_divisor_resultirreduciblesecond_unitidentityoutputimaginary) /\ (ge_balance_negative_prime_divisor_resultirreduciblesecond_unitidentityoutputimaginary) = 0) \/ exists ge_signed_half_prime_divisor_resultirreduciblesecond_unitidentityoutputimaginarydecode. (((ge_representation_imaginary_code_prime_divisor_resultirreduciblesecond_unitidentityoutput) = 2 * ge_signed_half_prime_divisor_resultirreduciblesecond_unitidentityoutputimaginarydecode + 1 /\ (ge_balance_positive_prime_divisor_resultirreduciblesecond_unitidentityoutputimaginary) = 0) /\ (ge_balance_negative_prime_divisor_resultirreduciblesecond_unitidentityoutputimaginary) = S ge_signed_half_prime_divisor_resultirreduciblesecond_unitidentityoutputimaginarydecode))) /\ ((((((((ge_first_rp_prime_divisor_resultirreduciblesecond_unitidentity) * (ge_second_ip_prime_divisor_resultirreduciblesecond_unitidentity))) + (((ge_first_rn_prime_divisor_resultirreduciblesecond_unitidentity) * (ge_second_in_prime_divisor_resultirreduciblesecond_unitidentity))))) + (((((ge_first_ip_prime_divisor_resultirreduciblesecond_unitidentity) * (ge_second_rp_prime_divisor_resultirreduciblesecond_unitidentity))) + (((ge_first_in_prime_divisor_resultirreduciblesecond_unitidentity) * (ge_second_rn_prime_divisor_resultirreduciblesecond_unitidentity))))))) + ge_balance_negative_prime_divisor_resultirreduciblesecond_unitidentityoutputimaginary = (((((((ge_first_rp_prime_divisor_resultirreduciblesecond_unitidentity) * (ge_second_in_prime_divisor_resultirreduciblesecond_unitidentity))) + (((ge_first_rn_prime_divisor_resultirreduciblesecond_unitidentity) * (ge_second_ip_prime_divisor_resultirreduciblesecond_unitidentity))))) + (((((ge_first_ip_prime_divisor_resultirreduciblesecond_unitidentity) * (ge_second_rn_prime_divisor_resultirreduciblesecond_unitidentity))) + (((ge_first_in_prime_divisor_resultirreduciblesecond_unitidentity) * (ge_second_rp_prime_divisor_resultirreduciblesecond_unitidentity))))))) + ge_balance_positive_prime_divisor_resultirreduciblesecond_unitidentityoutputimaginary))))))))))))))) /\ (exists gr_quotient_prime_divisor_resultdivisor. (exists ge_first_rp_prime_divisor_resultdivisorproduct ge_first_rn_prime_divisor_resultdivisorproduct ge_first_ip_prime_divisor_resultdivisorproduct ge_first_in_prime_divisor_resultdivisorproduct ge_second_rp_prime_divisor_resultdivisorproduct ge_second_rn_prime_divisor_resultdivisorproduct ge_second_ip_prime_divisor_resultdivisorproduct ge_second_in_prime_divisor_resultdivisorproduct. ((exists ge_representation_real_code_prime_divisor_resultdivisorproductfirst ge_representation_imaginary_code_prime_divisor_resultdivisorproductfirst. (((p) = ((ge_representation_real_code_prime_divisor_resultdivisorproductfirst) + (ge_representation_imaginary_code_prime_divisor_resultdivisorproductfirst)) * S ((ge_representation_real_code_prime_divisor_resultdivisorproductfirst) + (ge_representation_imaginary_code_prime_divisor_resultdivisorproductfirst)) + ((ge_representation_imaginary_code_prime_divisor_resultdivisorproductfirst) + (ge_representation_imaginary_code_prime_divisor_resultdivisorproductfirst))) /\ ((exists ge_balance_positive_prime_divisor_resultdivisorproductfirstreal ge_balance_negative_prime_divisor_resultdivisorproductfirstreal. (((((ge_representation_real_code_prime_divisor_resultdivisorproductfirst) = 2 * (ge_balance_positive_prime_divisor_resultdivisorproductfirstreal) /\ (ge_balance_negative_prime_divisor_resultdivisorproductfirstreal) = 0) \/ exists ge_signed_half_prime_divisor_resultdivisorproductfirstrealdecode. (((ge_representation_real_code_prime_divisor_resultdivisorproductfirst) = 2 * ge_signed_half_prime_divisor_resultdivisorproductfirstrealdecode + 1 /\ (ge_balance_positive_prime_divisor_resultdivisorproductfirstreal) = 0) /\ (ge_balance_negative_prime_divisor_resultdivisorproductfirstreal) = S ge_signed_half_prime_divisor_resultdivisorproductfirstrealdecode))) /\ ((ge_first_rp_prime_divisor_resultdivisorproduct) + ge_balance_negative_prime_divisor_resultdivisorproductfirstreal = (ge_first_rn_prime_divisor_resultdivisorproduct) + ge_balance_positive_prime_divisor_resultdivisorproductfirstreal))) /\ (exists ge_balance_positive_prime_divisor_resultdivisorproductfirstimaginary ge_balance_negative_prime_divisor_resultdivisorproductfirstimaginary. (((((ge_representation_imaginary_code_prime_divisor_resultdivisorproductfirst) = 2 * (ge_balance_positive_prime_divisor_resultdivisorproductfirstimaginary) /\ (ge_balance_negative_prime_divisor_resultdivisorproductfirstimaginary) = 0) \/ exists ge_signed_half_prime_divisor_resultdivisorproductfirstimaginarydecode. (((ge_representation_imaginary_code_prime_divisor_resultdivisorproductfirst) = 2 * ge_signed_half_prime_divisor_resultdivisorproductfirstimaginarydecode + 1 /\ (ge_balance_positive_prime_divisor_resultdivisorproductfirstimaginary) = 0) /\ (ge_balance_negative_prime_divisor_resultdivisorproductfirstimaginary) = S ge_signed_half_prime_divisor_resultdivisorproductfirstimaginarydecode))) /\ ((ge_first_ip_prime_divisor_resultdivisorproduct) + ge_balance_negative_prime_divisor_resultdivisorproductfirstimaginary = (ge_first_in_prime_divisor_resultdivisorproduct) + ge_balance_positive_prime_divisor_resultdivisorproductfirstimaginary)))))) /\ ((exists ge_representation_real_code_prime_divisor_resultdivisorproductsecond ge_representation_imaginary_code_prime_divisor_resultdivisorproductsecond. (((gr_quotient_prime_divisor_resultdivisor) = ((ge_representation_real_code_prime_divisor_resultdivisorproductsecond) + (ge_representation_imaginary_code_prime_divisor_resultdivisorproductsecond)) * S ((ge_representation_real_code_prime_divisor_resultdivisorproductsecond) + (ge_representation_imaginary_code_prime_divisor_resultdivisorproductsecond)) + ((ge_representation_imaginary_code_prime_divisor_resultdivisorproductsecond) + (ge_representation_imaginary_code_prime_divisor_resultdivisorproductsecond))) /\ ((exists ge_balance_positive_prime_divisor_resultdivisorproductsecondreal ge_balance_negative_prime_divisor_resultdivisorproductsecondreal. (((((ge_representation_real_code_prime_divisor_resultdivisorproductsecond) = 2 * (ge_balance_positive_prime_divisor_resultdivisorproductsecondreal) /\ (ge_balance_negative_prime_divisor_resultdivisorproductsecondreal) = 0) \/ exists ge_signed_half_prime_divisor_resultdivisorproductsecondrealdecode. (((ge_representation_real_code_prime_divisor_resultdivisorproductsecond) = 2 * ge_signed_half_prime_divisor_resultdivisorproductsecondrealdecode + 1 /\ (ge_balance_positive_prime_divisor_resultdivisorproductsecondreal) = 0) /\ (ge_balance_negative_prime_divisor_resultdivisorproductsecondreal) = S ge_signed_half_prime_divisor_resultdivisorproductsecondrealdecode))) /\ ((ge_second_rp_prime_divisor_resultdivisorproduct) + ge_balance_negative_prime_divisor_resultdivisorproductsecondreal = (ge_second_rn_prime_divisor_resultdivisorproduct) + ge_balance_positive_prime_divisor_resultdivisorproductsecondreal))) /\ (exists ge_balance_positive_prime_divisor_resultdivisorproductsecondimaginary ge_balance_negative_prime_divisor_resultdivisorproductsecondimaginary. (((((ge_representation_imaginary_code_prime_divisor_resultdivisorproductsecond) = 2 * (ge_balance_positive_prime_divisor_resultdivisorproductsecondimaginary) /\ (ge_balance_negative_prime_divisor_resultdivisorproductsecondimaginary) = 0) \/ exists ge_signed_half_prime_divisor_resultdivisorproductsecondimaginarydecode. (((ge_representation_imaginary_code_prime_divisor_resultdivisorproductsecond) = 2 * ge_signed_half_prime_divisor_resultdivisorproductsecondimaginarydecode + 1 /\ (ge_balance_positive_prime_divisor_resultdivisorproductsecondimaginary) = 0) /\ (ge_balance_negative_prime_divisor_resultdivisorproductsecondimaginary) = S ge_signed_half_prime_divisor_resultdivisorproductsecondimaginarydecode))) /\ ((ge_second_ip_prime_divisor_resultdivisorproduct) + ge_balance_negative_prime_divisor_resultdivisorproductsecondimaginary = (ge_second_in_prime_divisor_resultdivisorproduct) + ge_balance_positive_prime_divisor_resultdivisorproductsecondimaginary)))))) /\ (exists ge_representation_real_code_prime_divisor_resultdivisorproductoutput ge_representation_imaginary_code_prime_divisor_resultdivisorproductoutput. (((z) = ((ge_representation_real_code_prime_divisor_resultdivisorproductoutput) + (ge_representation_imaginary_code_prime_divisor_resultdivisorproductoutput)) * S ((ge_representation_real_code_prime_divisor_resultdivisorproductoutput) + (ge_representation_imaginary_code_prime_divisor_resultdivisorproductoutput)) + ((ge_representation_imaginary_code_prime_divisor_resultdivisorproductoutput) + (ge_representation_imaginary_code_prime_divisor_resultdivisorproductoutput))) /\ ((exists ge_balance_positive_prime_divisor_resultdivisorproductoutputreal ge_balance_negative_prime_divisor_resultdivisorproductoutputreal. (((((ge_representation_real_code_prime_divisor_resultdivisorproductoutput) = 2 * (ge_balance_positive_prime_divisor_resultdivisorproductoutputreal) /\ (ge_balance_negative_prime_divisor_resultdivisorproductoutputreal) = 0) \/ exists ge_signed_half_prime_divisor_resultdivisorproductoutputrealdecode. (((ge_representation_real_code_prime_divisor_resultdivisorproductoutput) = 2 * ge_signed_half_prime_divisor_resultdivisorproductoutputrealdecode + 1 /\ (ge_balance_positive_prime_divisor_resultdivisorproductoutputreal) = 0) /\ (ge_balance_negative_prime_divisor_resultdivisorproductoutputreal) = S ge_signed_half_prime_divisor_resultdivisorproductoutputrealdecode))) /\ ((((((((ge_first_rp_prime_divisor_resultdivisorproduct) * (ge_second_rp_prime_divisor_resultdivisorproduct))) + (((ge_first_rn_prime_divisor_resultdivisorproduct) * (ge_second_rn_prime_divisor_resultdivisorproduct))))) + (((((ge_first_ip_prime_divisor_resultdivisorproduct) * (ge_second_in_prime_divisor_resultdivisorproduct))) + (((ge_first_in_prime_divisor_resultdivisorproduct) * (ge_second_ip_prime_divisor_resultdivisorproduct))))))) + ge_balance_negative_prime_divisor_resultdivisorproductoutputreal = (((((((ge_first_rp_prime_divisor_resultdivisorproduct) * (ge_second_rn_prime_divisor_resultdivisorproduct))) + (((ge_first_rn_prime_divisor_resultdivisorproduct) * (ge_second_rp_prime_divisor_resultdivisorproduct))))) + (((((ge_first_ip_prime_divisor_resultdivisorproduct) * (ge_second_ip_prime_divisor_resultdivisorproduct))) + (((ge_first_in_prime_divisor_resultdivisorproduct) * (ge_second_in_prime_divisor_resultdivisorproduct))))))) + ge_balance_positive_prime_divisor_resultdivisorproductoutputreal))) /\ (exists ge_balance_positive_prime_divisor_resultdivisorproductoutputimaginary ge_balance_negative_prime_divisor_resultdivisorproductoutputimaginary. (((((ge_representation_imaginary_code_prime_divisor_resultdivisorproductoutput) = 2 * (ge_balance_positive_prime_divisor_resultdivisorproductoutputimaginary) /\ (ge_balance_negative_prime_divisor_resultdivisorproductoutputimaginary) = 0) \/ exists ge_signed_half_prime_divisor_resultdivisorproductoutputimaginarydecode. (((ge_representation_imaginary_code_prime_divisor_resultdivisorproductoutput) = 2 * ge_signed_half_prime_divisor_resultdivisorproductoutputimaginarydecode + 1 /\ (ge_balance_positive_prime_divisor_resultdivisorproductoutputimaginary) = 0) /\ (ge_balance_negative_prime_divisor_resultdivisorproductoutputimaginary) = S ge_signed_half_prime_divisor_resultdivisorproductoutputimaginarydecode))) /\ ((((((((ge_first_rp_prime_divisor_resultdivisorproduct) * (ge_second_ip_prime_divisor_resultdivisorproduct))) + (((ge_first_rn_prime_divisor_resultdivisorproduct) * (ge_second_in_prime_divisor_resultdivisorproduct))))) + (((((ge_first_ip_prime_divisor_resultdivisorproduct) * (ge_second_rp_prime_divisor_resultdivisorproduct))) + (((ge_first_in_prime_divisor_resultdivisorproduct) * (ge_second_rn_prime_divisor_resultdivisorproduct))))))) + ge_balance_negative_prime_divisor_resultdivisorproductoutputimaginary = (((((((ge_first_rp_prime_divisor_resultdivisorproduct) * (ge_second_in_prime_divisor_resultdivisorproduct))) + (((ge_first_rn_prime_divisor_resultdivisorproduct) * (ge_second_ip_prime_divisor_resultdivisorproduct))))) + (((((ge_first_ip_prime_divisor_resultdivisorproduct) * (ge_second_rn_prime_divisor_resultdivisorproduct))) + (((ge_first_in_prime_divisor_resultdivisorproduct) * (ge_second_rp_prime_divisor_resultdivisorproduct))))))) + ge_balance_positive_prime_divisor_resultdivisorproductoutputimaginary))))))))))))

Complete tactic proof in conservative notation

All 87 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

87 script commands · 23 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 (7)
01Induction on kL1–7

Split the argument into the base and successor obligations. The induction hypothesis is available only in the successor branch.

  1. L1
    induction k
  2. L2
    intro z
  3. L3
    intro N
  4. L4
    intro hb
  5. L5
    intro hn
  6. L6
    intro hz
  7. L7
    intro hu
02Separate the logical casesL8–8

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

  1. L8
    exfalso
03Use earlier factsL9–18

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

  1. L9
    apply hz
  2. L10
    specialize gaussian_norm_zero_implies_code_zero (z)
  3. L11
    apply gaussian_norm_zero_implies_code_zero
  4. L12
    specialize gaussian_norm_value_transport (z)
  5. L13
    specialize gaussian_norm_value_transport (N)
  6. L14
    specialize gaussian_norm_value_transport (0)
  7. L15
    apply gaussian_norm_value_transport
  8. L16
    specialize le_zero (N)
  9. L17
    apply le_zero
  10. L18
    exact hb
04Use earlier factsL19–19

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

  1. L19
    exact hn
05Fix variables and assumptionsL20–25

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

  1. L20
    intro z
  2. L21
    intro N
  3. L22
    intro hb
  4. L23
    intro hn
  5. L24
    intro hz
  6. L25
    intro hu
06Establish hsL26–32

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian irreducible or strict nonunit factorization.

  1. L26
    have hs : GIrreducible(z) ∨ (∃ x. ∃ y. ∃ n. ∃ m. GStrictNonunitFactorization(z,N,x,y,n,m))Definitions: GIrreducible(z)GStrictNonunitFactorization(z,N,x,y,n,m)Original native command in the exact edition
  2. L27
    specialize gaussian_irreducible_or_strict_nonunit_factorization (z)
  3. L28
    specialize gaussian_irreducible_or_strict_nonunit_factorization (N)
  4. L29
    apply gaussian_irreducible_or_strict_nonunit_factorization
  5. L30
    exact hn
  6. L31
    exact hz
  7. L32
    exact hu
07Separate the logical casesL33–33

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

  1. L33
    cases hs
08Construct an explicit witnessL34–34

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

  1. L34
    exists (z)
09Separate the logical casesL35–35

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

  1. L35
    split
10Use earlier factsL36–42

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

  1. L36
    exact hs_left
  2. L37
    specialize gaussian_divides_reflexive (z)
  3. L38
    apply gaussian_divides_reflexive
  4. L39
    specialize gaussian_norm_input_valid (z)
  5. L40
    specialize gaussian_norm_input_valid (N)
  6. L41
    apply gaussian_norm_input_valid
  7. L42
    exact hn
11Separate the logical casesL43–52

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

  1. L43
    cases hs_right
  2. L44
    cases hs_right_witness
  3. L45
    cases hs_right_witness_witness
  4. L46
    cases hs_right_witness_witness_witness
  5. L47
    cases hs_right_witness_witness_witness_witness
  6. L48
    cases hs_right_witness_witness_witness_witness_right
  7. L49
    cases hs_right_witness_witness_witness_witness_right_right
  8. L50
    cases hs_right_witness_witness_witness_witness_right_right_right
  9. L51
    cases hs_right_witness_witness_witness_witness_right_right_right_right
  10. L52
    cases hs_right_witness_witness_witness_witness_right_right_right_right_right
12Establish hrecL53–62

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

  1. L53
    have hrec : ∃ p. GIrreducible(p) ∧ GDvd(p,x)Definitions: GIrreducible(p)GDvd(p,x)Original native command in the exact edition
  2. L54
    specialize IH (x)
  3. L55
    specialize IH (x2)
  4. L56
    apply IH
  5. L57
    specialize le_of_succ_le_succ (x2)
  6. L58
    specialize le_of_succ_le_succ (k)
  7. L59
    apply le_of_succ_le_succ
  8. L60
    specialize lt_of_lt_of_le (x2)
  9. L61
    specialize lt_of_lt_of_le (N)
  10. L62
    specialize lt_of_lt_of_le (S k)
13Use earlier factsL63–66

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

  1. L63
    apply lt_of_lt_of_le
  2. L64
    exact hs_right_witness_witness_witness_witness_right_right_right_right_right_left
  3. L65
    exact hb
  4. L66
    exact hs_right_witness_witness_witness_witness_right_left
14Fix variables and assumptionsL67–67

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

  1. L67
    intro hzero
15Use earlier factsL68–70

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

  1. L68
    specialize gaussian_search_divisor_of_nonzero_nonzero (x)
  2. L69
    specialize gaussian_search_divisor_of_nonzero_nonzero (z)
  3. L70
    apply gaussian_search_divisor_of_nonzero_nonzero
16Construct an explicit witnessL71–71

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

  1. L71
    exists (x1)
17Use earlier factsL72–75

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

  1. L72
    exact hs_right_witness_witness_witness_witness_left
  2. L73
    exact hz
  3. L74
    exact hzero
  4. L75
    exact hs_right_witness_witness_witness_witness_right_right_right_left
18Separate the logical casesL76–77

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

  1. L76
    cases hrec
  2. L77
    cases hrec_witness
19Construct an explicit witnessL78–78

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

  1. L78
    exists (x4)
20Separate the logical casesL79–79

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

  1. L79
    split
21Use earlier factsL80–85

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

  1. L80
    exact hrec_witness_left
  2. L81
    specialize gaussian_divides_transitive (x4)
  3. L82
    specialize gaussian_divides_transitive (x)
  4. L83
    specialize gaussian_divides_transitive (z)
  5. L84
    apply gaussian_divides_transitive
  6. L85
    exact hrec_witness_right
22Construct an explicit witnessL86–86

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

  1. L86
    exists (x1)
23Use earlier factsL87–87

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

  1. L87
    exact hs_right_witness_witness_witness_witness_left

Library-wide reading audit

Original defined command ledger · 87 lines
  1. 0001induction k
  2. 0002intro z
  3. 0003intro N
  4. 0004intro hb
  5. 0005intro hn
  6. 0006intro hz
  7. 0007intro hu
  8. 0008exfalso
  9. 0009apply hz
  10. 0010specialize gaussian_norm_zero_implies_code_zero (z)
  11. 0011apply gaussian_norm_zero_implies_code_zero
  12. 0012specialize gaussian_norm_value_transport (z)
  13. 0013specialize gaussian_norm_value_transport (N)
  14. 0014specialize gaussian_norm_value_transport (0)
  15. 0015apply gaussian_norm_value_transport
  16. 0016specialize le_zero (N)
  17. 0017apply le_zero
  18. 0018exact hb
  19. 0019exact hn
  20. 0020intro z
  21. 0021intro N
  22. 0022intro hb
  23. 0023intro hn
  24. 0024intro hz
  25. 0025intro hu
  26. 0026have hs : GIrreducible(z) ∨ (∃ x. ∃ y. ∃ n. ∃ m. GStrictNonunitFactorization(z,N,x,y,n,m))
  27. 0027specialize gaussian_irreducible_or_strict_nonunit_factorization (z)
  28. 0028specialize gaussian_irreducible_or_strict_nonunit_factorization (N)
  29. 0029apply gaussian_irreducible_or_strict_nonunit_factorization
  30. 0030exact hn
  31. 0031exact hz
  32. 0032exact hu
  33. 0033cases hs
  34. 0034exists (z)
  35. 0035split
  36. 0036exact hs_left
  37. 0037specialize gaussian_divides_reflexive (z)
  38. 0038apply gaussian_divides_reflexive
  39. 0039specialize gaussian_norm_input_valid (z)
  40. 0040specialize gaussian_norm_input_valid (N)
  41. 0041apply gaussian_norm_input_valid
  42. 0042exact hn
  43. 0043cases hs_right
  44. 0044cases hs_right_witness
  45. 0045cases hs_right_witness_witness
  46. 0046cases hs_right_witness_witness_witness
  47. 0047cases hs_right_witness_witness_witness_witness
  48. 0048cases hs_right_witness_witness_witness_witness_right
  49. 0049cases hs_right_witness_witness_witness_witness_right_right
  50. 0050cases hs_right_witness_witness_witness_witness_right_right_right
  51. 0051cases hs_right_witness_witness_witness_witness_right_right_right_right
  52. 0052cases hs_right_witness_witness_witness_witness_right_right_right_right_right
  53. 0053have hrec : ∃ p. GIrreducible(p)GDvd(p,x)
  54. 0054specialize IH (x)
  55. 0055specialize IH (x2)
  56. 0056apply IH
  57. 0057specialize le_of_succ_le_succ (x2)
  58. 0058specialize le_of_succ_le_succ (k)
  59. 0059apply le_of_succ_le_succ
  60. 0060specialize lt_of_lt_of_le (x2)
  61. 0061specialize lt_of_lt_of_le (N)
  62. 0062specialize lt_of_lt_of_le (S k)
  63. 0063apply lt_of_lt_of_le
  64. 0064exact hs_right_witness_witness_witness_witness_right_right_right_right_right_left
  65. 0065exact hb
  66. 0066exact hs_right_witness_witness_witness_witness_right_left
  67. 0067intro hzero
  68. 0068specialize gaussian_search_divisor_of_nonzero_nonzero (x)
  69. 0069specialize gaussian_search_divisor_of_nonzero_nonzero (z)
  70. 0070apply gaussian_search_divisor_of_nonzero_nonzero
  71. 0071exists (x1)
  72. 0072exact hs_right_witness_witness_witness_witness_left
  73. 0073exact hz
  74. 0074exact hzero
  75. 0075exact hs_right_witness_witness_witness_witness_right_right_right_left
  76. 0076cases hrec
  77. 0077cases hrec_witness
  78. 0078exists (x4)
  79. 0079split
  80. 0080exact hrec_witness_left
  81. 0081specialize gaussian_divides_transitive (x4)
  82. 0082specialize gaussian_divides_transitive (x)
  83. 0083specialize gaussian_divides_transitive (z)
  84. 0084apply gaussian_divides_transitive
  85. 0085exact hrec_witness_right
  86. 0086exists (x1)
  87. 0087exact hs_right_witness_witness_witness_witness_left