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 a b c d e f g h. (exists ge_representation_real_code_same_gaussian_code_first ge_representation_imaginary_code_same_gaussian_code_first. (((z) = ((ge_representation_real_code_same_gaussian_code_first) + (ge_representation_imaginary_code_same_gaussian_code_first)) * S ((ge_representation_real_code_same_gaussian_code_first) + (ge_representation_imaginary_code_same_gaussian_code_first)) + ((ge_representation_imaginary_code_same_gaussian_code_first) + (ge_representation_imaginary_code_same_gaussian_code_first))) /\ ((exists ge_balance_positive_same_gaussian_code_firstreal ge_balance_negative_same_gaussian_code_firstreal. (((((ge_representation_real_code_same_gaussian_code_first) = 2 * (ge_balance_positive_same_gaussian_code_firstreal) /\ (ge_balance_negative_same_gaussian_code_firstreal) = 0) \/ exists ge_signed_half_same_gaussian_code_firstrealdecode. (((ge_representation_real_code_same_gaussian_code_first) = 2 * ge_signed_half_same_gaussian_code_firstrealdecode + 1 /\ (ge_balance_positive_same_gaussian_code_firstreal) = 0) /\ (ge_balance_negative_same_gaussian_code_firstreal) = S ge_signed_half_same_gaussian_code_firstrealdecode))) /\ ((a) + ge_balance_negative_same_gaussian_code_firstreal = (b) + ge_balance_positive_same_gaussian_code_firstreal))) /\ (exists ge_balance_positive_same_gaussian_code_firstimaginary ge_balance_negative_same_gaussian_code_firstimaginary. (((((ge_representation_imaginary_code_same_gaussian_code_first) = 2 * (ge_balance_positive_same_gaussian_code_firstimaginary) /\ (ge_balance_negative_same_gaussian_code_firstimaginary) = 0) \/ exists ge_signed_half_same_gaussian_code_firstimaginarydecode. (((ge_representation_imaginary_code_same_gaussian_code_first) = 2 * ge_signed_half_same_gaussian_code_firstimaginarydecode + 1 /\ (ge_balance_positive_same_gaussian_code_firstimaginary) = 0) /\ (ge_balance_negative_same_gaussian_code_firstimaginary) = S ge_signed_half_same_gaussian_code_firstimaginarydecode))) /\ ((c) + ge_balance_negative_same_gaussian_code_firstimaginary = (d) + ge_balance_positive_same_gaussian_code_firstimaginary)))))) -> (exists ge_representation_real_code_same_gaussian_code_second ge_representation_imaginary_code_same_gaussian_code_second. (((z) = ((ge_representation_real_code_same_gaussian_code_second) + (ge_representation_imaginary_code_same_gaussian_code_second)) * S ((ge_representation_real_code_same_gaussian_code_second) + (ge_representation_imaginary_code_same_gaussian_code_second)) + ((ge_representation_imaginary_code_same_gaussian_code_second) + (ge_representation_imaginary_code_same_gaussian_code_second))) /\ ((exists ge_balance_positive_same_gaussian_code_secondreal ge_balance_negative_same_gaussian_code_secondreal. (((((ge_representation_real_code_same_gaussian_code_second) = 2 * (ge_balance_positive_same_gaussian_code_secondreal) /\ (ge_balance_negative_same_gaussian_code_secondreal) = 0) \/ exists ge_signed_half_same_gaussian_code_secondrealdecode. (((ge_representation_real_code_same_gaussian_code_second) = 2 * ge_signed_half_same_gaussian_code_secondrealdecode + 1 /\ (ge_balance_positive_same_gaussian_code_secondreal) = 0) /\ (ge_balance_negative_same_gaussian_code_secondreal) = S ge_signed_half_same_gaussian_code_secondrealdecode))) /\ ((e) + ge_balance_negative_same_gaussian_code_secondreal = (f) + ge_balance_positive_same_gaussian_code_secondreal))) /\ (exists ge_balance_positive_same_gaussian_code_secondimaginary ge_balance_negative_same_gaussian_code_secondimaginary. (((((ge_representation_imaginary_code_same_gaussian_code_second) = 2 * (ge_balance_positive_same_gaussian_code_secondimaginary) /\ (ge_balance_negative_same_gaussian_code_secondimaginary) = 0) \/ exists ge_signed_half_same_gaussian_code_secondimaginarydecode. (((ge_representation_imaginary_code_same_gaussian_code_second) = 2 * ge_signed_half_same_gaussian_code_secondimaginarydecode + 1 /\ (ge_balance_positive_same_gaussian_code_secondimaginary) = 0) /\ (ge_balance_negative_same_gaussian_code_secondimaginary) = S ge_signed_half_same_gaussian_code_secondimaginarydecode))) /\ ((g) + ge_balance_negative_same_gaussian_code_secondimaginary = (h) + ge_balance_positive_same_gaussian_code_secondimaginary)))))) -> (((((a) + (f)) = ((e) + (b))) /\ (((c) + (h)) = ((g) + (d)))))Constructive proof overview
Generated structural guide
Any two signed representatives of the same canonical Gaussian natural code denote the same Gaussian integer.
The unchanged tactic script uses 2 declared prerequisites and contains 50 exact native proof lines.
Alpha v34 checked-use · first admitted v28 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
pair_code_injective Alpha theorem; checked-use authorized GI003C gaussian_signed_balance_same_codeDirect 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–10
02Fix variables and assumptionsL11–11
Work with arbitrary variables or the premises of the current implication.
- L11
intro hsecond
03Separate the logical casesL12–19
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
04Establish hcodesL20–28
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pair code injective.
- L20
have hcodes : x = x2 /\ x1 = x3 - L21
specialize pair_code_injective z - L22
specialize pair_code_injective x - L23
specialize pair_code_injective x1 - L24
specialize pair_code_injective x2 - L25
specialize pair_code_injective x3 - L26
apply pair_code_injective - L27
exact hfirst_witness_witness_left - L28
exact hsecond_witness_witness_left
05Separate the logical casesL29–29
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L29
cases hcodes
06Calculate and transport equalitiesL30–33
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
07Separate the logical casesL34–34
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L34
split
08Use earlier factsL35–44
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L35
specialize gaussian_signed_balance_same_code x2 - L36
specialize gaussian_signed_balance_same_code a - L37
specialize gaussian_signed_balance_same_code b - L38
specialize gaussian_signed_balance_same_code e - L39
specialize gaussian_signed_balance_same_code f - L40
apply gaussian_signed_balance_same_code - L41
exact hfirst_witness_witness_right_left - L42
exact hsecond_witness_witness_right_left - L43
specialize gaussian_signed_balance_same_code x3 - L44
specialize gaussian_signed_balance_same_code c
09Use earlier factsL45–50
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original exact command ledger · 50 lines
- 0001
intro z - 0002
intro a - 0003
intro b - 0004
intro c - 0005
intro d - 0006
intro e - 0007
intro f - 0008
intro g - 0009
intro h - 0010
intro hfirst - 0011
intro hsecond - 0012
cases hfirst - 0013
cases hfirst_witness - 0014
cases hfirst_witness_witness - 0015
cases hfirst_witness_witness_right - 0016
cases hsecond - 0017
cases hsecond_witness - 0018
cases hsecond_witness_witness - 0019
cases hsecond_witness_witness_right - 0020
have hcodes : x = x2 /\ x1 = x3 - 0021
specialize pair_code_injective z - 0022
specialize pair_code_injective x - 0023
specialize pair_code_injective x1 - 0024
specialize pair_code_injective x2 - 0025
specialize pair_code_injective x3 - 0026
apply pair_code_injective - 0027
exact hfirst_witness_witness_left - 0028
exact hsecond_witness_witness_left - 0029
cases hcodes - 0030
rewrite hcodes_left at hfirst_witness_witness_right_left - 0031
rewrite hcodes_left at hfirst_witness_witness_right_left - 0032
rewrite hcodes_right at hfirst_witness_witness_right_right - 0033
rewrite hcodes_right at hfirst_witness_witness_right_right - 0034
split - 0035
specialize gaussian_signed_balance_same_code x2 - 0036
specialize gaussian_signed_balance_same_code a - 0037
specialize gaussian_signed_balance_same_code b - 0038
specialize gaussian_signed_balance_same_code e - 0039
specialize gaussian_signed_balance_same_code f - 0040
apply gaussian_signed_balance_same_code - 0041
exact hfirst_witness_witness_right_left - 0042
exact hsecond_witness_witness_right_left - 0043
specialize gaussian_signed_balance_same_code x3 - 0044
specialize gaussian_signed_balance_same_code c - 0045
specialize gaussian_signed_balance_same_code d - 0046
specialize gaussian_signed_balance_same_code g - 0047
specialize gaussian_signed_balance_same_code h - 0048
apply gaussian_signed_balance_same_code - 0049
exact hfirst_witness_witness_right_right - 0050
exact hsecond_witness_witness_right_right