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_add ge_first_rn_commutative_given_add ge_first_ip_commutative_given_add ge_first_in_commutative_given_add ge_second_rp_commutative_given_add ge_second_rn_commutative_given_add ge_second_ip_commutative_given_add ge_second_in_commutative_given_add. ((exists ge_representation_real_code_commutative_given_addfirst ge_representation_imaginary_code_commutative_given_addfirst. (((a) = ((ge_representation_real_code_commutative_given_addfirst) + (ge_representation_imaginary_code_commutative_given_addfirst)) * S ((ge_representation_real_code_commutative_given_addfirst) + (ge_representation_imaginary_code_commutative_given_addfirst)) + ((ge_representation_imaginary_code_commutative_given_addfirst) + (ge_representation_imaginary_code_commutative_given_addfirst))) /\ ((exists ge_balance_positive_commutative_given_addfirstreal ge_balance_negative_commutative_given_addfirstreal. (((((ge_representation_real_code_commutative_given_addfirst) = 2 * (ge_balance_positive_commutative_given_addfirstreal) /\ (ge_balance_negative_commutative_given_addfirstreal) = 0) \/ exists ge_signed_half_commutative_given_addfirstrealdecode. (((ge_representation_real_code_commutative_given_addfirst) = 2 * ge_signed_half_commutative_given_addfirstrealdecode + 1 /\ (ge_balance_positive_commutative_given_addfirstreal) = 0) /\ (ge_balance_negative_commutative_given_addfirstreal) = S ge_signed_half_commutative_given_addfirstrealdecode))) /\ ((ge_first_rp_commutative_given_add) + ge_balance_negative_commutative_given_addfirstreal = (ge_first_rn_commutative_given_add) + ge_balance_positive_commutative_given_addfirstreal))) /\ (exists ge_balance_positive_commutative_given_addfirstimaginary ge_balance_negative_commutative_given_addfirstimaginary. (((((ge_representation_imaginary_code_commutative_given_addfirst) = 2 * (ge_balance_positive_commutative_given_addfirstimaginary) /\ (ge_balance_negative_commutative_given_addfirstimaginary) = 0) \/ exists ge_signed_half_commutative_given_addfirstimaginarydecode. (((ge_representation_imaginary_code_commutative_given_addfirst) = 2 * ge_signed_half_commutative_given_addfirstimaginarydecode + 1 /\ (ge_balance_positive_commutative_given_addfirstimaginary) = 0) /\ (ge_balance_negative_commutative_given_addfirstimaginary) = S ge_signed_half_commutative_given_addfirstimaginarydecode))) /\ ((ge_first_ip_commutative_given_add) + ge_balance_negative_commutative_given_addfirstimaginary = (ge_first_in_commutative_given_add) + ge_balance_positive_commutative_given_addfirstimaginary)))))) /\ ((exists ge_representation_real_code_commutative_given_addsecond ge_representation_imaginary_code_commutative_given_addsecond. (((b) = ((ge_representation_real_code_commutative_given_addsecond) + (ge_representation_imaginary_code_commutative_given_addsecond)) * S ((ge_representation_real_code_commutative_given_addsecond) + (ge_representation_imaginary_code_commutative_given_addsecond)) + ((ge_representation_imaginary_code_commutative_given_addsecond) + (ge_representation_imaginary_code_commutative_given_addsecond))) /\ ((exists ge_balance_positive_commutative_given_addsecondreal ge_balance_negative_commutative_given_addsecondreal. (((((ge_representation_real_code_commutative_given_addsecond) = 2 * (ge_balance_positive_commutative_given_addsecondreal) /\ (ge_balance_negative_commutative_given_addsecondreal) = 0) \/ exists ge_signed_half_commutative_given_addsecondrealdecode. (((ge_representation_real_code_commutative_given_addsecond) = 2 * ge_signed_half_commutative_given_addsecondrealdecode + 1 /\ (ge_balance_positive_commutative_given_addsecondreal) = 0) /\ (ge_balance_negative_commutative_given_addsecondreal) = S ge_signed_half_commutative_given_addsecondrealdecode))) /\ ((ge_second_rp_commutative_given_add) + ge_balance_negative_commutative_given_addsecondreal = (ge_second_rn_commutative_given_add) + ge_balance_positive_commutative_given_addsecondreal))) /\ (exists ge_balance_positive_commutative_given_addsecondimaginary ge_balance_negative_commutative_given_addsecondimaginary. (((((ge_representation_imaginary_code_commutative_given_addsecond) = 2 * (ge_balance_positive_commutative_given_addsecondimaginary) /\ (ge_balance_negative_commutative_given_addsecondimaginary) = 0) \/ exists ge_signed_half_commutative_given_addsecondimaginarydecode. (((ge_representation_imaginary_code_commutative_given_addsecond) = 2 * ge_signed_half_commutative_given_addsecondimaginarydecode + 1 /\ (ge_balance_positive_commutative_given_addsecondimaginary) = 0) /\ (ge_balance_negative_commutative_given_addsecondimaginary) = S ge_signed_half_commutative_given_addsecondimaginarydecode))) /\ ((ge_second_ip_commutative_given_add) + ge_balance_negative_commutative_given_addsecondimaginary = (ge_second_in_commutative_given_add) + ge_balance_positive_commutative_given_addsecondimaginary)))))) /\ (exists ge_representation_real_code_commutative_given_addoutput ge_representation_imaginary_code_commutative_given_addoutput. (((c) = ((ge_representation_real_code_commutative_given_addoutput) + (ge_representation_imaginary_code_commutative_given_addoutput)) * S ((ge_representation_real_code_commutative_given_addoutput) + (ge_representation_imaginary_code_commutative_given_addoutput)) + ((ge_representation_imaginary_code_commutative_given_addoutput) + (ge_representation_imaginary_code_commutative_given_addoutput))) /\ ((exists ge_balance_positive_commutative_given_addoutputreal ge_balance_negative_commutative_given_addoutputreal. (((((ge_representation_real_code_commutative_given_addoutput) = 2 * (ge_balance_positive_commutative_given_addoutputreal) /\ (ge_balance_negative_commutative_given_addoutputreal) = 0) \/ exists ge_signed_half_commutative_given_addoutputrealdecode. (((ge_representation_real_code_commutative_given_addoutput) = 2 * ge_signed_half_commutative_given_addoutputrealdecode + 1 /\ (ge_balance_positive_commutative_given_addoutputreal) = 0) /\ (ge_balance_negative_commutative_given_addoutputreal) = S ge_signed_half_commutative_given_addoutputrealdecode))) /\ ((((ge_first_rp_commutative_given_add) + (ge_second_rp_commutative_given_add))) + ge_balance_negative_commutative_given_addoutputreal = (((ge_first_rn_commutative_given_add) + (ge_second_rn_commutative_given_add))) + ge_balance_positive_commutative_given_addoutputreal))) /\ (exists ge_balance_positive_commutative_given_addoutputimaginary ge_balance_negative_commutative_given_addoutputimaginary. (((((ge_representation_imaginary_code_commutative_given_addoutput) = 2 * (ge_balance_positive_commutative_given_addoutputimaginary) /\ (ge_balance_negative_commutative_given_addoutputimaginary) = 0) \/ exists ge_signed_half_commutative_given_addoutputimaginarydecode. (((ge_representation_imaginary_code_commutative_given_addoutput) = 2 * ge_signed_half_commutative_given_addoutputimaginarydecode + 1 /\ (ge_balance_positive_commutative_given_addoutputimaginary) = 0) /\ (ge_balance_negative_commutative_given_addoutputimaginary) = S ge_signed_half_commutative_given_addoutputimaginarydecode))) /\ ((((ge_first_ip_commutative_given_add) + (ge_second_ip_commutative_given_add))) + ge_balance_negative_commutative_given_addoutputimaginary = (((ge_first_in_commutative_given_add) + (ge_second_in_commutative_given_add))) + ge_balance_positive_commutative_given_addoutputimaginary))))))))) -> (exists ge_first_rp_commutative_result_add ge_first_rn_commutative_result_add ge_first_ip_commutative_result_add ge_first_in_commutative_result_add ge_second_rp_commutative_result_add ge_second_rn_commutative_result_add ge_second_ip_commutative_result_add ge_second_in_commutative_result_add. ((exists ge_representation_real_code_commutative_result_addfirst ge_representation_imaginary_code_commutative_result_addfirst. (((b) = ((ge_representation_real_code_commutative_result_addfirst) + (ge_representation_imaginary_code_commutative_result_addfirst)) * S ((ge_representation_real_code_commutative_result_addfirst) + (ge_representation_imaginary_code_commutative_result_addfirst)) + ((ge_representation_imaginary_code_commutative_result_addfirst) + (ge_representation_imaginary_code_commutative_result_addfirst))) /\ ((exists ge_balance_positive_commutative_result_addfirstreal ge_balance_negative_commutative_result_addfirstreal. (((((ge_representation_real_code_commutative_result_addfirst) = 2 * (ge_balance_positive_commutative_result_addfirstreal) /\ (ge_balance_negative_commutative_result_addfirstreal) = 0) \/ exists ge_signed_half_commutative_result_addfirstrealdecode. (((ge_representation_real_code_commutative_result_addfirst) = 2 * ge_signed_half_commutative_result_addfirstrealdecode + 1 /\ (ge_balance_positive_commutative_result_addfirstreal) = 0) /\ (ge_balance_negative_commutative_result_addfirstreal) = S ge_signed_half_commutative_result_addfirstrealdecode))) /\ ((ge_first_rp_commutative_result_add) + ge_balance_negative_commutative_result_addfirstreal = (ge_first_rn_commutative_result_add) + ge_balance_positive_commutative_result_addfirstreal))) /\ (exists ge_balance_positive_commutative_result_addfirstimaginary ge_balance_negative_commutative_result_addfirstimaginary. (((((ge_representation_imaginary_code_commutative_result_addfirst) = 2 * (ge_balance_positive_commutative_result_addfirstimaginary) /\ (ge_balance_negative_commutative_result_addfirstimaginary) = 0) \/ exists ge_signed_half_commutative_result_addfirstimaginarydecode. (((ge_representation_imaginary_code_commutative_result_addfirst) = 2 * ge_signed_half_commutative_result_addfirstimaginarydecode + 1 /\ (ge_balance_positive_commutative_result_addfirstimaginary) = 0) /\ (ge_balance_negative_commutative_result_addfirstimaginary) = S ge_signed_half_commutative_result_addfirstimaginarydecode))) /\ ((ge_first_ip_commutative_result_add) + ge_balance_negative_commutative_result_addfirstimaginary = (ge_first_in_commutative_result_add) + ge_balance_positive_commutative_result_addfirstimaginary)))))) /\ ((exists ge_representation_real_code_commutative_result_addsecond ge_representation_imaginary_code_commutative_result_addsecond. (((a) = ((ge_representation_real_code_commutative_result_addsecond) + (ge_representation_imaginary_code_commutative_result_addsecond)) * S ((ge_representation_real_code_commutative_result_addsecond) + (ge_representation_imaginary_code_commutative_result_addsecond)) + ((ge_representation_imaginary_code_commutative_result_addsecond) + (ge_representation_imaginary_code_commutative_result_addsecond))) /\ ((exists ge_balance_positive_commutative_result_addsecondreal ge_balance_negative_commutative_result_addsecondreal. (((((ge_representation_real_code_commutative_result_addsecond) = 2 * (ge_balance_positive_commutative_result_addsecondreal) /\ (ge_balance_negative_commutative_result_addsecondreal) = 0) \/ exists ge_signed_half_commutative_result_addsecondrealdecode. (((ge_representation_real_code_commutative_result_addsecond) = 2 * ge_signed_half_commutative_result_addsecondrealdecode + 1 /\ (ge_balance_positive_commutative_result_addsecondreal) = 0) /\ (ge_balance_negative_commutative_result_addsecondreal) = S ge_signed_half_commutative_result_addsecondrealdecode))) /\ ((ge_second_rp_commutative_result_add) + ge_balance_negative_commutative_result_addsecondreal = (ge_second_rn_commutative_result_add) + ge_balance_positive_commutative_result_addsecondreal))) /\ (exists ge_balance_positive_commutative_result_addsecondimaginary ge_balance_negative_commutative_result_addsecondimaginary. (((((ge_representation_imaginary_code_commutative_result_addsecond) = 2 * (ge_balance_positive_commutative_result_addsecondimaginary) /\ (ge_balance_negative_commutative_result_addsecondimaginary) = 0) \/ exists ge_signed_half_commutative_result_addsecondimaginarydecode. (((ge_representation_imaginary_code_commutative_result_addsecond) = 2 * ge_signed_half_commutative_result_addsecondimaginarydecode + 1 /\ (ge_balance_positive_commutative_result_addsecondimaginary) = 0) /\ (ge_balance_negative_commutative_result_addsecondimaginary) = S ge_signed_half_commutative_result_addsecondimaginarydecode))) /\ ((ge_second_ip_commutative_result_add) + ge_balance_negative_commutative_result_addsecondimaginary = (ge_second_in_commutative_result_add) + ge_balance_positive_commutative_result_addsecondimaginary)))))) /\ (exists ge_representation_real_code_commutative_result_addoutput ge_representation_imaginary_code_commutative_result_addoutput. (((c) = ((ge_representation_real_code_commutative_result_addoutput) + (ge_representation_imaginary_code_commutative_result_addoutput)) * S ((ge_representation_real_code_commutative_result_addoutput) + (ge_representation_imaginary_code_commutative_result_addoutput)) + ((ge_representation_imaginary_code_commutative_result_addoutput) + (ge_representation_imaginary_code_commutative_result_addoutput))) /\ ((exists ge_balance_positive_commutative_result_addoutputreal ge_balance_negative_commutative_result_addoutputreal. (((((ge_representation_real_code_commutative_result_addoutput) = 2 * (ge_balance_positive_commutative_result_addoutputreal) /\ (ge_balance_negative_commutative_result_addoutputreal) = 0) \/ exists ge_signed_half_commutative_result_addoutputrealdecode. (((ge_representation_real_code_commutative_result_addoutput) = 2 * ge_signed_half_commutative_result_addoutputrealdecode + 1 /\ (ge_balance_positive_commutative_result_addoutputreal) = 0) /\ (ge_balance_negative_commutative_result_addoutputreal) = S ge_signed_half_commutative_result_addoutputrealdecode))) /\ ((((ge_first_rp_commutative_result_add) + (ge_second_rp_commutative_result_add))) + ge_balance_negative_commutative_result_addoutputreal = (((ge_first_rn_commutative_result_add) + (ge_second_rn_commutative_result_add))) + ge_balance_positive_commutative_result_addoutputreal))) /\ (exists ge_balance_positive_commutative_result_addoutputimaginary ge_balance_negative_commutative_result_addoutputimaginary. (((((ge_representation_imaginary_code_commutative_result_addoutput) = 2 * (ge_balance_positive_commutative_result_addoutputimaginary) /\ (ge_balance_negative_commutative_result_addoutputimaginary) = 0) \/ exists ge_signed_half_commutative_result_addoutputimaginarydecode. (((ge_representation_imaginary_code_commutative_result_addoutput) = 2 * ge_signed_half_commutative_result_addoutputimaginarydecode + 1 /\ (ge_balance_positive_commutative_result_addoutputimaginary) = 0) /\ (ge_balance_negative_commutative_result_addoutputimaginary) = S ge_signed_half_commutative_result_addoutputimaginarydecode))) /\ ((((ge_first_ip_commutative_result_add) + (ge_second_ip_commutative_result_add))) + ge_balance_negative_commutative_result_addoutputimaginary = (((ge_first_in_commutative_result_add) + (ge_second_in_commutative_result_add))) + ge_balance_positive_commutative_result_addoutputimaginary)))))))))Constructive proof overview
Generated structural guide
The actual canonical Gaussian add 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
GF0011 gaussian_ring_raw_add_commutative gaussian_add_of_representations Alpha theorem; checked-use authorized gaussian_representation_integer_transport Alpha theorem; checked-use authorizedDirect 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 (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_add_of_representations (b) - L16
specialize gaussian_add_of_representations (a) - L17
specialize gaussian_add_of_representations (c) - L18
specialize gaussian_add_of_representations (x4) - L19
specialize gaussian_add_of_representations (x5) - L20
specialize gaussian_add_of_representations (x6) - L21
specialize gaussian_add_of_representations (x7) - L22
specialize gaussian_add_of_representations (x) - L23
specialize gaussian_add_of_representations (x1) - L24
specialize gaussian_add_of_representations (x2)
04Use earlier factsL25–34
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L25
specialize gaussian_add_of_representations (x3) - L26
apply gaussian_add_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))) - L31
specialize gaussian_representation_integer_transport (((x1) + (x5))) - L32
specialize gaussian_representation_integer_transport (((x2) + (x6))) - L33
specialize gaussian_representation_integer_transport (((x3) + (x7))) - L34
specialize gaussian_representation_integer_transport (((x4) + (x)))
05Use earlier factsL35–44
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L35
specialize gaussian_representation_integer_transport (((x5) + (x1))) - L36
specialize gaussian_representation_integer_transport (((x6) + (x2))) - L37
specialize gaussian_representation_integer_transport (((x7) + (x3))) - L38
apply gaussian_representation_integer_transport - L39
specialize gaussian_ring_raw_add_commutative (x) - L40
specialize gaussian_ring_raw_add_commutative (x1) - L41
specialize gaussian_ring_raw_add_commutative (x2) - L42
specialize gaussian_ring_raw_add_commutative (x3) - L43
specialize gaussian_ring_raw_add_commutative (x4) - L44
specialize gaussian_ring_raw_add_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_add_of_representations (b) - 0016
specialize gaussian_add_of_representations (a) - 0017
specialize gaussian_add_of_representations (c) - 0018
specialize gaussian_add_of_representations (x4) - 0019
specialize gaussian_add_of_representations (x5) - 0020
specialize gaussian_add_of_representations (x6) - 0021
specialize gaussian_add_of_representations (x7) - 0022
specialize gaussian_add_of_representations (x) - 0023
specialize gaussian_add_of_representations (x1) - 0024
specialize gaussian_add_of_representations (x2) - 0025
specialize gaussian_add_of_representations (x3) - 0026
apply gaussian_add_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))) - 0031
specialize gaussian_representation_integer_transport (((x1) + (x5))) - 0032
specialize gaussian_representation_integer_transport (((x2) + (x6))) - 0033
specialize gaussian_representation_integer_transport (((x3) + (x7))) - 0034
specialize gaussian_representation_integer_transport (((x4) + (x))) - 0035
specialize gaussian_representation_integer_transport (((x5) + (x1))) - 0036
specialize gaussian_representation_integer_transport (((x6) + (x2))) - 0037
specialize gaussian_representation_integer_transport (((x7) + (x3))) - 0038
apply gaussian_representation_integer_transport - 0039
specialize gaussian_ring_raw_add_commutative (x) - 0040
specialize gaussian_ring_raw_add_commutative (x1) - 0041
specialize gaussian_ring_raw_add_commutative (x2) - 0042
specialize gaussian_ring_raw_add_commutative (x3) - 0043
specialize gaussian_ring_raw_add_commutative (x4) - 0044
specialize gaussian_ring_raw_add_commutative (x5) - 0045
specialize gaussian_ring_raw_add_commutative (x6) - 0046
specialize gaussian_ring_raw_add_commutative (x7) - 0047
apply gaussian_ring_raw_add_commutative - 0048
exact h_witness_witness_witness_witness_witness_witness_witness_witness_right_right