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.
A floor quotient in the fundamental parallelogram already gives the required strict norm decrease; global nearest-point optimality is not asserted. The shared carrier is identical to the Gaussian carrier, but the multiplication law and norm are different. Eisenstein gcd, factorization, and prime classification remain separate targets.
Exact theorem in conservative defined notation
∀ a. ∀ b. ∀ m. ∀ n. Lt(a,m) → Lt(b,m) → a · a + b · b = a · b + n → Lt(n,m · m)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 42 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–7
02Use earlier factsL8–9
03Separate the logical casesL10–10
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L10
cases le_total
04Use earlier factsL11–20
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L11
specialize lt_of_le_of_lt n - L12
specialize lt_of_le_of_lt (b * b) - L13
specialize lt_of_le_of_lt (m * m) - L14
apply lt_of_le_of_lt - L15
specialize eisenstein_natural_norm_le_larger_square a - L16
specialize eisenstein_natural_norm_le_larger_square b - L17
specialize eisenstein_natural_norm_le_larger_square n - L18
apply eisenstein_natural_norm_le_larger_square - L19
exact le_total_left - L20
exact hnorm
05Use earlier factsL21–30
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L21
specialize square_lt_strict b - L22
specialize square_lt_strict m - L23
apply square_lt_strict - L24
exact hb - L25
specialize lt_of_le_of_lt n - L26
specialize lt_of_le_of_lt (a * a) - L27
specialize lt_of_le_of_lt (m * m) - L28
apply lt_of_le_of_lt - L29
specialize eisenstein_natural_norm_le_larger_square b - L30
specialize eisenstein_natural_norm_le_larger_square a
06Use earlier factsL31–40
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L31
specialize eisenstein_natural_norm_le_larger_square n - L32
apply eisenstein_natural_norm_le_larger_square - L33
exact le_total_right - L34
specialize eisenstein_natural_norm_symmetric a - L35
specialize eisenstein_natural_norm_symmetric b - L36
specialize eisenstein_natural_norm_symmetric n - L37
apply eisenstein_natural_norm_symmetric - L38
exact hnorm - L39
specialize square_lt_strict a - L40
specialize square_lt_strict m
Original defined command ledger · 42 lines
- 0001
intro a - 0002
intro b - 0003
intro m - 0004
intro n - 0005
intro ha - 0006
intro hb - 0007
intro hnorm - 0008
specialize le_total a - 0009
specialize le_total b - 0010
cases le_total - 0011
specialize lt_of_le_of_lt n - 0012
specialize lt_of_le_of_lt (b * b) - 0013
specialize lt_of_le_of_lt (m * m) - 0014
apply lt_of_le_of_lt - 0015
specialize eisenstein_natural_norm_le_larger_square a - 0016
specialize eisenstein_natural_norm_le_larger_square b - 0017
specialize eisenstein_natural_norm_le_larger_square n - 0018
apply eisenstein_natural_norm_le_larger_square - 0019
exact le_total_left - 0020
exact hnorm - 0021
specialize square_lt_strict b - 0022
specialize square_lt_strict m - 0023
apply square_lt_strict - 0024
exact hb - 0025
specialize lt_of_le_of_lt n - 0026
specialize lt_of_le_of_lt (a * a) - 0027
specialize lt_of_le_of_lt (m * m) - 0028
apply lt_of_le_of_lt - 0029
specialize eisenstein_natural_norm_le_larger_square b - 0030
specialize eisenstein_natural_norm_le_larger_square a - 0031
specialize eisenstein_natural_norm_le_larger_square n - 0032
apply eisenstein_natural_norm_le_larger_square - 0033
exact le_total_right - 0034
specialize eisenstein_natural_norm_symmetric a - 0035
specialize eisenstein_natural_norm_symmetric b - 0036
specialize eisenstein_natural_norm_symmetric n - 0037
apply eisenstein_natural_norm_symmetric - 0038
exact hnorm - 0039
specialize square_lt_strict a - 0040
specialize square_lt_strict m - 0041
apply square_lt_strict - 0042
exact ha