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 a b c. (exists ge_first_rp_commutative_given_multiply ge_first_rn_commutative_given_multiply ge_first_ip_commutative_given_multiply ge_first_in_commutative_given_multiply ge_second_rp_commutative_given_multiply ge_second_rn_commutative_given_multiply ge_second_ip_commutative_given_multiply ge_second_in_commutative_given_multiply. ((exists ge_representation_real_code_commutative_given_multiplyfirst ge_representation_imaginary_code_commutative_given_multiplyfirst. (((a) = ((ge_representation_real_code_commutative_given_multiplyfirst) + (ge_representation_imaginary_code_commutative_given_multiplyfirst)) * S ((ge_representation_real_code_commutative_given_multiplyfirst) + (ge_representation_imaginary_code_commutative_given_multiplyfirst)) + ((ge_representation_imaginary_code_commutative_given_multiplyfirst) + (ge_representation_imaginary_code_commutative_given_multiplyfirst))) /\ ((exists ge_balance_positive_commutative_given_multiplyfirstreal ge_balance_negative_commutative_given_multiplyfirstreal. (((((ge_representation_real_code_commutative_given_multiplyfirst) = 2 * (ge_balance_positive_commutative_given_multiplyfirstreal) /\ (ge_balance_negative_commutative_given_multiplyfirstreal) = 0) \/ exists ge_signed_half_commutative_given_multiplyfirstrealdecode. (((ge_representation_real_code_commutative_given_multiplyfirst) = 2 * ge_signed_half_commutative_given_multiplyfirstrealdecode + 1 /\ (ge_balance_positive_commutative_given_multiplyfirstreal) = 0) /\ (ge_balance_negative_commutative_given_multiplyfirstreal) = S ge_signed_half_commutative_given_multiplyfirstrealdecode))) /\ ((ge_first_rp_commutative_given_multiply) + ge_balance_negative_commutative_given_multiplyfirstreal = (ge_first_rn_commutative_given_multiply) + ge_balance_positive_commutative_given_multiplyfirstreal))) /\ (exists ge_balance_positive_commutative_given_multiplyfirstimaginary ge_balance_negative_commutative_given_multiplyfirstimaginary. (((((ge_representation_imaginary_code_commutative_given_multiplyfirst) = 2 * (ge_balance_positive_commutative_given_multiplyfirstimaginary) /\ (ge_balance_negative_commutative_given_multiplyfirstimaginary) = 0) \/ exists ge_signed_half_commutative_given_multiplyfirstimaginarydecode. (((ge_representation_imaginary_code_commutative_given_multiplyfirst) = 2 * ge_signed_half_commutative_given_multiplyfirstimaginarydecode + 1 /\ (ge_balance_positive_commutative_given_multiplyfirstimaginary) = 0) /\ (ge_balance_negative_commutative_given_multiplyfirstimaginary) = S ge_signed_half_commutative_given_multiplyfirstimaginarydecode))) /\ ((ge_first_ip_commutative_given_multiply) + ge_balance_negative_commutative_given_multiplyfirstimaginary = (ge_first_in_commutative_given_multiply) + ge_balance_positive_commutative_given_multiplyfirstimaginary)))))) /\ ((exists ge_representation_real_code_commutative_given_multiplysecond ge_representation_imaginary_code_commutative_given_multiplysecond. (((b) = ((ge_representation_real_code_commutative_given_multiplysecond) + (ge_representation_imaginary_code_commutative_given_multiplysecond)) * S ((ge_representation_real_code_commutative_given_multiplysecond) + (ge_representation_imaginary_code_commutative_given_multiplysecond)) + ((ge_representation_imaginary_code_commutative_given_multiplysecond) + (ge_representation_imaginary_code_commutative_given_multiplysecond))) /\ ((exists ge_balance_positive_commutative_given_multiplysecondreal ge_balance_negative_commutative_given_multiplysecondreal. (((((ge_representation_real_code_commutative_given_multiplysecond) = 2 * (ge_balance_positive_commutative_given_multiplysecondreal) /\ (ge_balance_negative_commutative_given_multiplysecondreal) = 0) \/ exists ge_signed_half_commutative_given_multiplysecondrealdecode. (((ge_representation_real_code_commutative_given_multiplysecond) = 2 * ge_signed_half_commutative_given_multiplysecondrealdecode + 1 /\ (ge_balance_positive_commutative_given_multiplysecondreal) = 0) /\ (ge_balance_negative_commutative_given_multiplysecondreal) = S ge_signed_half_commutative_given_multiplysecondrealdecode))) /\ ((ge_second_rp_commutative_given_multiply) + ge_balance_negative_commutative_given_multiplysecondreal = (ge_second_rn_commutative_given_multiply) + ge_balance_positive_commutative_given_multiplysecondreal))) /\ (exists ge_balance_positive_commutative_given_multiplysecondimaginary ge_balance_negative_commutative_given_multiplysecondimaginary. (((((ge_representation_imaginary_code_commutative_given_multiplysecond) = 2 * (ge_balance_positive_commutative_given_multiplysecondimaginary) /\ (ge_balance_negative_commutative_given_multiplysecondimaginary) = 0) \/ exists ge_signed_half_commutative_given_multiplysecondimaginarydecode. (((ge_representation_imaginary_code_commutative_given_multiplysecond) = 2 * ge_signed_half_commutative_given_multiplysecondimaginarydecode + 1 /\ (ge_balance_positive_commutative_given_multiplysecondimaginary) = 0) /\ (ge_balance_negative_commutative_given_multiplysecondimaginary) = S ge_signed_half_commutative_given_multiplysecondimaginarydecode))) /\ ((ge_second_ip_commutative_given_multiply) + ge_balance_negative_commutative_given_multiplysecondimaginary = (ge_second_in_commutative_given_multiply) + ge_balance_positive_commutative_given_multiplysecondimaginary)))))) /\ (exists ge_representation_real_code_commutative_given_multiplyoutput ge_representation_imaginary_code_commutative_given_multiplyoutput. (((c) = ((ge_representation_real_code_commutative_given_multiplyoutput) + (ge_representation_imaginary_code_commutative_given_multiplyoutput)) * S ((ge_representation_real_code_commutative_given_multiplyoutput) + (ge_representation_imaginary_code_commutative_given_multiplyoutput)) + ((ge_representation_imaginary_code_commutative_given_multiplyoutput) + (ge_representation_imaginary_code_commutative_given_multiplyoutput))) /\ ((exists ge_balance_positive_commutative_given_multiplyoutputreal ge_balance_negative_commutative_given_multiplyoutputreal. (((((ge_representation_real_code_commutative_given_multiplyoutput) = 2 * (ge_balance_positive_commutative_given_multiplyoutputreal) /\ (ge_balance_negative_commutative_given_multiplyoutputreal) = 0) \/ exists ge_signed_half_commutative_given_multiplyoutputrealdecode. (((ge_representation_real_code_commutative_given_multiplyoutput) = 2 * ge_signed_half_commutative_given_multiplyoutputrealdecode + 1 /\ (ge_balance_positive_commutative_given_multiplyoutputreal) = 0) /\ (ge_balance_negative_commutative_given_multiplyoutputreal) = S ge_signed_half_commutative_given_multiplyoutputrealdecode))) /\ ((((((((ge_first_rp_commutative_given_multiply) * (ge_second_rp_commutative_given_multiply))) + (((ge_first_rn_commutative_given_multiply) * (ge_second_rn_commutative_given_multiply))))) + (((((ge_first_ip_commutative_given_multiply) * (ge_second_in_commutative_given_multiply))) + (((ge_first_in_commutative_given_multiply) * (ge_second_ip_commutative_given_multiply))))))) + ge_balance_negative_commutative_given_multiplyoutputreal = (((((((ge_first_rp_commutative_given_multiply) * (ge_second_rn_commutative_given_multiply))) + (((ge_first_rn_commutative_given_multiply) * (ge_second_rp_commutative_given_multiply))))) + (((((ge_first_ip_commutative_given_multiply) * (ge_second_ip_commutative_given_multiply))) + (((ge_first_in_commutative_given_multiply) * (ge_second_in_commutative_given_multiply))))))) + ge_balance_positive_commutative_given_multiplyoutputreal))) /\ (exists ge_balance_positive_commutative_given_multiplyoutputimaginary ge_balance_negative_commutative_given_multiplyoutputimaginary. (((((ge_representation_imaginary_code_commutative_given_multiplyoutput) = 2 * (ge_balance_positive_commutative_given_multiplyoutputimaginary) /\ (ge_balance_negative_commutative_given_multiplyoutputimaginary) = 0) \/ exists ge_signed_half_commutative_given_multiplyoutputimaginarydecode. (((ge_representation_imaginary_code_commutative_given_multiplyoutput) = 2 * ge_signed_half_commutative_given_multiplyoutputimaginarydecode + 1 /\ (ge_balance_positive_commutative_given_multiplyoutputimaginary) = 0) /\ (ge_balance_negative_commutative_given_multiplyoutputimaginary) = S ge_signed_half_commutative_given_multiplyoutputimaginarydecode))) /\ ((((((((ge_first_rp_commutative_given_multiply) * (ge_second_ip_commutative_given_multiply))) + (((ge_first_rn_commutative_given_multiply) * (ge_second_in_commutative_given_multiply))))) + (((((ge_first_ip_commutative_given_multiply) * (ge_second_rp_commutative_given_multiply))) + (((ge_first_in_commutative_given_multiply) * (ge_second_rn_commutative_given_multiply))))))) + ge_balance_negative_commutative_given_multiplyoutputimaginary = (((((((ge_first_rp_commutative_given_multiply) * (ge_second_in_commutative_given_multiply))) + (((ge_first_rn_commutative_given_multiply) * (ge_second_ip_commutative_given_multiply))))) + (((((ge_first_ip_commutative_given_multiply) * (ge_second_rn_commutative_given_multiply))) + (((ge_first_in_commutative_given_multiply) * (ge_second_rp_commutative_given_multiply))))))) + ge_balance_positive_commutative_given_multiplyoutputimaginary))))))))) -> (exists ge_first_rp_commutative_result_multiply ge_first_rn_commutative_result_multiply ge_first_ip_commutative_result_multiply ge_first_in_commutative_result_multiply ge_second_rp_commutative_result_multiply ge_second_rn_commutative_result_multiply ge_second_ip_commutative_result_multiply ge_second_in_commutative_result_multiply. ((exists ge_representation_real_code_commutative_result_multiplyfirst ge_representation_imaginary_code_commutative_result_multiplyfirst. (((b) = ((ge_representation_real_code_commutative_result_multiplyfirst) + (ge_representation_imaginary_code_commutative_result_multiplyfirst)) * S ((ge_representation_real_code_commutative_result_multiplyfirst) + (ge_representation_imaginary_code_commutative_result_multiplyfirst)) + ((ge_representation_imaginary_code_commutative_result_multiplyfirst) + (ge_representation_imaginary_code_commutative_result_multiplyfirst))) /\ ((exists ge_balance_positive_commutative_result_multiplyfirstreal ge_balance_negative_commutative_result_multiplyfirstreal. (((((ge_representation_real_code_commutative_result_multiplyfirst) = 2 * (ge_balance_positive_commutative_result_multiplyfirstreal) /\ (ge_balance_negative_commutative_result_multiplyfirstreal) = 0) \/ exists ge_signed_half_commutative_result_multiplyfirstrealdecode. (((ge_representation_real_code_commutative_result_multiplyfirst) = 2 * ge_signed_half_commutative_result_multiplyfirstrealdecode + 1 /\ (ge_balance_positive_commutative_result_multiplyfirstreal) = 0) /\ (ge_balance_negative_commutative_result_multiplyfirstreal) = S ge_signed_half_commutative_result_multiplyfirstrealdecode))) /\ ((ge_first_rp_commutative_result_multiply) + ge_balance_negative_commutative_result_multiplyfirstreal = (ge_first_rn_commutative_result_multiply) + ge_balance_positive_commutative_result_multiplyfirstreal))) /\ (exists ge_balance_positive_commutative_result_multiplyfirstimaginary ge_balance_negative_commutative_result_multiplyfirstimaginary. (((((ge_representation_imaginary_code_commutative_result_multiplyfirst) = 2 * (ge_balance_positive_commutative_result_multiplyfirstimaginary) /\ (ge_balance_negative_commutative_result_multiplyfirstimaginary) = 0) \/ exists ge_signed_half_commutative_result_multiplyfirstimaginarydecode. (((ge_representation_imaginary_code_commutative_result_multiplyfirst) = 2 * ge_signed_half_commutative_result_multiplyfirstimaginarydecode + 1 /\ (ge_balance_positive_commutative_result_multiplyfirstimaginary) = 0) /\ (ge_balance_negative_commutative_result_multiplyfirstimaginary) = S ge_signed_half_commutative_result_multiplyfirstimaginarydecode))) /\ ((ge_first_ip_commutative_result_multiply) + ge_balance_negative_commutative_result_multiplyfirstimaginary = (ge_first_in_commutative_result_multiply) + ge_balance_positive_commutative_result_multiplyfirstimaginary)))))) /\ ((exists ge_representation_real_code_commutative_result_multiplysecond ge_representation_imaginary_code_commutative_result_multiplysecond. (((a) = ((ge_representation_real_code_commutative_result_multiplysecond) + (ge_representation_imaginary_code_commutative_result_multiplysecond)) * S ((ge_representation_real_code_commutative_result_multiplysecond) + (ge_representation_imaginary_code_commutative_result_multiplysecond)) + ((ge_representation_imaginary_code_commutative_result_multiplysecond) + (ge_representation_imaginary_code_commutative_result_multiplysecond))) /\ ((exists ge_balance_positive_commutative_result_multiplysecondreal ge_balance_negative_commutative_result_multiplysecondreal. (((((ge_representation_real_code_commutative_result_multiplysecond) = 2 * (ge_balance_positive_commutative_result_multiplysecondreal) /\ (ge_balance_negative_commutative_result_multiplysecondreal) = 0) \/ exists ge_signed_half_commutative_result_multiplysecondrealdecode. (((ge_representation_real_code_commutative_result_multiplysecond) = 2 * ge_signed_half_commutative_result_multiplysecondrealdecode + 1 /\ (ge_balance_positive_commutative_result_multiplysecondreal) = 0) /\ (ge_balance_negative_commutative_result_multiplysecondreal) = S ge_signed_half_commutative_result_multiplysecondrealdecode))) /\ ((ge_second_rp_commutative_result_multiply) + ge_balance_negative_commutative_result_multiplysecondreal = (ge_second_rn_commutative_result_multiply) + ge_balance_positive_commutative_result_multiplysecondreal))) /\ (exists ge_balance_positive_commutative_result_multiplysecondimaginary ge_balance_negative_commutative_result_multiplysecondimaginary. (((((ge_representation_imaginary_code_commutative_result_multiplysecond) = 2 * (ge_balance_positive_commutative_result_multiplysecondimaginary) /\ (ge_balance_negative_commutative_result_multiplysecondimaginary) = 0) \/ exists ge_signed_half_commutative_result_multiplysecondimaginarydecode. (((ge_representation_imaginary_code_commutative_result_multiplysecond) = 2 * ge_signed_half_commutative_result_multiplysecondimaginarydecode + 1 /\ (ge_balance_positive_commutative_result_multiplysecondimaginary) = 0) /\ (ge_balance_negative_commutative_result_multiplysecondimaginary) = S ge_signed_half_commutative_result_multiplysecondimaginarydecode))) /\ ((ge_second_ip_commutative_result_multiply) + ge_balance_negative_commutative_result_multiplysecondimaginary = (ge_second_in_commutative_result_multiply) + ge_balance_positive_commutative_result_multiplysecondimaginary)))))) /\ (exists ge_representation_real_code_commutative_result_multiplyoutput ge_representation_imaginary_code_commutative_result_multiplyoutput. (((c) = ((ge_representation_real_code_commutative_result_multiplyoutput) + (ge_representation_imaginary_code_commutative_result_multiplyoutput)) * S ((ge_representation_real_code_commutative_result_multiplyoutput) + (ge_representation_imaginary_code_commutative_result_multiplyoutput)) + ((ge_representation_imaginary_code_commutative_result_multiplyoutput) + (ge_representation_imaginary_code_commutative_result_multiplyoutput))) /\ ((exists ge_balance_positive_commutative_result_multiplyoutputreal ge_balance_negative_commutative_result_multiplyoutputreal. (((((ge_representation_real_code_commutative_result_multiplyoutput) = 2 * (ge_balance_positive_commutative_result_multiplyoutputreal) /\ (ge_balance_negative_commutative_result_multiplyoutputreal) = 0) \/ exists ge_signed_half_commutative_result_multiplyoutputrealdecode. (((ge_representation_real_code_commutative_result_multiplyoutput) = 2 * ge_signed_half_commutative_result_multiplyoutputrealdecode + 1 /\ (ge_balance_positive_commutative_result_multiplyoutputreal) = 0) /\ (ge_balance_negative_commutative_result_multiplyoutputreal) = S ge_signed_half_commutative_result_multiplyoutputrealdecode))) /\ ((((((((ge_first_rp_commutative_result_multiply) * (ge_second_rp_commutative_result_multiply))) + (((ge_first_rn_commutative_result_multiply) * (ge_second_rn_commutative_result_multiply))))) + (((((ge_first_ip_commutative_result_multiply) * (ge_second_in_commutative_result_multiply))) + (((ge_first_in_commutative_result_multiply) * (ge_second_ip_commutative_result_multiply))))))) + ge_balance_negative_commutative_result_multiplyoutputreal = (((((((ge_first_rp_commutative_result_multiply) * (ge_second_rn_commutative_result_multiply))) + (((ge_first_rn_commutative_result_multiply) * (ge_second_rp_commutative_result_multiply))))) + (((((ge_first_ip_commutative_result_multiply) * (ge_second_ip_commutative_result_multiply))) + (((ge_first_in_commutative_result_multiply) * (ge_second_in_commutative_result_multiply))))))) + ge_balance_positive_commutative_result_multiplyoutputreal))) /\ (exists ge_balance_positive_commutative_result_multiplyoutputimaginary ge_balance_negative_commutative_result_multiplyoutputimaginary. (((((ge_representation_imaginary_code_commutative_result_multiplyoutput) = 2 * (ge_balance_positive_commutative_result_multiplyoutputimaginary) /\ (ge_balance_negative_commutative_result_multiplyoutputimaginary) = 0) \/ exists ge_signed_half_commutative_result_multiplyoutputimaginarydecode. (((ge_representation_imaginary_code_commutative_result_multiplyoutput) = 2 * ge_signed_half_commutative_result_multiplyoutputimaginarydecode + 1 /\ (ge_balance_positive_commutative_result_multiplyoutputimaginary) = 0) /\ (ge_balance_negative_commutative_result_multiplyoutputimaginary) = S ge_signed_half_commutative_result_multiplyoutputimaginarydecode))) /\ ((((((((ge_first_rp_commutative_result_multiply) * (ge_second_ip_commutative_result_multiply))) + (((ge_first_rn_commutative_result_multiply) * (ge_second_in_commutative_result_multiply))))) + (((((ge_first_ip_commutative_result_multiply) * (ge_second_rp_commutative_result_multiply))) + (((ge_first_in_commutative_result_multiply) * (ge_second_rn_commutative_result_multiply))))))) + ge_balance_negative_commutative_result_multiplyoutputimaginary = (((((((ge_first_rp_commutative_result_multiply) * (ge_second_in_commutative_result_multiply))) + (((ge_first_rn_commutative_result_multiply) * (ge_second_ip_commutative_result_multiply))))) + (((((ge_first_ip_commutative_result_multiply) * (ge_second_rn_commutative_result_multiply))) + (((ge_first_in_commutative_result_multiply) * (ge_second_rp_commutative_result_multiply))))))) + ge_balance_positive_commutative_result_multiplyoutputimaginary)))))))))Constructive proof overview
Generated structural guide
The actual canonical Gaussian multiply graph is commutative; output code equality is not assumed.
The unchanged tactic script uses 3 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
GF0013 gaussian_ring_raw_multiply_commutative gaussian_multiply_of_representations Alpha theorem; checked-use authorized gaussian_representation_integer_transport Alpha theorem; checked-use authorizedDirect dependents
GF001A gaussian_norm_one_is_unit GF0029 gaussian_multiply_one_left GF002B gaussian_multiply_zero_left GF0031 gaussian_multiply_swap_tail GF0039 gaussian_multiply_add_distribute_right GF003C gaussian_multiply_cancel_right GF003E gaussian_unit_inverse GF0041 gaussian_unit_factor_right GF004A gaussian_divides_product_right GF0057 gaussian_associate_of_unit_cofactor GF0058 gaussian_associate_divides GF005A gaussian_mutual_divisibility_associate GF0067 gaussian_bezout_unit_divisor_cancel GF0068 gaussian_nonzero_product_divisor_unit_cofactor GF006B gaussian_prime_is_irreducible GF0094 gaussian_irreducible_factorization_bounded_norm GF00A5 gaussian_factor_associate_cancel_products GF00AF gaussian_irreducible_products_associate_uniqueFormal 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 (1)
01Fix variables and assumptionsL1–4
02Separate the logical casesL5–14
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L5
cases h - L6
cases h_witness - L7
cases h_witness_witness - L8
cases h_witness_witness_witness - L9
cases h_witness_witness_witness_witness - L10
cases h_witness_witness_witness_witness_witness - L11
cases h_witness_witness_witness_witness_witness_witness - L12
cases h_witness_witness_witness_witness_witness_witness_witness - L13
cases h_witness_witness_witness_witness_witness_witness_witness_witness - L14
cases h_witness_witness_witness_witness_witness_witness_witness_witness_right
03Use earlier factsL15–24
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L15
specialize gaussian_multiply_of_representations (b) - L16
specialize gaussian_multiply_of_representations (a) - L17
specialize gaussian_multiply_of_representations (c) - L18
specialize gaussian_multiply_of_representations (x4) - L19
specialize gaussian_multiply_of_representations (x5) - L20
specialize gaussian_multiply_of_representations (x6) - L21
specialize gaussian_multiply_of_representations (x7) - L22
specialize gaussian_multiply_of_representations (x) - L23
specialize gaussian_multiply_of_representations (x1) - L24
specialize gaussian_multiply_of_representations (x2)
04Use earlier factsL25–34
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L25
specialize gaussian_multiply_of_representations (x3) - L26
apply gaussian_multiply_of_representations - L27
exact h_witness_witness_witness_witness_witness_witness_witness_witness_right_left - L28
exact h_witness_witness_witness_witness_witness_witness_witness_witness_left - L29
specialize gaussian_representation_integer_transport (c) - L30
specialize gaussian_representation_integer_transport (((((((x) * (x4))) + (((x1) * (x5))))) + (((((x2) * (x7))) + (((x3) * (x6))))))) - L31
specialize gaussian_representation_integer_transport (((((((x) * (x5))) + (((x1) * (x4))))) + (((((x2) * (x6))) + (((x3) * (x7))))))) - L32
specialize gaussian_representation_integer_transport (((((((x) * (x6))) + (((x1) * (x7))))) + (((((x2) * (x4))) + (((x3) * (x5))))))) - L33
specialize gaussian_representation_integer_transport (((((((x) * (x7))) + (((x1) * (x6))))) + (((((x2) * (x5))) + (((x3) * (x4))))))) - L34
specialize gaussian_representation_integer_transport (((((((x4) * (x))) + (((x5) * (x1))))) + (((((x6) * (x3))) + (((x7) * (x2)))))))
05Use earlier factsL35–44
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L35
specialize gaussian_representation_integer_transport (((((((x4) * (x1))) + (((x5) * (x))))) + (((((x6) * (x2))) + (((x7) * (x3))))))) - L36
specialize gaussian_representation_integer_transport (((((((x4) * (x2))) + (((x5) * (x3))))) + (((((x6) * (x))) + (((x7) * (x1))))))) - L37
specialize gaussian_representation_integer_transport (((((((x4) * (x3))) + (((x5) * (x2))))) + (((((x6) * (x1))) + (((x7) * (x))))))) - L38
apply gaussian_representation_integer_transport - L39
specialize gaussian_ring_raw_multiply_commutative (x) - L40
specialize gaussian_ring_raw_multiply_commutative (x1) - L41
specialize gaussian_ring_raw_multiply_commutative (x2) - L42
specialize gaussian_ring_raw_multiply_commutative (x3) - L43
specialize gaussian_ring_raw_multiply_commutative (x4) - L44
specialize gaussian_ring_raw_multiply_commutative (x5)
06Use earlier factsL45–48
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original exact command ledger · 48 lines
- 0001
intro a - 0002
intro b - 0003
intro c - 0004
intro h - 0005
cases h - 0006
cases h_witness - 0007
cases h_witness_witness - 0008
cases h_witness_witness_witness - 0009
cases h_witness_witness_witness_witness - 0010
cases h_witness_witness_witness_witness_witness - 0011
cases h_witness_witness_witness_witness_witness_witness - 0012
cases h_witness_witness_witness_witness_witness_witness_witness - 0013
cases h_witness_witness_witness_witness_witness_witness_witness_witness - 0014
cases h_witness_witness_witness_witness_witness_witness_witness_witness_right - 0015
specialize gaussian_multiply_of_representations (b) - 0016
specialize gaussian_multiply_of_representations (a) - 0017
specialize gaussian_multiply_of_representations (c) - 0018
specialize gaussian_multiply_of_representations (x4) - 0019
specialize gaussian_multiply_of_representations (x5) - 0020
specialize gaussian_multiply_of_representations (x6) - 0021
specialize gaussian_multiply_of_representations (x7) - 0022
specialize gaussian_multiply_of_representations (x) - 0023
specialize gaussian_multiply_of_representations (x1) - 0024
specialize gaussian_multiply_of_representations (x2) - 0025
specialize gaussian_multiply_of_representations (x3) - 0026
apply gaussian_multiply_of_representations - 0027
exact h_witness_witness_witness_witness_witness_witness_witness_witness_right_left - 0028
exact h_witness_witness_witness_witness_witness_witness_witness_witness_left - 0029
specialize gaussian_representation_integer_transport (c) - 0030
specialize gaussian_representation_integer_transport (((((((x) * (x4))) + (((x1) * (x5))))) + (((((x2) * (x7))) + (((x3) * (x6))))))) - 0031
specialize gaussian_representation_integer_transport (((((((x) * (x5))) + (((x1) * (x4))))) + (((((x2) * (x6))) + (((x3) * (x7))))))) - 0032
specialize gaussian_representation_integer_transport (((((((x) * (x6))) + (((x1) * (x7))))) + (((((x2) * (x4))) + (((x3) * (x5))))))) - 0033
specialize gaussian_representation_integer_transport (((((((x) * (x7))) + (((x1) * (x6))))) + (((((x2) * (x5))) + (((x3) * (x4))))))) - 0034
specialize gaussian_representation_integer_transport (((((((x4) * (x))) + (((x5) * (x1))))) + (((((x6) * (x3))) + (((x7) * (x2))))))) - 0035
specialize gaussian_representation_integer_transport (((((((x4) * (x1))) + (((x5) * (x))))) + (((((x6) * (x2))) + (((x7) * (x3))))))) - 0036
specialize gaussian_representation_integer_transport (((((((x4) * (x2))) + (((x5) * (x3))))) + (((((x6) * (x))) + (((x7) * (x1))))))) - 0037
specialize gaussian_representation_integer_transport (((((((x4) * (x3))) + (((x5) * (x2))))) + (((((x6) * (x1))) + (((x7) * (x))))))) - 0038
apply gaussian_representation_integer_transport - 0039
specialize gaussian_ring_raw_multiply_commutative (x) - 0040
specialize gaussian_ring_raw_multiply_commutative (x1) - 0041
specialize gaussian_ring_raw_multiply_commutative (x2) - 0042
specialize gaussian_ring_raw_multiply_commutative (x3) - 0043
specialize gaussian_ring_raw_multiply_commutative (x4) - 0044
specialize gaussian_ring_raw_multiply_commutative (x5) - 0045
specialize gaussian_ring_raw_multiply_commutative (x6) - 0046
specialize gaussian_ring_raw_multiply_commutative (x7) - 0047
apply gaussian_ring_raw_multiply_commutative - 0048
exact h_witness_witness_witness_witness_witness_witness_witness_witness_right_right