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
∀ M. ∀ g. ∀ r. ∀ t. Lt(r,M) → (Lt(r + M · t,g · M) → Lt(t,g)) ∧ (Lt(t,g) → Lt(r + M · t,g · M))
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 62 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–5
02Separate the logical casesL6–6
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L6
split
03Fix variables and assumptionsL7–7
Work with arbitrary variables or the premises of the current implication.
- L7
intro hb
04Establish hoL8–11
05Separate the logical casesL12–13
06Use earlier factsL14–23
Instantiate or apply named facts and discharge the corresponding proof obligations.
07Use earlier factsL24–26
08Establish heL27–34
09Establish hsL35–42
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite add lt of lt of le.
- L35
have hs : Lt(r + M · t,M + M · t)Definitions: Lt(r + M · t,M + M · t)Original native command in the exact edition - L36
specialize finite_add_lt_of_lt_of_le (r) - L37
specialize finite_add_lt_of_lt_of_le (M) - L38
specialize finite_add_lt_of_lt_of_le (M*t) - L39
specialize finite_add_lt_of_lt_of_le (M*t) - L40
apply finite_add_lt_of_lt_of_le - L41
exact hr - L42
apply le_refl
10Establish heL43–52
11Use earlier factsL53–56
12Calculate and transport equalitiesL57–57
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L57
rewrite he
Original defined command ledger · 62 lines
- 0001
intro M - 0002
intro g - 0003
intro r - 0004
intro t - 0005
intro hr - 0006
split - 0007
intro hb - 0008
have ho : Le(g,t) ∨ Lt(t,g) - 0009
specialize le_or_lt (g) - 0010
specialize le_or_lt (t) - 0011
apply le_or_lt - 0012
cases ho - 0013
exfalso - 0014
specialize lt_not_le (r+M*t) - 0015
specialize lt_not_le (g*M) - 0016
apply lt_not_le - 0017
exact hb - 0018
specialize le_trans (g*M) - 0019
specialize le_trans (t*M) - 0020
specialize le_trans (r+M*t) - 0021
apply le_trans - 0022
specialize mul_le_mul_right (g) - 0023
specialize mul_le_mul_right (t) - 0024
specialize mul_le_mul_right (M) - 0025
apply mul_le_mul_right - 0026
exact ho_left - 0027
have he : t*M=M*t - 0028
apply mul_comm - 0029
rewrite he - 0030
specialize le_add_left (M*t) - 0031
specialize le_add_left (r) - 0032
apply le_add_left - 0033
exact ho_right - 0034
intro ht - 0035
have hs : Lt(r + M · t,M + M · t) - 0036
specialize finite_add_lt_of_lt_of_le (r) - 0037
specialize finite_add_lt_of_lt_of_le (M) - 0038
specialize finite_add_lt_of_lt_of_le (M*t) - 0039
specialize finite_add_lt_of_lt_of_le (M*t) - 0040
apply finite_add_lt_of_lt_of_le - 0041
exact hr - 0042
apply le_refl - 0043
have he : M+M*t=S t*M - 0044
trans M*t+M - 0045
apply add_comm - 0046
trans t*M+M - 0047
congr - 0048
apply mul_comm - 0049
refl - 0050
symm - 0051
apply mul_succ_left - 0052
specialize lt_of_lt_of_le (r+M*t) - 0053
specialize lt_of_lt_of_le (M+M*t) - 0054
specialize lt_of_lt_of_le (g*M) - 0055
apply lt_of_lt_of_le - 0056
exact hs - 0057
rewrite he - 0058
specialize mul_le_mul_right (S t) - 0059
specialize mul_le_mul_right (g) - 0060
specialize mul_le_mul_right (M) - 0061
apply mul_le_mul_right - 0062
exact ht