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. ∀ x. ∀ M. CRTPositiveModuliPrefix(b,c,l) → (CRTNormalizedPrefixSolution(r,s,b,c,l,x,M) → CRTPrefixLCM(b,c,l,M) ∧ (Lt(x,M) ∧ CRTPrefixSolution(r,s,b,c,l,x))) ∧ (CRTPrefixLCM(b,c,l,M) ∧ (Lt(x,M) ∧ CRTPrefixSolution(r,s,b,c,l,x)) → CRTNormalizedPrefixSolution(r,s,b,c,l,x,M))
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 37 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 (1)
01Fix variables and assumptionsL1–8
02Separate the logical casesL9–9
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L9
split
03Fix variables and assumptionsL10–10
Work with arbitrary variables or the premises of the current implication.
- L10
intro hn
04Separate the logical casesL11–13
05Use earlier factsL14–14
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L14
exact hn_left
06Separate the logical casesL15–17
07Use earlier factsL18–27
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L18
specialize crt_positive_prefix_lcm_nonzero b - L19
specialize crt_positive_prefix_lcm_nonzero c - L20
specialize crt_positive_prefix_lcm_nonzero l - L21
specialize crt_positive_prefix_lcm_nonzero M - L22
apply crt_positive_prefix_lcm_nonzero - L23
exact hp - L24
exact hn_left - L25
exact hn_right_left_left - L26
exact hn_right_left_right - L27
exact hn_right_right
08Fix variables and assumptionsL28–28
Work with arbitrary variables or the premises of the current implication.
- L28
intro hc
09Use earlier factsL29–37
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L29
specialize crt_canonical_prefix_solution_implies_normalized r - L30
specialize crt_canonical_prefix_solution_implies_normalized s - L31
specialize crt_canonical_prefix_solution_implies_normalized b - L32
specialize crt_canonical_prefix_solution_implies_normalized c - L33
specialize crt_canonical_prefix_solution_implies_normalized l - L34
specialize crt_canonical_prefix_solution_implies_normalized x - L35
specialize crt_canonical_prefix_solution_implies_normalized M - L36
apply crt_canonical_prefix_solution_implies_normalized - L37
exact hc
Original defined command ledger · 37 lines
- 0001
intro r - 0002
intro s - 0003
intro b - 0004
intro c - 0005
intro l - 0006
intro x - 0007
intro M - 0008
intro hp - 0009
split - 0010
intro hn - 0011
cases hn - 0012
cases hn_right - 0013
split - 0014
exact hn_left - 0015
split - 0016
cases hn_right_left - 0017
exfalso - 0018
specialize crt_positive_prefix_lcm_nonzero b - 0019
specialize crt_positive_prefix_lcm_nonzero c - 0020
specialize crt_positive_prefix_lcm_nonzero l - 0021
specialize crt_positive_prefix_lcm_nonzero M - 0022
apply crt_positive_prefix_lcm_nonzero - 0023
exact hp - 0024
exact hn_left - 0025
exact hn_right_left_left - 0026
exact hn_right_left_right - 0027
exact hn_right_right - 0028
intro hc - 0029
specialize crt_canonical_prefix_solution_implies_normalized r - 0030
specialize crt_canonical_prefix_solution_implies_normalized s - 0031
specialize crt_canonical_prefix_solution_implies_normalized b - 0032
specialize crt_canonical_prefix_solution_implies_normalized c - 0033
specialize crt_canonical_prefix_solution_implies_normalized l - 0034
specialize crt_canonical_prefix_solution_implies_normalized x - 0035
specialize crt_canonical_prefix_solution_implies_normalized M - 0036
apply crt_canonical_prefix_solution_implies_normalized - 0037
exact hc