Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
Each statement retains its explicit modulus, coprimality and divisibility assumptions. These twelve arithmetic laws do not assert all order, primitive-root, Carmichael, exponential or simultaneous-polynomial congruence goals are finished.
Exact theorem in conservative defined notation
∀ a. ∀ b. ∀ x. ∀ y. ¬a = 0 → ModEq(0,a · x,b) → ModEq(0,a · y,b) → x = y
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 32 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.
01Fix variables and assumptionsL1–7
02Establish he_xL8–11
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mod eq zero iff eq.
- L8
have he_x : (ModEq(0,a · x,b) → a · x = b) ∧ (a · x = b → ModEq(0,a · x,b))Definitions: ModEq(0,a · x,b)Original native command in the exact edition - L9
specialize mod_eq_zero_iff_eq (a*x) - L10
specialize mod_eq_zero_iff_eq (b) - L11
apply mod_eq_zero_iff_eq
03Separate the logical casesL12–12
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L12
cases he_x
04Establish hxeqL13–15
05Establish he_yL16–19
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mod eq zero iff eq.
- L16
have he_y : (ModEq(0,a · y,b) → a · y = b) ∧ (a · y = b → ModEq(0,a · y,b))Definitions: ModEq(0,a · y,b)Original native command in the exact edition - L17
specialize mod_eq_zero_iff_eq (a*y) - L18
specialize mod_eq_zero_iff_eq (b) - L19
apply mod_eq_zero_iff_eq
06Separate the logical casesL20–20
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L20
cases he_y
07Establish hyeqL21–30
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply he y left.
08Calculate and transport equalitiesL31–31
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L31
symm
09Use earlier factsL32–32
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L32
exact hyeq
Original defined command ledger · 32 lines
- 0001
intro a - 0002
intro b - 0003
intro x - 0004
intro y - 0005
intro ha - 0006
intro hx - 0007
intro hy - 0008
have he_x : (ModEq(0,a · x,b) → a · x = b) ∧ (a · x = b → ModEq(0,a · x,b)) - 0009
specialize mod_eq_zero_iff_eq (a*x) - 0010
specialize mod_eq_zero_iff_eq (b) - 0011
apply mod_eq_zero_iff_eq - 0012
cases he_x - 0013
have hxeq : a*x=b - 0014
apply he_x_left - 0015
exact hx - 0016
have he_y : (ModEq(0,a · y,b) → a · y = b) ∧ (a · y = b → ModEq(0,a · y,b)) - 0017
specialize mod_eq_zero_iff_eq (a*y) - 0018
specialize mod_eq_zero_iff_eq (b) - 0019
apply mod_eq_zero_iff_eq - 0020
cases he_y - 0021
have hyeq : a*y=b - 0022
apply he_y_left - 0023
exact hy - 0024
specialize mul_left_cancel_nonzero (a) - 0025
specialize mul_left_cancel_nonzero (x) - 0026
specialize mul_left_cancel_nonzero (y) - 0027
apply mul_left_cancel_nonzero - 0028
exact ha - 0029
trans b - 0030
exact hxeq - 0031
symm - 0032
exact hyeq