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. ∀ e. ∀ f. ¬N = 0 → Le(e + e,N) → Le(f + f,N) → Lt(e · e + f · f,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 43 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
02Use earlier factsL7–8
03Separate the logical casesL9–9
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L9
cases le_total
04Use earlier factsL10–19
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L10
specialize lt_of_le_of_lt e * e + f * f - L11
specialize lt_of_le_of_lt f * f + f * f - L12
specialize lt_of_le_of_lt N * N - L13
apply lt_of_le_of_lt - L14
specialize add_le_add_right e * e - L15
specialize add_le_add_right f * f - L16
specialize add_le_add_right f * f - L17
apply add_le_add_right - L18
specialize natural_square_monotone_expanded e - L19
specialize natural_square_monotone_expanded f
05Use earlier factsL20–29
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L20
apply natural_square_monotone_expanded - L21
exact le_total_left - L22
specialize gaussian_half_double_square_strict N - L23
specialize gaussian_half_double_square_strict f - L24
apply gaussian_half_double_square_strict - L25
exact hN - L26
exact hf - L27
specialize lt_of_le_of_lt e * e + f * f - L28
specialize lt_of_le_of_lt e * e + e * e - L29
specialize lt_of_le_of_lt N * N
06Use earlier factsL30–39
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L30
apply lt_of_le_of_lt - L31
specialize add_le_add_left f * f - L32
specialize add_le_add_left e * e - L33
specialize add_le_add_left e * e - L34
apply add_le_add_left - L35
specialize natural_square_monotone_expanded f - L36
specialize natural_square_monotone_expanded e - L37
apply natural_square_monotone_expanded - L38
exact le_total_right - L39
specialize gaussian_half_double_square_strict N
Original defined command ledger · 43 lines
- 0001
intro N - 0002
intro e - 0003
intro f - 0004
intro hN - 0005
intro he - 0006
intro hf - 0007
specialize le_total e - 0008
specialize le_total f - 0009
cases le_total - 0010
specialize lt_of_le_of_lt e * e + f * f - 0011
specialize lt_of_le_of_lt f * f + f * f - 0012
specialize lt_of_le_of_lt N * N - 0013
apply lt_of_le_of_lt - 0014
specialize add_le_add_right e * e - 0015
specialize add_le_add_right f * f - 0016
specialize add_le_add_right f * f - 0017
apply add_le_add_right - 0018
specialize natural_square_monotone_expanded e - 0019
specialize natural_square_monotone_expanded f - 0020
apply natural_square_monotone_expanded - 0021
exact le_total_left - 0022
specialize gaussian_half_double_square_strict N - 0023
specialize gaussian_half_double_square_strict f - 0024
apply gaussian_half_double_square_strict - 0025
exact hN - 0026
exact hf - 0027
specialize lt_of_le_of_lt e * e + f * f - 0028
specialize lt_of_le_of_lt e * e + e * e - 0029
specialize lt_of_le_of_lt N * N - 0030
apply lt_of_le_of_lt - 0031
specialize add_le_add_left f * f - 0032
specialize add_le_add_left e * e - 0033
specialize add_le_add_left e * e - 0034
apply add_le_add_left - 0035
specialize natural_square_monotone_expanded f - 0036
specialize natural_square_monotone_expanded e - 0037
apply natural_square_monotone_expanded - 0038
exact le_total_right - 0039
specialize gaussian_half_double_square_strict N - 0040
specialize gaussian_half_double_square_strict e - 0041
apply gaussian_half_double_square_strict - 0042
exact hN - 0043
exact he