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. ∀ m. ∀ g. ∀ A. ∀ M. ∀ b. ¬m = 0 → IsGCD(g,a,m) → a = g · A → m = g · M → Dvd(g,b) → ∃ x. Lt(x,M) ∧ (ModEq(m,a · x,b) ∧ ((∀ y. (Lt(y,m) ∧ ModEq(m,a · y,b) → ∃ z. Lt(z,g) ∧ y = x + M · z) ∧ ((∃ z. Lt(z,g) ∧ y = x + M · z) → Lt(y,m) ∧ ModEq(m,a · y,b))) ∧ (∀ y. ∀ z. Lt(y,g) → Lt(z,g) → x + M · y = x + M · z → y = z)))
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 76 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 (3)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–11
Work with arbitrary variables or the premises of the current implication.
- L11
intro hb
03Establish hg0L12–18
04Establish hM0L19–25
05Establish hrL26–35
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply linear congruence reduced representative exists.
- L26
have hr : ∃ r. Lt(r,M) ∧ ModEq(m,a · r,b)Definitions: Lt(r,M)ModEq(m,a · r,b)Original native command in the exact edition - L27
specialize linear_congruence_reduced_representative_exists (a) - L28
specialize linear_congruence_reduced_representative_exists (m) - L29
specialize linear_congruence_reduced_representative_exists (g) - L30
specialize linear_congruence_reduced_representative_exists (A) - L31
specialize linear_congruence_reduced_representative_exists (M) - L32
specialize linear_congruence_reduced_representative_exists (b) - L33
apply linear_congruence_reduced_representative_exists - L34
exact hm0 - L35
exact hg
06Use earlier factsL36–38
07Separate the logical casesL39–40
08Construct an explicit witnessL41–41
Supply the displayed value, then prove that it has the required property.
- L41
exists x
09Separate the logical casesL42–42
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L42
split
10Use earlier factsL43–43
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L43
exact hr_witness_left
11Separate the logical casesL44–44
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L44
split
12Use earlier factsL45–45
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L45
exact hr_witness_right
13Separate the logical casesL46–46
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L46
split
14Fix variables and assumptionsL47–47
Work with arbitrary variables or the premises of the current implication.
- L47
intro y
15Use earlier factsL48–57
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L48
specialize linear_congruence_bounded_solutions_parametrized (a) - L49
specialize linear_congruence_bounded_solutions_parametrized (m) - L50
specialize linear_congruence_bounded_solutions_parametrized (g) - L51
specialize linear_congruence_bounded_solutions_parametrized (A) - L52
specialize linear_congruence_bounded_solutions_parametrized (M) - L53
specialize linear_congruence_bounded_solutions_parametrized (b) - L54
specialize linear_congruence_bounded_solutions_parametrized (x) - L55
specialize linear_congruence_bounded_solutions_parametrized (y) - L56
apply linear_congruence_bounded_solutions_parametrized - L57
exact hm0
16Use earlier factsL58–62
17Fix variables and assumptionsL63–67
18Use earlier factsL68–74
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L68
specialize linear_congruence_bounded_parameter_unique (M) - L69
specialize linear_congruence_bounded_parameter_unique (x) - L70
specialize linear_congruence_bounded_parameter_unique (x+M*t) - L71
specialize linear_congruence_bounded_parameter_unique (t) - L72
specialize linear_congruence_bounded_parameter_unique (u) - L73
apply linear_congruence_bounded_parameter_unique - L74
exact hM0
19Calculate and transport equalitiesL75–75
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L75
refl
20Use earlier factsL76–76
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L76
exact he
Original defined command ledger · 76 lines
- 0001
intro a - 0002
intro m - 0003
intro g - 0004
intro A - 0005
intro M - 0006
intro b - 0007
intro hm0 - 0008
intro hg - 0009
intro ha - 0010
intro hm - 0011
intro hb - 0012
have hg0 : ~(g=0) - 0013
intro hz - 0014
apply hm0 - 0015
trans g*M - 0016
exact hm - 0017
rewrite hz - 0018
apply mul_zero_left - 0019
have hM0 : ~(M=0) - 0020
intro hz - 0021
apply hm0 - 0022
trans g*M - 0023
exact hm - 0024
rewrite hz - 0025
simp - 0026
have hr : ∃ r. Lt(r,M) ∧ ModEq(m,a · r,b) - 0027
specialize linear_congruence_reduced_representative_exists (a) - 0028
specialize linear_congruence_reduced_representative_exists (m) - 0029
specialize linear_congruence_reduced_representative_exists (g) - 0030
specialize linear_congruence_reduced_representative_exists (A) - 0031
specialize linear_congruence_reduced_representative_exists (M) - 0032
specialize linear_congruence_reduced_representative_exists (b) - 0033
apply linear_congruence_reduced_representative_exists - 0034
exact hm0 - 0035
exact hg - 0036
exact ha - 0037
exact hm - 0038
exact hb - 0039
cases hr - 0040
cases hr_witness - 0041
exists x - 0042
split - 0043
exact hr_witness_left - 0044
split - 0045
exact hr_witness_right - 0046
split - 0047
intro y - 0048
specialize linear_congruence_bounded_solutions_parametrized (a) - 0049
specialize linear_congruence_bounded_solutions_parametrized (m) - 0050
specialize linear_congruence_bounded_solutions_parametrized (g) - 0051
specialize linear_congruence_bounded_solutions_parametrized (A) - 0052
specialize linear_congruence_bounded_solutions_parametrized (M) - 0053
specialize linear_congruence_bounded_solutions_parametrized (b) - 0054
specialize linear_congruence_bounded_solutions_parametrized (x) - 0055
specialize linear_congruence_bounded_solutions_parametrized (y) - 0056
apply linear_congruence_bounded_solutions_parametrized - 0057
exact hm0 - 0058
exact hg - 0059
exact ha - 0060
exact hm - 0061
exact hr_witness_left - 0062
exact hr_witness_right - 0063
intro t - 0064
intro u - 0065
intro ht - 0066
intro hu - 0067
intro he - 0068
specialize linear_congruence_bounded_parameter_unique (M) - 0069
specialize linear_congruence_bounded_parameter_unique (x) - 0070
specialize linear_congruence_bounded_parameter_unique (x+M*t) - 0071
specialize linear_congruence_bounded_parameter_unique (t) - 0072
specialize linear_congruence_bounded_parameter_unique (u) - 0073
apply linear_congruence_bounded_parameter_unique - 0074
exact hM0 - 0075
refl - 0076
exact he