Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
Canonical signed +1 is code 2 and -1 is code 1. The two-case unit graph does not assume an inverse or cancellation law: its actual product characterization and affine existence and uniqueness are proved. These scalar lemmas support the separately checked finite inverse criterion; full G009 remains broader.
Exact theorem in conservative defined notation
∀ r. ∀ u. ∀ e. SignedUnit(u) → ∃ x. ∃ y. SignedMul(x,u,y) ∧ SignedAdd(r,y,e)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 24 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
02Establish hyL5–8
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply dirichlet signed add solve.
- L5
have hy : ∃ y. SignedAdd(r,y,e)Definitions: SignedAdd(r,y,e)Original native command in the exact edition - L6
specialize dirichlet_signed_add_solve (r) - L7
specialize dirichlet_signed_add_solve (e) - L8
apply dirichlet_signed_add_solve
03Separate the logical casesL9–9
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L9
cases hy
04Establish hxL10–13
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed mul total.
- L10
have hx : ∃ a. SignedMul(x,u,a)Definitions: SignedMul(x,u,a)Original native command in the exact edition - L11
specialize signed_mul_total (x) - L12
specialize signed_mul_total (u) - L13
apply signed_mul_total
05Separate the logical casesL14–14
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L14
cases hx
06Construct an explicit witnessL15–16
07Separate the logical casesL17–17
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L17
split
08Use earlier factsL18–24
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 24 lines
- 0001
intro r - 0002
intro u - 0003
intro e - 0004
intro hu - 0005
have hy : ∃ y. SignedAdd(r,y,e) - 0006
specialize dirichlet_signed_add_solve (r) - 0007
specialize dirichlet_signed_add_solve (e) - 0008
apply dirichlet_signed_add_solve - 0009
cases hy - 0010
have hx : ∃ a. SignedMul(x,u,a) - 0011
specialize signed_mul_total (x) - 0012
specialize signed_mul_total (u) - 0013
apply signed_mul_total - 0014
cases hx - 0015
exists x1 - 0016
exists x - 0017
split - 0018
specialize dirichlet_signed_unit_multiply_involution (u) - 0019
specialize dirichlet_signed_unit_multiply_involution (x) - 0020
specialize dirichlet_signed_unit_multiply_involution (x1) - 0021
apply dirichlet_signed_unit_multiply_involution - 0022
exact hu - 0023
exact hx_witness - 0024
exact hy_witness