Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.
Exact expanded first-order arithmetic statement
forall z. (exists gr_inverse_unit_norm_given. (exists ge_first_rp_unit_norm_givenidentity ge_first_rn_unit_norm_givenidentity ge_first_ip_unit_norm_givenidentity ge_first_in_unit_norm_givenidentity ge_second_rp_unit_norm_givenidentity ge_second_rn_unit_norm_givenidentity ge_second_ip_unit_norm_givenidentity ge_second_in_unit_norm_givenidentity. ((exists ge_representation_real_code_unit_norm_givenidentityfirst ge_representation_imaginary_code_unit_norm_givenidentityfirst. (((z) = ((ge_representation_real_code_unit_norm_givenidentityfirst) + (ge_representation_imaginary_code_unit_norm_givenidentityfirst)) * S ((ge_representation_real_code_unit_norm_givenidentityfirst) + (ge_representation_imaginary_code_unit_norm_givenidentityfirst)) + ((ge_representation_imaginary_code_unit_norm_givenidentityfirst) + (ge_representation_imaginary_code_unit_norm_givenidentityfirst))) /\ ((exists ge_balance_positive_unit_norm_givenidentityfirstreal ge_balance_negative_unit_norm_givenidentityfirstreal. (((((ge_representation_real_code_unit_norm_givenidentityfirst) = 2 * (ge_balance_positive_unit_norm_givenidentityfirstreal) /\ (ge_balance_negative_unit_norm_givenidentityfirstreal) = 0) \/ exists ge_signed_half_unit_norm_givenidentityfirstrealdecode. (((ge_representation_real_code_unit_norm_givenidentityfirst) = 2 * ge_signed_half_unit_norm_givenidentityfirstrealdecode + 1 /\ (ge_balance_positive_unit_norm_givenidentityfirstreal) = 0) /\ (ge_balance_negative_unit_norm_givenidentityfirstreal) = S ge_signed_half_unit_norm_givenidentityfirstrealdecode))) /\ ((ge_first_rp_unit_norm_givenidentity) + ge_balance_negative_unit_norm_givenidentityfirstreal = (ge_first_rn_unit_norm_givenidentity) + ge_balance_positive_unit_norm_givenidentityfirstreal))) /\ (exists ge_balance_positive_unit_norm_givenidentityfirstimaginary ge_balance_negative_unit_norm_givenidentityfirstimaginary. (((((ge_representation_imaginary_code_unit_norm_givenidentityfirst) = 2 * (ge_balance_positive_unit_norm_givenidentityfirstimaginary) /\ (ge_balance_negative_unit_norm_givenidentityfirstimaginary) = 0) \/ exists ge_signed_half_unit_norm_givenidentityfirstimaginarydecode. (((ge_representation_imaginary_code_unit_norm_givenidentityfirst) = 2 * ge_signed_half_unit_norm_givenidentityfirstimaginarydecode + 1 /\ (ge_balance_positive_unit_norm_givenidentityfirstimaginary) = 0) /\ (ge_balance_negative_unit_norm_givenidentityfirstimaginary) = S ge_signed_half_unit_norm_givenidentityfirstimaginarydecode))) /\ ((ge_first_ip_unit_norm_givenidentity) + ge_balance_negative_unit_norm_givenidentityfirstimaginary = (ge_first_in_unit_norm_givenidentity) + ge_balance_positive_unit_norm_givenidentityfirstimaginary)))))) /\ ((exists ge_representation_real_code_unit_norm_givenidentitysecond ge_representation_imaginary_code_unit_norm_givenidentitysecond. (((gr_inverse_unit_norm_given) = ((ge_representation_real_code_unit_norm_givenidentitysecond) + (ge_representation_imaginary_code_unit_norm_givenidentitysecond)) * S ((ge_representation_real_code_unit_norm_givenidentitysecond) + (ge_representation_imaginary_code_unit_norm_givenidentitysecond)) + ((ge_representation_imaginary_code_unit_norm_givenidentitysecond) + (ge_representation_imaginary_code_unit_norm_givenidentitysecond))) /\ ((exists ge_balance_positive_unit_norm_givenidentitysecondreal ge_balance_negative_unit_norm_givenidentitysecondreal. (((((ge_representation_real_code_unit_norm_givenidentitysecond) = 2 * (ge_balance_positive_unit_norm_givenidentitysecondreal) /\ (ge_balance_negative_unit_norm_givenidentitysecondreal) = 0) \/ exists ge_signed_half_unit_norm_givenidentitysecondrealdecode. (((ge_representation_real_code_unit_norm_givenidentitysecond) = 2 * ge_signed_half_unit_norm_givenidentitysecondrealdecode + 1 /\ (ge_balance_positive_unit_norm_givenidentitysecondreal) = 0) /\ (ge_balance_negative_unit_norm_givenidentitysecondreal) = S ge_signed_half_unit_norm_givenidentitysecondrealdecode))) /\ ((ge_second_rp_unit_norm_givenidentity) + ge_balance_negative_unit_norm_givenidentitysecondreal = (ge_second_rn_unit_norm_givenidentity) + ge_balance_positive_unit_norm_givenidentitysecondreal))) /\ (exists ge_balance_positive_unit_norm_givenidentitysecondimaginary ge_balance_negative_unit_norm_givenidentitysecondimaginary. (((((ge_representation_imaginary_code_unit_norm_givenidentitysecond) = 2 * (ge_balance_positive_unit_norm_givenidentitysecondimaginary) /\ (ge_balance_negative_unit_norm_givenidentitysecondimaginary) = 0) \/ exists ge_signed_half_unit_norm_givenidentitysecondimaginarydecode. (((ge_representation_imaginary_code_unit_norm_givenidentitysecond) = 2 * ge_signed_half_unit_norm_givenidentitysecondimaginarydecode + 1 /\ (ge_balance_positive_unit_norm_givenidentitysecondimaginary) = 0) /\ (ge_balance_negative_unit_norm_givenidentitysecondimaginary) = S ge_signed_half_unit_norm_givenidentitysecondimaginarydecode))) /\ ((ge_second_ip_unit_norm_givenidentity) + ge_balance_negative_unit_norm_givenidentitysecondimaginary = (ge_second_in_unit_norm_givenidentity) + ge_balance_positive_unit_norm_givenidentitysecondimaginary)))))) /\ (exists ge_representation_real_code_unit_norm_givenidentityoutput ge_representation_imaginary_code_unit_norm_givenidentityoutput. (((6) = ((ge_representation_real_code_unit_norm_givenidentityoutput) + (ge_representation_imaginary_code_unit_norm_givenidentityoutput)) * S ((ge_representation_real_code_unit_norm_givenidentityoutput) + (ge_representation_imaginary_code_unit_norm_givenidentityoutput)) + ((ge_representation_imaginary_code_unit_norm_givenidentityoutput) + (ge_representation_imaginary_code_unit_norm_givenidentityoutput))) /\ ((exists ge_balance_positive_unit_norm_givenidentityoutputreal ge_balance_negative_unit_norm_givenidentityoutputreal. (((((ge_representation_real_code_unit_norm_givenidentityoutput) = 2 * (ge_balance_positive_unit_norm_givenidentityoutputreal) /\ (ge_balance_negative_unit_norm_givenidentityoutputreal) = 0) \/ exists ge_signed_half_unit_norm_givenidentityoutputrealdecode. (((ge_representation_real_code_unit_norm_givenidentityoutput) = 2 * ge_signed_half_unit_norm_givenidentityoutputrealdecode + 1 /\ (ge_balance_positive_unit_norm_givenidentityoutputreal) = 0) /\ (ge_balance_negative_unit_norm_givenidentityoutputreal) = S ge_signed_half_unit_norm_givenidentityoutputrealdecode))) /\ ((((((((ge_first_rp_unit_norm_givenidentity) * (ge_second_rp_unit_norm_givenidentity))) + (((ge_first_rn_unit_norm_givenidentity) * (ge_second_rn_unit_norm_givenidentity))))) + (((((ge_first_ip_unit_norm_givenidentity) * (ge_second_in_unit_norm_givenidentity))) + (((ge_first_in_unit_norm_givenidentity) * (ge_second_ip_unit_norm_givenidentity))))))) + ge_balance_negative_unit_norm_givenidentityoutputreal = (((((((ge_first_rp_unit_norm_givenidentity) * (ge_second_rn_unit_norm_givenidentity))) + (((ge_first_rn_unit_norm_givenidentity) * (ge_second_rp_unit_norm_givenidentity))))) + (((((ge_first_ip_unit_norm_givenidentity) * (ge_second_ip_unit_norm_givenidentity))) + (((ge_first_in_unit_norm_givenidentity) * (ge_second_in_unit_norm_givenidentity))))))) + ge_balance_positive_unit_norm_givenidentityoutputreal))) /\ (exists ge_balance_positive_unit_norm_givenidentityoutputimaginary ge_balance_negative_unit_norm_givenidentityoutputimaginary. (((((ge_representation_imaginary_code_unit_norm_givenidentityoutput) = 2 * (ge_balance_positive_unit_norm_givenidentityoutputimaginary) /\ (ge_balance_negative_unit_norm_givenidentityoutputimaginary) = 0) \/ exists ge_signed_half_unit_norm_givenidentityoutputimaginarydecode. (((ge_representation_imaginary_code_unit_norm_givenidentityoutput) = 2 * ge_signed_half_unit_norm_givenidentityoutputimaginarydecode + 1 /\ (ge_balance_positive_unit_norm_givenidentityoutputimaginary) = 0) /\ (ge_balance_negative_unit_norm_givenidentityoutputimaginary) = S ge_signed_half_unit_norm_givenidentityoutputimaginarydecode))) /\ ((((((((ge_first_rp_unit_norm_givenidentity) * (ge_second_ip_unit_norm_givenidentity))) + (((ge_first_rn_unit_norm_givenidentity) * (ge_second_in_unit_norm_givenidentity))))) + (((((ge_first_ip_unit_norm_givenidentity) * (ge_second_rp_unit_norm_givenidentity))) + (((ge_first_in_unit_norm_givenidentity) * (ge_second_rn_unit_norm_givenidentity))))))) + ge_balance_negative_unit_norm_givenidentityoutputimaginary = (((((((ge_first_rp_unit_norm_givenidentity) * (ge_second_in_unit_norm_givenidentity))) + (((ge_first_rn_unit_norm_givenidentity) * (ge_second_ip_unit_norm_givenidentity))))) + (((((ge_first_ip_unit_norm_givenidentity) * (ge_second_rn_unit_norm_givenidentity))) + (((ge_first_in_unit_norm_givenidentity) * (ge_second_rp_unit_norm_givenidentity))))))) + ge_balance_positive_unit_norm_givenidentityoutputimaginary)))))))))) -> (exists ge_norm_rp_unit_norm_value ge_norm_rn_unit_norm_value ge_norm_ip_unit_norm_value ge_norm_in_unit_norm_value. ((exists ge_representation_real_code_unit_norm_valuerepresentation ge_representation_imaginary_code_unit_norm_valuerepresentation. (((z) = ((ge_representation_real_code_unit_norm_valuerepresentation) + (ge_representation_imaginary_code_unit_norm_valuerepresentation)) * S ((ge_representation_real_code_unit_norm_valuerepresentation) + (ge_representation_imaginary_code_unit_norm_valuerepresentation)) + ((ge_representation_imaginary_code_unit_norm_valuerepresentation) + (ge_representation_imaginary_code_unit_norm_valuerepresentation))) /\ ((exists ge_balance_positive_unit_norm_valuerepresentationreal ge_balance_negative_unit_norm_valuerepresentationreal. (((((ge_representation_real_code_unit_norm_valuerepresentation) = 2 * (ge_balance_positive_unit_norm_valuerepresentationreal) /\ (ge_balance_negative_unit_norm_valuerepresentationreal) = 0) \/ exists ge_signed_half_unit_norm_valuerepresentationrealdecode. (((ge_representation_real_code_unit_norm_valuerepresentation) = 2 * ge_signed_half_unit_norm_valuerepresentationrealdecode + 1 /\ (ge_balance_positive_unit_norm_valuerepresentationreal) = 0) /\ (ge_balance_negative_unit_norm_valuerepresentationreal) = S ge_signed_half_unit_norm_valuerepresentationrealdecode))) /\ ((ge_norm_rp_unit_norm_value) + ge_balance_negative_unit_norm_valuerepresentationreal = (ge_norm_rn_unit_norm_value) + ge_balance_positive_unit_norm_valuerepresentationreal))) /\ (exists ge_balance_positive_unit_norm_valuerepresentationimaginary ge_balance_negative_unit_norm_valuerepresentationimaginary. (((((ge_representation_imaginary_code_unit_norm_valuerepresentation) = 2 * (ge_balance_positive_unit_norm_valuerepresentationimaginary) /\ (ge_balance_negative_unit_norm_valuerepresentationimaginary) = 0) \/ exists ge_signed_half_unit_norm_valuerepresentationimaginarydecode. (((ge_representation_imaginary_code_unit_norm_valuerepresentation) = 2 * ge_signed_half_unit_norm_valuerepresentationimaginarydecode + 1 /\ (ge_balance_positive_unit_norm_valuerepresentationimaginary) = 0) /\ (ge_balance_negative_unit_norm_valuerepresentationimaginary) = S ge_signed_half_unit_norm_valuerepresentationimaginarydecode))) /\ ((ge_norm_ip_unit_norm_value) + ge_balance_negative_unit_norm_valuerepresentationimaginary = (ge_norm_in_unit_norm_value) + ge_balance_positive_unit_norm_valuerepresentationimaginary)))))) /\ (exists ge_real_square_unit_norm_valuesquare ge_imaginary_square_unit_norm_valuesquare. ((((((ge_norm_rp_unit_norm_value) * (ge_norm_rp_unit_norm_value))) + (((ge_norm_rn_unit_norm_value) * (ge_norm_rn_unit_norm_value)))) = ((ge_real_square_unit_norm_valuesquare) + (((((ge_norm_rp_unit_norm_value) * (ge_norm_rn_unit_norm_value))) + (((ge_norm_rn_unit_norm_value) * (ge_norm_rp_unit_norm_value))))))) /\ ((((((ge_norm_ip_unit_norm_value) * (ge_norm_ip_unit_norm_value))) + (((ge_norm_in_unit_norm_value) * (ge_norm_in_unit_norm_value)))) = ((ge_imaginary_square_unit_norm_valuesquare) + (((((ge_norm_ip_unit_norm_value) * (ge_norm_in_unit_norm_value))) + (((ge_norm_in_unit_norm_value) * (ge_norm_ip_unit_norm_value))))))) /\ ((1) = ge_real_square_unit_norm_valuesquare + ge_imaginary_square_unit_norm_valuesquare))))))Constructive proof overview
Generated structural guide
An actual inverse multiplies norms to one, forcing the unit norm to equal one.
The unchanged tactic script uses 8 declared prerequisites and contains 48 exact native proof lines.
Alpha v34 checked-use · first admitted v30 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
gaussian_norm_exists Alpha theorem; checked-use authorized GF0007 gaussian_multiply_input_left_valid GF0008 gaussian_multiply_input_right_valid gaussian_norm_multiply Alpha theorem; checked-use authorized gaussian_norm_functional Alpha theorem; checked-use authorized GF0010 gaussian_one_norm divisor_one Stable theorem; checked-use authorized GF0015 gaussian_norm_value_transportDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
Named ingredients (4)
01Fix variables and assumptionsL1–2
02Separate the logical casesL3–3
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L3
cases hu
03Establish hNL4–11
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian norm exists.
- L4
have hN : ∃ N. GNorm(z,N)Definitions: GNorm - L5
specialize gaussian_norm_exists (z) - L6
apply gaussian_norm_exists - L7
specialize gaussian_multiply_input_left_valid (z) - L8
specialize gaussian_multiply_input_left_valid (x) - L9
specialize gaussian_multiply_input_left_valid (6) - L10
apply gaussian_multiply_input_left_valid - L11
exact hu_witness
04Separate the logical casesL12–12
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L12
cases hN
05Establish hML13–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian norm exists.
- L13
have hM : ∃ M. GNorm(x,M)Definitions: GNorm - L14
specialize gaussian_norm_exists (x) - L15
apply gaussian_norm_exists - L16
specialize gaussian_multiply_input_right_valid (z) - L17
specialize gaussian_multiply_input_right_valid (x) - L18
specialize gaussian_multiply_input_right_valid (6) - L19
apply gaussian_multiply_input_right_valid - L20
exact hu_witness
06Separate the logical casesL21–21
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L21
cases hM
07Establish hproductL22–31
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian norm functional.
- L22
have hproduct : x1*x2=1 - L23
specialize gaussian_norm_functional (6) - L24
specialize gaussian_norm_functional (x1*x2) - L25
specialize gaussian_norm_functional (1) - L26
apply gaussian_norm_functional - L27
specialize gaussian_norm_multiply (z) - L28
specialize gaussian_norm_multiply (x) - L29
specialize gaussian_norm_multiply (6) - L30
specialize gaussian_norm_multiply (x1) - L31
specialize gaussian_norm_multiply (x2)
08Use earlier factsL32–36
09Establish honeL37–39
10Construct an explicit witnessL40–40
Supply the displayed value, then prove that it has the required property.
- L40
exists (x2)
11Calculate and transport equalitiesL41–41
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L41
symm
12Use earlier factsL42–48
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original exact command ledger · 48 lines
- 0001
intro z - 0002
intro hu - 0003
cases hu - 0004
have hN : exists N. (exists ge_norm_rp_unit_first_norm ge_norm_rn_unit_first_norm ge_norm_ip_unit_first_norm ge_norm_in_unit_first_norm. ((exists ge_representation_real_code_unit_first_normrepresentation ge_representation_imaginary_code_unit_first_normrepresentation. (((z) = ((ge_representation_real_code_unit_first_normrepresentation) + (ge_representation_imaginary_code_unit_first_normrepresentation)) * S ((ge_representation_real_code_unit_first_normrepresentation) + (ge_representation_imaginary_code_unit_first_normrepresentation)) + ((ge_representation_imaginary_code_unit_first_normrepresentation) + (ge_representation_imaginary_code_unit_first_normrepresentation))) /\ ((exists ge_balance_positive_unit_first_normrepresentationreal ge_balance_negative_unit_first_normrepresentationreal. (((((ge_representation_real_code_unit_first_normrepresentation) = 2 * (ge_balance_positive_unit_first_normrepresentationreal) /\ (ge_balance_negative_unit_first_normrepresentationreal) = 0) \/ exists ge_signed_half_unit_first_normrepresentationrealdecode. (((ge_representation_real_code_unit_first_normrepresentation) = 2 * ge_signed_half_unit_first_normrepresentationrealdecode + 1 /\ (ge_balance_positive_unit_first_normrepresentationreal) = 0) /\ (ge_balance_negative_unit_first_normrepresentationreal) = S ge_signed_half_unit_first_normrepresentationrealdecode))) /\ ((ge_norm_rp_unit_first_norm) + ge_balance_negative_unit_first_normrepresentationreal = (ge_norm_rn_unit_first_norm) + ge_balance_positive_unit_first_normrepresentationreal))) /\ (exists ge_balance_positive_unit_first_normrepresentationimaginary ge_balance_negative_unit_first_normrepresentationimaginary. (((((ge_representation_imaginary_code_unit_first_normrepresentation) = 2 * (ge_balance_positive_unit_first_normrepresentationimaginary) /\ (ge_balance_negative_unit_first_normrepresentationimaginary) = 0) \/ exists ge_signed_half_unit_first_normrepresentationimaginarydecode. (((ge_representation_imaginary_code_unit_first_normrepresentation) = 2 * ge_signed_half_unit_first_normrepresentationimaginarydecode + 1 /\ (ge_balance_positive_unit_first_normrepresentationimaginary) = 0) /\ (ge_balance_negative_unit_first_normrepresentationimaginary) = S ge_signed_half_unit_first_normrepresentationimaginarydecode))) /\ ((ge_norm_ip_unit_first_norm) + ge_balance_negative_unit_first_normrepresentationimaginary = (ge_norm_in_unit_first_norm) + ge_balance_positive_unit_first_normrepresentationimaginary)))))) /\ (exists ge_real_square_unit_first_normsquare ge_imaginary_square_unit_first_normsquare. ((((((ge_norm_rp_unit_first_norm) * (ge_norm_rp_unit_first_norm))) + (((ge_norm_rn_unit_first_norm) * (ge_norm_rn_unit_first_norm)))) = ((ge_real_square_unit_first_normsquare) + (((((ge_norm_rp_unit_first_norm) * (ge_norm_rn_unit_first_norm))) + (((ge_norm_rn_unit_first_norm) * (ge_norm_rp_unit_first_norm))))))) /\ ((((((ge_norm_ip_unit_first_norm) * (ge_norm_ip_unit_first_norm))) + (((ge_norm_in_unit_first_norm) * (ge_norm_in_unit_first_norm)))) = ((ge_imaginary_square_unit_first_normsquare) + (((((ge_norm_ip_unit_first_norm) * (ge_norm_in_unit_first_norm))) + (((ge_norm_in_unit_first_norm) * (ge_norm_ip_unit_first_norm))))))) /\ ((N) = ge_real_square_unit_first_normsquare + ge_imaginary_square_unit_first_normsquare)))))) - 0005
specialize gaussian_norm_exists (z) - 0006
apply gaussian_norm_exists - 0007
specialize gaussian_multiply_input_left_valid (z) - 0008
specialize gaussian_multiply_input_left_valid (x) - 0009
specialize gaussian_multiply_input_left_valid (6) - 0010
apply gaussian_multiply_input_left_valid - 0011
exact hu_witness - 0012
cases hN - 0013
have hM : exists M. (exists ge_norm_rp_unit_inverse_norm ge_norm_rn_unit_inverse_norm ge_norm_ip_unit_inverse_norm ge_norm_in_unit_inverse_norm. ((exists ge_representation_real_code_unit_inverse_normrepresentation ge_representation_imaginary_code_unit_inverse_normrepresentation. (((x) = ((ge_representation_real_code_unit_inverse_normrepresentation) + (ge_representation_imaginary_code_unit_inverse_normrepresentation)) * S ((ge_representation_real_code_unit_inverse_normrepresentation) + (ge_representation_imaginary_code_unit_inverse_normrepresentation)) + ((ge_representation_imaginary_code_unit_inverse_normrepresentation) + (ge_representation_imaginary_code_unit_inverse_normrepresentation))) /\ ((exists ge_balance_positive_unit_inverse_normrepresentationreal ge_balance_negative_unit_inverse_normrepresentationreal. (((((ge_representation_real_code_unit_inverse_normrepresentation) = 2 * (ge_balance_positive_unit_inverse_normrepresentationreal) /\ (ge_balance_negative_unit_inverse_normrepresentationreal) = 0) \/ exists ge_signed_half_unit_inverse_normrepresentationrealdecode. (((ge_representation_real_code_unit_inverse_normrepresentation) = 2 * ge_signed_half_unit_inverse_normrepresentationrealdecode + 1 /\ (ge_balance_positive_unit_inverse_normrepresentationreal) = 0) /\ (ge_balance_negative_unit_inverse_normrepresentationreal) = S ge_signed_half_unit_inverse_normrepresentationrealdecode))) /\ ((ge_norm_rp_unit_inverse_norm) + ge_balance_negative_unit_inverse_normrepresentationreal = (ge_norm_rn_unit_inverse_norm) + ge_balance_positive_unit_inverse_normrepresentationreal))) /\ (exists ge_balance_positive_unit_inverse_normrepresentationimaginary ge_balance_negative_unit_inverse_normrepresentationimaginary. (((((ge_representation_imaginary_code_unit_inverse_normrepresentation) = 2 * (ge_balance_positive_unit_inverse_normrepresentationimaginary) /\ (ge_balance_negative_unit_inverse_normrepresentationimaginary) = 0) \/ exists ge_signed_half_unit_inverse_normrepresentationimaginarydecode. (((ge_representation_imaginary_code_unit_inverse_normrepresentation) = 2 * ge_signed_half_unit_inverse_normrepresentationimaginarydecode + 1 /\ (ge_balance_positive_unit_inverse_normrepresentationimaginary) = 0) /\ (ge_balance_negative_unit_inverse_normrepresentationimaginary) = S ge_signed_half_unit_inverse_normrepresentationimaginarydecode))) /\ ((ge_norm_ip_unit_inverse_norm) + ge_balance_negative_unit_inverse_normrepresentationimaginary = (ge_norm_in_unit_inverse_norm) + ge_balance_positive_unit_inverse_normrepresentationimaginary)))))) /\ (exists ge_real_square_unit_inverse_normsquare ge_imaginary_square_unit_inverse_normsquare. ((((((ge_norm_rp_unit_inverse_norm) * (ge_norm_rp_unit_inverse_norm))) + (((ge_norm_rn_unit_inverse_norm) * (ge_norm_rn_unit_inverse_norm)))) = ((ge_real_square_unit_inverse_normsquare) + (((((ge_norm_rp_unit_inverse_norm) * (ge_norm_rn_unit_inverse_norm))) + (((ge_norm_rn_unit_inverse_norm) * (ge_norm_rp_unit_inverse_norm))))))) /\ ((((((ge_norm_ip_unit_inverse_norm) * (ge_norm_ip_unit_inverse_norm))) + (((ge_norm_in_unit_inverse_norm) * (ge_norm_in_unit_inverse_norm)))) = ((ge_imaginary_square_unit_inverse_normsquare) + (((((ge_norm_ip_unit_inverse_norm) * (ge_norm_in_unit_inverse_norm))) + (((ge_norm_in_unit_inverse_norm) * (ge_norm_ip_unit_inverse_norm))))))) /\ ((M) = ge_real_square_unit_inverse_normsquare + ge_imaginary_square_unit_inverse_normsquare)))))) - 0014
specialize gaussian_norm_exists (x) - 0015
apply gaussian_norm_exists - 0016
specialize gaussian_multiply_input_right_valid (z) - 0017
specialize gaussian_multiply_input_right_valid (x) - 0018
specialize gaussian_multiply_input_right_valid (6) - 0019
apply gaussian_multiply_input_right_valid - 0020
exact hu_witness - 0021
cases hM - 0022
have hproduct : x1*x2=1 - 0023
specialize gaussian_norm_functional (6) - 0024
specialize gaussian_norm_functional (x1*x2) - 0025
specialize gaussian_norm_functional (1) - 0026
apply gaussian_norm_functional - 0027
specialize gaussian_norm_multiply (z) - 0028
specialize gaussian_norm_multiply (x) - 0029
specialize gaussian_norm_multiply (6) - 0030
specialize gaussian_norm_multiply (x1) - 0031
specialize gaussian_norm_multiply (x2) - 0032
apply gaussian_norm_multiply - 0033
exact hN_witness - 0034
exact hM_witness - 0035
exact hu_witness - 0036
exact gaussian_one_norm - 0037
have hone : x1=1 - 0038
specialize divisor_one (x1) - 0039
apply divisor_one - 0040
exists (x2) - 0041
symm - 0042
exact hproduct - 0043
specialize gaussian_norm_value_transport (z) - 0044
specialize gaussian_norm_value_transport (x1) - 0045
specialize gaussian_norm_value_transport (1) - 0046
apply gaussian_norm_value_transport - 0047
exact hone - 0048
exact hN_witness