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.
Historical partial components only: this chapter proves canonical solutions for finite positive pairwise-coprime systems and exact LCM solution classes. G011 is now closed in the separate Alpha-v27 generalized-crt branch for arbitrary pairwise-compatible systems, including noncoprime moduli. Full G011 proof · Alpha v27
Exact theorem in conservative defined notation
∀ b. ∀ c. ∀ l. ∀ P. ∀ m. ∀ M. CRTPrefixLCM(b,c,l,P) → Beta(b,c,l,m) → Dvd(P,M) ∧ Dvd(m,M) ∧ (∀ x. Dvd(P,x) → Dvd(m,x) → Dvd(M,x)) → CRTPrefixLCM(b,c,S l,M)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete unchanged native tactic proof
All 80 lines are the exact independently kernel-checked original 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–9
02Separate the logical casesL10–11
03Fix variables and assumptionsL12–15
04Establish hsplitL16–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.
05Separate the logical casesL21–21
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L21
cases hsplit
06Calculate and transport equalitiesL22–23
07Establish heqL24–33
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
08Use earlier factsL34–43
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L34
specialize is_lcm_multiple_right M - L35
specialize is_lcm_multiple_right P - L36
specialize is_lcm_multiple_right m - L37
apply is_lcm_multiple_right - L38
exact hbinary - L39
specialize multiple_trans P - L40
specialize multiple_trans n - L41
specialize multiple_trans M - L42
apply multiple_trans - L43
specialize is_lcm_multiple_left M
09Use earlier factsL44–52
Instantiate or apply named facts and discharge the corresponding proof obligations.
10Fix variables and assumptionsL53–54
11Use earlier factsL55–62
12Fix variables and assumptionsL63–66
13Use earlier factsL67–76
Original defined command ledger · 80 lines
- 0001
intro b - 0002
intro c - 0003
intro l - 0004
intro P - 0005
intro m - 0006
intro M - 0007
intro hprefix - 0008
intro hm - 0009
intro hbinary - 0010
cases hprefix - 0011
split - 0012
intro i - 0013
intro n - 0014
intro hi - 0015
intro hn - 0016
have hsplit : i = l \/ exists gap. gap + S i = l - 0017
specialize finite_lt_succ_eq_or_lt l - 0018
specialize finite_lt_succ_eq_or_lt i - 0019
apply finite_lt_succ_eq_or_lt - 0020
exact hi - 0021
cases hsplit - 0022
rewrite hsplit_left at hn - 0023
rewrite hsplit_left at hn - 0024
have heq : n = m - 0025
specialize beta_at_unique b - 0026
specialize beta_at_unique c - 0027
specialize beta_at_unique l - 0028
specialize beta_at_unique n - 0029
specialize beta_at_unique m - 0030
apply beta_at_unique - 0031
exact hn - 0032
exact hm - 0033
rewrite heq - 0034
specialize is_lcm_multiple_right M - 0035
specialize is_lcm_multiple_right P - 0036
specialize is_lcm_multiple_right m - 0037
apply is_lcm_multiple_right - 0038
exact hbinary - 0039
specialize multiple_trans P - 0040
specialize multiple_trans n - 0041
specialize multiple_trans M - 0042
apply multiple_trans - 0043
specialize is_lcm_multiple_left M - 0044
specialize is_lcm_multiple_left P - 0045
specialize is_lcm_multiple_left m - 0046
apply is_lcm_multiple_left - 0047
exact hbinary - 0048
specialize hprefix_left i - 0049
specialize hprefix_left n - 0050
apply hprefix_left - 0051
exact hsplit_right - 0052
exact hn - 0053
intro z - 0054
intro hcommon - 0055
specialize is_lcm_least M - 0056
specialize is_lcm_least P - 0057
specialize is_lcm_least m - 0058
specialize is_lcm_least z - 0059
apply is_lcm_least - 0060
exact hbinary - 0061
specialize hprefix_right z - 0062
apply hprefix_right - 0063
intro i - 0064
intro n - 0065
intro hi - 0066
intro hn - 0067
specialize hcommon i - 0068
specialize hcommon n - 0069
apply hcommon - 0070
specialize le_succ (S i) - 0071
specialize le_succ l - 0072
apply le_succ - 0073
exact hi - 0074
exact hn - 0075
specialize hcommon l - 0076
specialize hcommon m - 0077
apply hcommon - 0078
specialize le_refl (S l) - 0079
exact le_refl - 0080
exact hm