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. (exists ge_representation_real_code_representation_zero ge_representation_imaginary_code_representation_zero. (((z) = ((ge_representation_real_code_representation_zero) + (ge_representation_imaginary_code_representation_zero)) * S ((ge_representation_real_code_representation_zero) + (ge_representation_imaginary_code_representation_zero)) + ((ge_representation_imaginary_code_representation_zero) + (ge_representation_imaginary_code_representation_zero))) /\ ((exists ge_balance_positive_representation_zeroreal ge_balance_negative_representation_zeroreal. (((((ge_representation_real_code_representation_zero) = 2 * (ge_balance_positive_representation_zeroreal) /\ (ge_balance_negative_representation_zeroreal) = 0) \/ exists ge_signed_half_representation_zerorealdecode. (((ge_representation_real_code_representation_zero) = 2 * ge_signed_half_representation_zerorealdecode + 1 /\ (ge_balance_positive_representation_zeroreal) = 0) /\ (ge_balance_negative_representation_zeroreal) = S ge_signed_half_representation_zerorealdecode))) /\ ((a) + ge_balance_negative_representation_zeroreal = (b) + ge_balance_positive_representation_zeroreal))) /\ (exists ge_balance_positive_representation_zeroimaginary ge_balance_negative_representation_zeroimaginary. (((((ge_representation_imaginary_code_representation_zero) = 2 * (ge_balance_positive_representation_zeroimaginary) /\ (ge_balance_negative_representation_zeroimaginary) = 0) \/ exists ge_signed_half_representation_zeroimaginarydecode. (((ge_representation_imaginary_code_representation_zero) = 2 * ge_signed_half_representation_zeroimaginarydecode + 1 /\ (ge_balance_positive_representation_zeroimaginary) = 0) /\ (ge_balance_negative_representation_zeroimaginary) = S ge_signed_half_representation_zeroimaginarydecode))) /\ ((c) + ge_balance_negative_representation_zeroimaginary = (d) + ge_balance_positive_representation_zeroimaginary)))))) -> ((z = 0 -> (a = b /\ c = d)) /\ ((a = b /\ c = d) -> z = 0))Constructive proof overview
Generated structural guide
A canonical signed-coordinate pair is zero exactly when both represented integer differences vanish, even for overlapping raw representatives.
The unchanged tactic script uses 4 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
signed_balance_zero_iff Alpha theorem; checked-use authorized GI0046 gaussian_pair_zero_codes mul_zero_left Stable theorem; checked-use authorized zero_add Stable 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–6
02Separate the logical casesL7–10
03Establish hrealL11–16
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed balance zero iff.
04Separate the logical casesL17–17
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L17
cases hreal
05Establish himaginaryL18–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed balance zero iff.
06Separate the logical casesL24–25
07Fix variables and assumptionsL26–26
Work with arbitrary variables or the premises of the current implication.
- L26
intro hzero
08Establish hcodesL27–33
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian pair zero codes.
09Separate the logical casesL34–35
10Use earlier factsL36–39
11Fix variables and assumptionsL40–40
Work with arbitrary variables or the premises of the current implication.
- L40
intro hequal
12Separate the logical casesL41–41
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L41
cases hequal
13Establish hrealzeroL42–44
14Establish himaginaryzeroL45–50
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply himaginary right.
Original exact command ledger · 50 lines
- 0001
intro z - 0002
intro a - 0003
intro b - 0004
intro c - 0005
intro d - 0006
intro hrep - 0007
cases hrep - 0008
cases hrep_witness - 0009
cases hrep_witness_witness - 0010
cases hrep_witness_witness_right - 0011
have hreal : (x = 0 -> a = b) /\ (a = b -> x = 0) - 0012
specialize signed_balance_zero_iff x - 0013
specialize signed_balance_zero_iff a - 0014
specialize signed_balance_zero_iff b - 0015
apply signed_balance_zero_iff - 0016
exact hrep_witness_witness_right_left - 0017
cases hreal - 0018
have himaginary : (x1 = 0 -> c = d) /\ (c = d -> x1 = 0) - 0019
specialize signed_balance_zero_iff x1 - 0020
specialize signed_balance_zero_iff c - 0021
specialize signed_balance_zero_iff d - 0022
apply signed_balance_zero_iff - 0023
exact hrep_witness_witness_right_right - 0024
cases himaginary - 0025
split - 0026
intro hzero - 0027
have hcodes : x = 0 /\ x1 = 0 - 0028
specialize gaussian_pair_zero_codes z - 0029
specialize gaussian_pair_zero_codes x - 0030
specialize gaussian_pair_zero_codes x1 - 0031
apply gaussian_pair_zero_codes - 0032
exact hrep_witness_witness_left - 0033
exact hzero - 0034
cases hcodes - 0035
split - 0036
apply hreal_left - 0037
exact hcodes_left - 0038
apply himaginary_left - 0039
exact hcodes_right - 0040
intro hequal - 0041
cases hequal - 0042
have hrealzero : x = 0 - 0043
apply hreal_right - 0044
exact hequal_left - 0045
have himaginaryzero : x1 = 0 - 0046
apply himaginary_right - 0047
exact hequal_right - 0048
trans ((x) + (x1)) * S ((x) + (x1)) + ((x1) + (x1)) - 0049
exact hrep_witness_witness_left - 0050
simp [hrealzero, himaginaryzero, mul_zero_left, zero_add]