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.
The natural-code carrier consists of genuine pairs of the existing signed integers; no new primitive arithmetic is trusted. The theorem constructs quotient, remainder, and actual norm witnesses. Gaussian gcd, unique factorization, and prime classification are separate targets.
Exact theorem in conservative defined notation
∀ z. ∀ a. ∀ b. ∀ c. ∀ d. ZPairRep(z,a,b,c,d) → (z = 0 → a = b ∧ c = d) ∧ (a = b ∧ c = d → z = 0)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 50 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay script.
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 defined 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]