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 under successive-merge compatibility and in the pairwise-compatible dominating-last case. G011 is now closed in the separate Alpha-v27 generalized-crt branch for arbitrary pairwise-compatible finite lists, including noncoprime moduli. Full G011 proof · Alpha v27
Exact theorem in conservative defined notation
∀ b. ∀ c. ∀ l. ∀ M. CRTPositiveModuliPrefix(b,c,l) → CRTPrefixLCM(b,c,l,M) → ¬M = 0
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete unchanged native tactic proof
All 40 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–7
02Use earlier factsL8–10
03Separate the logical casesL11–12
04Establish hnonzeroL13–22
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply crt positive moduli prefix product nonzero.
- L13
have hnonzero : ~(x = 0) - L14
specialize crt_positive_moduli_prefix_product_nonzero b - L15
specialize crt_positive_moduli_prefix_product_nonzero c - L16
specialize crt_positive_moduli_prefix_product_nonzero l - L17
specialize crt_positive_moduli_prefix_product_nonzero x - L18
intro hxzero - L19
apply crt_positive_moduli_prefix_product_nonzero - L20
exact hpositive - L21
exact beta_product_exists_unique_witness_left - L22
exact hxzero
05Separate the logical casesL23–23
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L23
cases hlcm
06Establish hmultipleL24–32
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hlcm right.
- L24
have hmultiple : exists q. x = M * q - L25
specialize hlcm_right x - L26
apply hlcm_right - L27
specialize crt_prefix_product_common_multiple b - L28
specialize crt_prefix_product_common_multiple c - L29
specialize crt_prefix_product_common_multiple l - L30
specialize crt_prefix_product_common_multiple x - L31
apply crt_prefix_product_common_multiple - L32
exact beta_product_exists_unique_witness_left
07Separate the logical casesL33–33
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L33
cases hmultiple
Original defined command ledger · 40 lines
- 0001
intro b - 0002
intro c - 0003
intro l - 0004
intro M - 0005
intro hpositive - 0006
intro hlcm - 0007
intro hzero - 0008
specialize beta_product_exists_unique b - 0009
specialize beta_product_exists_unique c - 0010
specialize beta_product_exists_unique l - 0011
cases beta_product_exists_unique - 0012
cases beta_product_exists_unique_witness - 0013
have hnonzero : ~(x = 0) - 0014
specialize crt_positive_moduli_prefix_product_nonzero b - 0015
specialize crt_positive_moduli_prefix_product_nonzero c - 0016
specialize crt_positive_moduli_prefix_product_nonzero l - 0017
specialize crt_positive_moduli_prefix_product_nonzero x - 0018
intro hxzero - 0019
apply crt_positive_moduli_prefix_product_nonzero - 0020
exact hpositive - 0021
exact beta_product_exists_unique_witness_left - 0022
exact hxzero - 0023
cases hlcm - 0024
have hmultiple : exists q. x = M * q - 0025
specialize hlcm_right x - 0026
apply hlcm_right - 0027
specialize crt_prefix_product_common_multiple b - 0028
specialize crt_prefix_product_common_multiple c - 0029
specialize crt_prefix_product_common_multiple l - 0030
specialize crt_prefix_product_common_multiple x - 0031
apply crt_prefix_product_common_multiple - 0032
exact beta_product_exists_unique_witness_left - 0033
cases hmultiple - 0034
have hxzero : x = 0 - 0035
trans M * x1 - 0036
exact hmultiple_witness - 0037
rewrite hzero - 0038
apply mul_zero_left - 0039
apply hnonzero - 0040
exact hxzero