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
∀ N. ∀ h. ¬N = 0 → Le(h + h,N) → Lt(h · h + h · h,N · N)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 40 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 (2)
01Fix variables and assumptionsL1–4
02Use earlier factsL5–5
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L5
specialize zero_or_succ h
03Separate the logical casesL6–6
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L6
cases zero_or_succ
04Establish hpositiveL7–16
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian nonzero natural positive.
05Establish hsumzeroL17–20
06Separate the logical casesL21–21
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L21
cases zero_or_succ_right
07Establish hhL22–31
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply succ ne zero.
08Use earlier factsL32–40
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L32
specialize lt_of_lt_of_le N * N - L33
apply lt_of_lt_of_le - L34
specialize gaussian_double_square_strict h - L35
apply gaussian_double_square_strict - L36
exact hh - L37
specialize natural_square_monotone_expanded h + h - L38
specialize natural_square_monotone_expanded N - L39
apply natural_square_monotone_expanded - L40
exact hbound
Original defined command ledger · 40 lines
- 0001
intro N - 0002
intro h - 0003
intro hN - 0004
intro hbound - 0005
specialize zero_or_succ h - 0006
cases zero_or_succ - 0007
have hpositive : Lt(0,N · N) - 0008
specialize gaussian_nonzero_natural_positive N * N - 0009
apply gaussian_nonzero_natural_positive - 0010
intro hproductzero - 0011
specialize mul_ne_zero N - 0012
specialize mul_ne_zero N - 0013
apply mul_ne_zero - 0014
exact hN - 0015
exact hN - 0016
exact hproductzero - 0017
have hsumzero : h * h + h * h = 0 - 0018
simp [zero_or_succ_left, mul_zero_left, zero_add] - 0019
rewrite hsumzero - 0020
exact hpositive - 0021
cases zero_or_succ_right - 0022
have hh : ~(h = 0) - 0023
intro hzero - 0024
specialize succ_ne_zero x - 0025
apply succ_ne_zero - 0026
trans h - 0027
symm - 0028
exact zero_or_succ_right_witness - 0029
exact hzero - 0030
specialize lt_of_lt_of_le h * h + h * h - 0031
specialize lt_of_lt_of_le (h + h) * (h + h) - 0032
specialize lt_of_lt_of_le N * N - 0033
apply lt_of_lt_of_le - 0034
specialize gaussian_double_square_strict h - 0035
apply gaussian_double_square_strict - 0036
exact hh - 0037
specialize natural_square_monotone_expanded h + h - 0038
specialize natural_square_monotone_expanded N - 0039
apply natural_square_monotone_expanded - 0040
exact hbound