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 ac bc cc a b c d e f g h. (exists ge_representation_real_code_add_fixed_first ge_representation_imaginary_code_add_fixed_first. (((ac) = ((ge_representation_real_code_add_fixed_first) + (ge_representation_imaginary_code_add_fixed_first)) * S ((ge_representation_real_code_add_fixed_first) + (ge_representation_imaginary_code_add_fixed_first)) + ((ge_representation_imaginary_code_add_fixed_first) + (ge_representation_imaginary_code_add_fixed_first))) /\ ((exists ge_balance_positive_add_fixed_firstreal ge_balance_negative_add_fixed_firstreal. (((((ge_representation_real_code_add_fixed_first) = 2 * (ge_balance_positive_add_fixed_firstreal) /\ (ge_balance_negative_add_fixed_firstreal) = 0) \/ exists ge_signed_half_add_fixed_firstrealdecode. (((ge_representation_real_code_add_fixed_first) = 2 * ge_signed_half_add_fixed_firstrealdecode + 1 /\ (ge_balance_positive_add_fixed_firstreal) = 0) /\ (ge_balance_negative_add_fixed_firstreal) = S ge_signed_half_add_fixed_firstrealdecode))) /\ ((a) + ge_balance_negative_add_fixed_firstreal = (b) + ge_balance_positive_add_fixed_firstreal))) /\ (exists ge_balance_positive_add_fixed_firstimaginary ge_balance_negative_add_fixed_firstimaginary. (((((ge_representation_imaginary_code_add_fixed_first) = 2 * (ge_balance_positive_add_fixed_firstimaginary) /\ (ge_balance_negative_add_fixed_firstimaginary) = 0) \/ exists ge_signed_half_add_fixed_firstimaginarydecode. (((ge_representation_imaginary_code_add_fixed_first) = 2 * ge_signed_half_add_fixed_firstimaginarydecode + 1 /\ (ge_balance_positive_add_fixed_firstimaginary) = 0) /\ (ge_balance_negative_add_fixed_firstimaginary) = S ge_signed_half_add_fixed_firstimaginarydecode))) /\ ((c) + ge_balance_negative_add_fixed_firstimaginary = (d) + ge_balance_positive_add_fixed_firstimaginary)))))) -> (exists ge_representation_real_code_add_fixed_second ge_representation_imaginary_code_add_fixed_second. (((bc) = ((ge_representation_real_code_add_fixed_second) + (ge_representation_imaginary_code_add_fixed_second)) * S ((ge_representation_real_code_add_fixed_second) + (ge_representation_imaginary_code_add_fixed_second)) + ((ge_representation_imaginary_code_add_fixed_second) + (ge_representation_imaginary_code_add_fixed_second))) /\ ((exists ge_balance_positive_add_fixed_secondreal ge_balance_negative_add_fixed_secondreal. (((((ge_representation_real_code_add_fixed_second) = 2 * (ge_balance_positive_add_fixed_secondreal) /\ (ge_balance_negative_add_fixed_secondreal) = 0) \/ exists ge_signed_half_add_fixed_secondrealdecode. (((ge_representation_real_code_add_fixed_second) = 2 * ge_signed_half_add_fixed_secondrealdecode + 1 /\ (ge_balance_positive_add_fixed_secondreal) = 0) /\ (ge_balance_negative_add_fixed_secondreal) = S ge_signed_half_add_fixed_secondrealdecode))) /\ ((e) + ge_balance_negative_add_fixed_secondreal = (f) + ge_balance_positive_add_fixed_secondreal))) /\ (exists ge_balance_positive_add_fixed_secondimaginary ge_balance_negative_add_fixed_secondimaginary. (((((ge_representation_imaginary_code_add_fixed_second) = 2 * (ge_balance_positive_add_fixed_secondimaginary) /\ (ge_balance_negative_add_fixed_secondimaginary) = 0) \/ exists ge_signed_half_add_fixed_secondimaginarydecode. (((ge_representation_imaginary_code_add_fixed_second) = 2 * ge_signed_half_add_fixed_secondimaginarydecode + 1 /\ (ge_balance_positive_add_fixed_secondimaginary) = 0) /\ (ge_balance_negative_add_fixed_secondimaginary) = S ge_signed_half_add_fixed_secondimaginarydecode))) /\ ((g) + ge_balance_negative_add_fixed_secondimaginary = (h) + ge_balance_positive_add_fixed_secondimaginary)))))) -> (exists ge_first_rp_add_fixed_graph ge_first_rn_add_fixed_graph ge_first_ip_add_fixed_graph ge_first_in_add_fixed_graph ge_second_rp_add_fixed_graph ge_second_rn_add_fixed_graph ge_second_ip_add_fixed_graph ge_second_in_add_fixed_graph. ((exists ge_representation_real_code_add_fixed_graphfirst ge_representation_imaginary_code_add_fixed_graphfirst. (((ac) = ((ge_representation_real_code_add_fixed_graphfirst) + (ge_representation_imaginary_code_add_fixed_graphfirst)) * S ((ge_representation_real_code_add_fixed_graphfirst) + (ge_representation_imaginary_code_add_fixed_graphfirst)) + ((ge_representation_imaginary_code_add_fixed_graphfirst) + (ge_representation_imaginary_code_add_fixed_graphfirst))) /\ ((exists ge_balance_positive_add_fixed_graphfirstreal ge_balance_negative_add_fixed_graphfirstreal. (((((ge_representation_real_code_add_fixed_graphfirst) = 2 * (ge_balance_positive_add_fixed_graphfirstreal) /\ (ge_balance_negative_add_fixed_graphfirstreal) = 0) \/ exists ge_signed_half_add_fixed_graphfirstrealdecode. (((ge_representation_real_code_add_fixed_graphfirst) = 2 * ge_signed_half_add_fixed_graphfirstrealdecode + 1 /\ (ge_balance_positive_add_fixed_graphfirstreal) = 0) /\ (ge_balance_negative_add_fixed_graphfirstreal) = S ge_signed_half_add_fixed_graphfirstrealdecode))) /\ ((ge_first_rp_add_fixed_graph) + ge_balance_negative_add_fixed_graphfirstreal = (ge_first_rn_add_fixed_graph) + ge_balance_positive_add_fixed_graphfirstreal))) /\ (exists ge_balance_positive_add_fixed_graphfirstimaginary ge_balance_negative_add_fixed_graphfirstimaginary. (((((ge_representation_imaginary_code_add_fixed_graphfirst) = 2 * (ge_balance_positive_add_fixed_graphfirstimaginary) /\ (ge_balance_negative_add_fixed_graphfirstimaginary) = 0) \/ exists ge_signed_half_add_fixed_graphfirstimaginarydecode. (((ge_representation_imaginary_code_add_fixed_graphfirst) = 2 * ge_signed_half_add_fixed_graphfirstimaginarydecode + 1 /\ (ge_balance_positive_add_fixed_graphfirstimaginary) = 0) /\ (ge_balance_negative_add_fixed_graphfirstimaginary) = S ge_signed_half_add_fixed_graphfirstimaginarydecode))) /\ ((ge_first_ip_add_fixed_graph) + ge_balance_negative_add_fixed_graphfirstimaginary = (ge_first_in_add_fixed_graph) + ge_balance_positive_add_fixed_graphfirstimaginary)))))) /\ ((exists ge_representation_real_code_add_fixed_graphsecond ge_representation_imaginary_code_add_fixed_graphsecond. (((bc) = ((ge_representation_real_code_add_fixed_graphsecond) + (ge_representation_imaginary_code_add_fixed_graphsecond)) * S ((ge_representation_real_code_add_fixed_graphsecond) + (ge_representation_imaginary_code_add_fixed_graphsecond)) + ((ge_representation_imaginary_code_add_fixed_graphsecond) + (ge_representation_imaginary_code_add_fixed_graphsecond))) /\ ((exists ge_balance_positive_add_fixed_graphsecondreal ge_balance_negative_add_fixed_graphsecondreal. (((((ge_representation_real_code_add_fixed_graphsecond) = 2 * (ge_balance_positive_add_fixed_graphsecondreal) /\ (ge_balance_negative_add_fixed_graphsecondreal) = 0) \/ exists ge_signed_half_add_fixed_graphsecondrealdecode. (((ge_representation_real_code_add_fixed_graphsecond) = 2 * ge_signed_half_add_fixed_graphsecondrealdecode + 1 /\ (ge_balance_positive_add_fixed_graphsecondreal) = 0) /\ (ge_balance_negative_add_fixed_graphsecondreal) = S ge_signed_half_add_fixed_graphsecondrealdecode))) /\ ((ge_second_rp_add_fixed_graph) + ge_balance_negative_add_fixed_graphsecondreal = (ge_second_rn_add_fixed_graph) + ge_balance_positive_add_fixed_graphsecondreal))) /\ (exists ge_balance_positive_add_fixed_graphsecondimaginary ge_balance_negative_add_fixed_graphsecondimaginary. (((((ge_representation_imaginary_code_add_fixed_graphsecond) = 2 * (ge_balance_positive_add_fixed_graphsecondimaginary) /\ (ge_balance_negative_add_fixed_graphsecondimaginary) = 0) \/ exists ge_signed_half_add_fixed_graphsecondimaginarydecode. (((ge_representation_imaginary_code_add_fixed_graphsecond) = 2 * ge_signed_half_add_fixed_graphsecondimaginarydecode + 1 /\ (ge_balance_positive_add_fixed_graphsecondimaginary) = 0) /\ (ge_balance_negative_add_fixed_graphsecondimaginary) = S ge_signed_half_add_fixed_graphsecondimaginarydecode))) /\ ((ge_second_ip_add_fixed_graph) + ge_balance_negative_add_fixed_graphsecondimaginary = (ge_second_in_add_fixed_graph) + ge_balance_positive_add_fixed_graphsecondimaginary)))))) /\ (exists ge_representation_real_code_add_fixed_graphoutput ge_representation_imaginary_code_add_fixed_graphoutput. (((cc) = ((ge_representation_real_code_add_fixed_graphoutput) + (ge_representation_imaginary_code_add_fixed_graphoutput)) * S ((ge_representation_real_code_add_fixed_graphoutput) + (ge_representation_imaginary_code_add_fixed_graphoutput)) + ((ge_representation_imaginary_code_add_fixed_graphoutput) + (ge_representation_imaginary_code_add_fixed_graphoutput))) /\ ((exists ge_balance_positive_add_fixed_graphoutputreal ge_balance_negative_add_fixed_graphoutputreal. (((((ge_representation_real_code_add_fixed_graphoutput) = 2 * (ge_balance_positive_add_fixed_graphoutputreal) /\ (ge_balance_negative_add_fixed_graphoutputreal) = 0) \/ exists ge_signed_half_add_fixed_graphoutputrealdecode. (((ge_representation_real_code_add_fixed_graphoutput) = 2 * ge_signed_half_add_fixed_graphoutputrealdecode + 1 /\ (ge_balance_positive_add_fixed_graphoutputreal) = 0) /\ (ge_balance_negative_add_fixed_graphoutputreal) = S ge_signed_half_add_fixed_graphoutputrealdecode))) /\ ((((ge_first_rp_add_fixed_graph) + (ge_second_rp_add_fixed_graph))) + ge_balance_negative_add_fixed_graphoutputreal = (((ge_first_rn_add_fixed_graph) + (ge_second_rn_add_fixed_graph))) + ge_balance_positive_add_fixed_graphoutputreal))) /\ (exists ge_balance_positive_add_fixed_graphoutputimaginary ge_balance_negative_add_fixed_graphoutputimaginary. (((((ge_representation_imaginary_code_add_fixed_graphoutput) = 2 * (ge_balance_positive_add_fixed_graphoutputimaginary) /\ (ge_balance_negative_add_fixed_graphoutputimaginary) = 0) \/ exists ge_signed_half_add_fixed_graphoutputimaginarydecode. (((ge_representation_imaginary_code_add_fixed_graphoutput) = 2 * ge_signed_half_add_fixed_graphoutputimaginarydecode + 1 /\ (ge_balance_positive_add_fixed_graphoutputimaginary) = 0) /\ (ge_balance_negative_add_fixed_graphoutputimaginary) = S ge_signed_half_add_fixed_graphoutputimaginarydecode))) /\ ((((ge_first_ip_add_fixed_graph) + (ge_second_ip_add_fixed_graph))) + ge_balance_negative_add_fixed_graphoutputimaginary = (((ge_first_in_add_fixed_graph) + (ge_second_in_add_fixed_graph))) + ge_balance_positive_add_fixed_graphoutputimaginary))))))))) -> (exists ge_representation_real_code_add_fixed_output ge_representation_imaginary_code_add_fixed_output. (((cc) = ((ge_representation_real_code_add_fixed_output) + (ge_representation_imaginary_code_add_fixed_output)) * S ((ge_representation_real_code_add_fixed_output) + (ge_representation_imaginary_code_add_fixed_output)) + ((ge_representation_imaginary_code_add_fixed_output) + (ge_representation_imaginary_code_add_fixed_output))) /\ ((exists ge_balance_positive_add_fixed_outputreal ge_balance_negative_add_fixed_outputreal. (((((ge_representation_real_code_add_fixed_output) = 2 * (ge_balance_positive_add_fixed_outputreal) /\ (ge_balance_negative_add_fixed_outputreal) = 0) \/ exists ge_signed_half_add_fixed_outputrealdecode. (((ge_representation_real_code_add_fixed_output) = 2 * ge_signed_half_add_fixed_outputrealdecode + 1 /\ (ge_balance_positive_add_fixed_outputreal) = 0) /\ (ge_balance_negative_add_fixed_outputreal) = S ge_signed_half_add_fixed_outputrealdecode))) /\ ((((a) + (e))) + ge_balance_negative_add_fixed_outputreal = (((b) + (f))) + ge_balance_positive_add_fixed_outputreal))) /\ (exists ge_balance_positive_add_fixed_outputimaginary ge_balance_negative_add_fixed_outputimaginary. (((((ge_representation_imaginary_code_add_fixed_output) = 2 * (ge_balance_positive_add_fixed_outputimaginary) /\ (ge_balance_negative_add_fixed_outputimaginary) = 0) \/ exists ge_signed_half_add_fixed_outputimaginarydecode. (((ge_representation_imaginary_code_add_fixed_output) = 2 * ge_signed_half_add_fixed_outputimaginarydecode + 1 /\ (ge_balance_positive_add_fixed_outputimaginary) = 0) /\ (ge_balance_negative_add_fixed_outputimaginary) = S ge_signed_half_add_fixed_outputimaginarydecode))) /\ ((((c) + (g))) + ge_balance_negative_add_fixed_outputimaginary = (((d) + (h))) + ge_balance_positive_add_fixed_outputimaginary))))))Constructive proof overview
Generated structural guide
The canonical Gaussian add graph agrees with actual arithmetic on every chosen integer representative.
The unchanged tactic script uses 3 declared prerequisites and contains 76 exact native proof lines.
Alpha v34 checked-use · first admitted v28 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
GI0041 gaussian_representation_integer_transport GI0052 gaussian_sum_integer_congruence GI0042 gaussian_representation_equalDirect 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 (3)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–14
03Separate the logical casesL15–24
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L15
cases hoperation - L16
cases hoperation_witness - L17
cases hoperation_witness_witness - L18
cases hoperation_witness_witness_witness - L19
cases hoperation_witness_witness_witness_witness - L20
cases hoperation_witness_witness_witness_witness_witness - L21
cases hoperation_witness_witness_witness_witness_witness_witness - L22
cases hoperation_witness_witness_witness_witness_witness_witness_witness - L23
cases hoperation_witness_witness_witness_witness_witness_witness_witness_witness - L24
cases hoperation_witness_witness_witness_witness_witness_witness_witness_witness_right
04Use earlier factsL25–34
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L25
specialize gaussian_representation_integer_transport cc - L26
specialize gaussian_representation_integer_transport ((x) + (x4)) - L27
specialize gaussian_representation_integer_transport ((x1) + (x5)) - L28
specialize gaussian_representation_integer_transport ((x2) + (x6)) - L29
specialize gaussian_representation_integer_transport ((x3) + (x7)) - L30
specialize gaussian_representation_integer_transport ((a) + (e)) - L31
specialize gaussian_representation_integer_transport ((b) + (f)) - L32
specialize gaussian_representation_integer_transport ((c) + (g)) - L33
specialize gaussian_representation_integer_transport ((d) + (h)) - L34
apply gaussian_representation_integer_transport
05Use earlier factsL35–44
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L35
specialize gaussian_sum_integer_congruence x - L36
specialize gaussian_sum_integer_congruence x1 - L37
specialize gaussian_sum_integer_congruence x2 - L38
specialize gaussian_sum_integer_congruence x3 - L39
specialize gaussian_sum_integer_congruence x4 - L40
specialize gaussian_sum_integer_congruence x5 - L41
specialize gaussian_sum_integer_congruence x6 - L42
specialize gaussian_sum_integer_congruence x7 - L43
specialize gaussian_sum_integer_congruence a - L44
specialize gaussian_sum_integer_congruence b
06Use earlier factsL45–54
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L45
specialize gaussian_sum_integer_congruence c - L46
specialize gaussian_sum_integer_congruence d - L47
specialize gaussian_sum_integer_congruence e - L48
specialize gaussian_sum_integer_congruence f - L49
specialize gaussian_sum_integer_congruence g - L50
specialize gaussian_sum_integer_congruence h - L51
apply gaussian_sum_integer_congruence - L52
specialize gaussian_representation_equal ac - L53
specialize gaussian_representation_equal x - L54
specialize gaussian_representation_equal x1
07Use earlier factsL55–64
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L55
specialize gaussian_representation_equal x2 - L56
specialize gaussian_representation_equal x3 - L57
specialize gaussian_representation_equal a - L58
specialize gaussian_representation_equal b - L59
specialize gaussian_representation_equal c - L60
specialize gaussian_representation_equal d - L61
apply gaussian_representation_equal - L62
exact hoperation_witness_witness_witness_witness_witness_witness_witness_witness_left - L63
exact hfirst - L64
specialize gaussian_representation_equal bc
08Use earlier factsL65–74
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L65
specialize gaussian_representation_equal x4 - L66
specialize gaussian_representation_equal x5 - L67
specialize gaussian_representation_equal x6 - L68
specialize gaussian_representation_equal x7 - L69
specialize gaussian_representation_equal e - L70
specialize gaussian_representation_equal f - L71
specialize gaussian_representation_equal g - L72
specialize gaussian_representation_equal h - L73
apply gaussian_representation_equal - L74
exact hoperation_witness_witness_witness_witness_witness_witness_witness_witness_right_left
Original exact command ledger · 76 lines
- 0001
intro ac - 0002
intro bc - 0003
intro cc - 0004
intro a - 0005
intro b - 0006
intro c - 0007
intro d - 0008
intro e - 0009
intro f - 0010
intro g - 0011
intro h - 0012
intro hfirst - 0013
intro hsecond - 0014
intro hoperation - 0015
cases hoperation - 0016
cases hoperation_witness - 0017
cases hoperation_witness_witness - 0018
cases hoperation_witness_witness_witness - 0019
cases hoperation_witness_witness_witness_witness - 0020
cases hoperation_witness_witness_witness_witness_witness - 0021
cases hoperation_witness_witness_witness_witness_witness_witness - 0022
cases hoperation_witness_witness_witness_witness_witness_witness_witness - 0023
cases hoperation_witness_witness_witness_witness_witness_witness_witness_witness - 0024
cases hoperation_witness_witness_witness_witness_witness_witness_witness_witness_right - 0025
specialize gaussian_representation_integer_transport cc - 0026
specialize gaussian_representation_integer_transport ((x) + (x4)) - 0027
specialize gaussian_representation_integer_transport ((x1) + (x5)) - 0028
specialize gaussian_representation_integer_transport ((x2) + (x6)) - 0029
specialize gaussian_representation_integer_transport ((x3) + (x7)) - 0030
specialize gaussian_representation_integer_transport ((a) + (e)) - 0031
specialize gaussian_representation_integer_transport ((b) + (f)) - 0032
specialize gaussian_representation_integer_transport ((c) + (g)) - 0033
specialize gaussian_representation_integer_transport ((d) + (h)) - 0034
apply gaussian_representation_integer_transport - 0035
specialize gaussian_sum_integer_congruence x - 0036
specialize gaussian_sum_integer_congruence x1 - 0037
specialize gaussian_sum_integer_congruence x2 - 0038
specialize gaussian_sum_integer_congruence x3 - 0039
specialize gaussian_sum_integer_congruence x4 - 0040
specialize gaussian_sum_integer_congruence x5 - 0041
specialize gaussian_sum_integer_congruence x6 - 0042
specialize gaussian_sum_integer_congruence x7 - 0043
specialize gaussian_sum_integer_congruence a - 0044
specialize gaussian_sum_integer_congruence b - 0045
specialize gaussian_sum_integer_congruence c - 0046
specialize gaussian_sum_integer_congruence d - 0047
specialize gaussian_sum_integer_congruence e - 0048
specialize gaussian_sum_integer_congruence f - 0049
specialize gaussian_sum_integer_congruence g - 0050
specialize gaussian_sum_integer_congruence h - 0051
apply gaussian_sum_integer_congruence - 0052
specialize gaussian_representation_equal ac - 0053
specialize gaussian_representation_equal x - 0054
specialize gaussian_representation_equal x1 - 0055
specialize gaussian_representation_equal x2 - 0056
specialize gaussian_representation_equal x3 - 0057
specialize gaussian_representation_equal a - 0058
specialize gaussian_representation_equal b - 0059
specialize gaussian_representation_equal c - 0060
specialize gaussian_representation_equal d - 0061
apply gaussian_representation_equal - 0062
exact hoperation_witness_witness_witness_witness_witness_witness_witness_witness_left - 0063
exact hfirst - 0064
specialize gaussian_representation_equal bc - 0065
specialize gaussian_representation_equal x4 - 0066
specialize gaussian_representation_equal x5 - 0067
specialize gaussian_representation_equal x6 - 0068
specialize gaussian_representation_equal x7 - 0069
specialize gaussian_representation_equal e - 0070
specialize gaussian_representation_equal f - 0071
specialize gaussian_representation_equal g - 0072
specialize gaussian_representation_equal h - 0073
apply gaussian_representation_equal - 0074
exact hoperation_witness_witness_witness_witness_witness_witness_witness_witness_right_left - 0075
exact hsecond - 0076
exact hoperation_witness_witness_witness_witness_witness_witness_witness_witness_right_right