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.
All finite lists are included, even the empty list and zero moduli. A positive LCM gives x<M; at zero LCM congruence is exact equality and normalization deliberately does not require the impossible x<0.
Exact theorem in conservative defined notation
∀ r. ∀ s. ∀ b. ∀ c. ∀ l. ∀ i. ∀ x. ∀ a. ∀ n. CRTPairwiseCompatiblePrefix(r,s,b,c,l) → Lt(i,l) → CRTPrefixSolution(r,s,b,c,i,x) → BetaAt(r,s,i,a) → BetaAt(b,c,i,n) → CRTPrefixGcdCongruences(b,c,i,n,x,a)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 68 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–10
02Fix variables and assumptionsL11–20
03Establish hzL21–25
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L21
have hz : ∃ z. BetaAt(r,s,j,z)Definitions: BetaAt(r,s,j,z)Original native command in the exact edition - L22
specialize beta_at_exists r - L23
specialize beta_at_exists s - L24
specialize beta_at_exists j - L25
apply beta_at_exists
04Separate the logical casesL26–26
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L26
cases hz
05Use earlier factsL27–36
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L27
specialize mod_eq_trans d - L28
specialize mod_eq_trans x - L29
specialize mod_eq_trans x1 - L30
specialize mod_eq_trans a - L31
apply mod_eq_trans - L32
specialize mod_eq_of_mod_eq_multiple d - L33
specialize mod_eq_of_mod_eq_multiple m - L34
specialize mod_eq_of_mod_eq_multiple x - L35
specialize mod_eq_of_mod_eq_multiple x1 - L36
apply mod_eq_of_mod_eq_multiple
06Use earlier factsL37–46
07Use earlier factsL47–56
08Use earlier factsL57–66
Original defined command ledger · 68 lines
- 0001
intro r - 0002
intro s - 0003
intro b - 0004
intro c - 0005
intro l - 0006
intro i - 0007
intro x - 0008
intro a - 0009
intro n - 0010
intro hp - 0011
intro hi - 0012
intro hs - 0013
intro ha - 0014
intro hn - 0015
intro j - 0016
intro m - 0017
intro d - 0018
intro hj - 0019
intro hm - 0020
intro hd - 0021
have hz : ∃ z. BetaAt(r,s,j,z) - 0022
specialize beta_at_exists r - 0023
specialize beta_at_exists s - 0024
specialize beta_at_exists j - 0025
apply beta_at_exists - 0026
cases hz - 0027
specialize mod_eq_trans d - 0028
specialize mod_eq_trans x - 0029
specialize mod_eq_trans x1 - 0030
specialize mod_eq_trans a - 0031
apply mod_eq_trans - 0032
specialize mod_eq_of_mod_eq_multiple d - 0033
specialize mod_eq_of_mod_eq_multiple m - 0034
specialize mod_eq_of_mod_eq_multiple x - 0035
specialize mod_eq_of_mod_eq_multiple x1 - 0036
apply mod_eq_of_mod_eq_multiple - 0037
specialize is_gcd_dvd_left d - 0038
specialize is_gcd_dvd_left m - 0039
specialize is_gcd_dvd_left n - 0040
apply is_gcd_dvd_left - 0041
exact hd - 0042
specialize hs j - 0043
specialize hs x1 - 0044
specialize hs m - 0045
apply hs - 0046
exact hj - 0047
exact hz_witness - 0048
exact hm - 0049
specialize hp j - 0050
specialize hp i - 0051
specialize hp x1 - 0052
specialize hp a - 0053
specialize hp m - 0054
specialize hp n - 0055
specialize hp d - 0056
apply hp - 0057
specialize lt_trans j - 0058
specialize lt_trans i - 0059
specialize lt_trans l - 0060
apply lt_trans - 0061
exact hj - 0062
exact hi - 0063
exact hi - 0064
exact hz_witness - 0065
exact ha - 0066
exact hm - 0067
exact hn - 0068
exact hd