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
∀ r. ∀ s. ∀ b. ∀ c. ∀ l. ∀ M. ∀ x. ∀ y. CRTPrefixLCM(b,c,l,M) → CRTPrefixSolution(r,s,b,c,l,x) → CRTPrefixSolution(r,s,b,c,l,y) → ModEq(M,x,y)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete unchanged native tactic proof
All 78 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.
Named ingredients (1)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–11
Work with arbitrary variables or the premises of the current implication.
- L11
intro hy
03Use earlier factsL12–13
04Separate the logical casesL14–15
05Establish hgapL16–25
Establish this local claim before using it. It is not an additional assumption.
- L16
have hgap : exists q. x1 = M * q - L17
specialize crt_prefix_ordered_solutions_gap_multiple r - L18
specialize crt_prefix_ordered_solutions_gap_multiple s - L19
specialize crt_prefix_ordered_solutions_gap_multiple b - L20
specialize crt_prefix_ordered_solutions_gap_multiple c - L21
specialize crt_prefix_ordered_solutions_gap_multiple l - L22
specialize crt_prefix_ordered_solutions_gap_multiple M - L23
specialize crt_prefix_ordered_solutions_gap_multiple x - L24
specialize crt_prefix_ordered_solutions_gap_multiple y - L25
specialize crt_prefix_ordered_solutions_gap_multiple x1
06Use earlier factsL26–30
07Separate the logical casesL31–31
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L31
cases hgap
08Establish hreverseL32–41
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply remainder decomposition to mod eq.
- L32
have hreverse : exists hgcrt_mod_left_gcrt_class_reverse hgcrt_mod_right_gcrt_class_reverse. y + M * hgcrt_mod_left_gcrt_class_reverse = x + M * hgcrt_mod_right_gcrt_class_reverse - L33
specialize remainder_decomposition_to_mod_eq M - L34
specialize remainder_decomposition_to_mod_eq y - L35
specialize remainder_decomposition_to_mod_eq x2 - L36
specialize remainder_decomposition_to_mod_eq x - L37
apply remainder_decomposition_to_mod_eq - L38
trans x1 + x - L39
symm - L40
exact le_total_left_witness - L41
rewrite hgap_witness
09Calculate and transport equalitiesL42–42
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L42
congr
10Use earlier factsL43–43
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L43
apply mul_comm
11Calculate and transport equalitiesL44–44
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L44
refl
12Use earlier factsL45–49
13Separate the logical casesL50–50
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L50
cases le_total_right
14Establish hgapL51–60
Establish this local claim before using it. It is not an additional assumption.
- L51
have hgap : exists q. x1 = M * q - L52
specialize crt_prefix_ordered_solutions_gap_multiple r - L53
specialize crt_prefix_ordered_solutions_gap_multiple s - L54
specialize crt_prefix_ordered_solutions_gap_multiple b - L55
specialize crt_prefix_ordered_solutions_gap_multiple c - L56
specialize crt_prefix_ordered_solutions_gap_multiple l - L57
specialize crt_prefix_ordered_solutions_gap_multiple M - L58
specialize crt_prefix_ordered_solutions_gap_multiple y - L59
specialize crt_prefix_ordered_solutions_gap_multiple x - L60
specialize crt_prefix_ordered_solutions_gap_multiple x1
15Use earlier factsL61–65
16Separate the logical casesL66–66
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L66
cases hgap
17Use earlier factsL67–71
Instantiate or apply named facts and discharge the corresponding proof obligations.
18Calculate and transport equalitiesL72–73
19Use earlier factsL74–74
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L74
exact le_total_right_witness
20Calculate and transport equalitiesL75–76
21Use earlier factsL77–77
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L77
apply mul_comm
22Calculate and transport equalitiesL78–78
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L78
refl
Original defined command ledger · 78 lines
- 0001
intro r - 0002
intro s - 0003
intro b - 0004
intro c - 0005
intro l - 0006
intro M - 0007
intro x - 0008
intro y - 0009
intro hlcm - 0010
intro hx - 0011
intro hy - 0012
specialize le_total x - 0013
specialize le_total y - 0014
cases le_total - 0015
cases le_total_left - 0016
have hgap : exists q. x1 = M * q - 0017
specialize crt_prefix_ordered_solutions_gap_multiple r - 0018
specialize crt_prefix_ordered_solutions_gap_multiple s - 0019
specialize crt_prefix_ordered_solutions_gap_multiple b - 0020
specialize crt_prefix_ordered_solutions_gap_multiple c - 0021
specialize crt_prefix_ordered_solutions_gap_multiple l - 0022
specialize crt_prefix_ordered_solutions_gap_multiple M - 0023
specialize crt_prefix_ordered_solutions_gap_multiple x - 0024
specialize crt_prefix_ordered_solutions_gap_multiple y - 0025
specialize crt_prefix_ordered_solutions_gap_multiple x1 - 0026
apply crt_prefix_ordered_solutions_gap_multiple - 0027
exact hlcm - 0028
exact hx - 0029
exact hy - 0030
exact le_total_left_witness - 0031
cases hgap - 0032
have hreverse : exists hgcrt_mod_left_gcrt_class_reverse hgcrt_mod_right_gcrt_class_reverse. y + M * hgcrt_mod_left_gcrt_class_reverse = x + M * hgcrt_mod_right_gcrt_class_reverse - 0033
specialize remainder_decomposition_to_mod_eq M - 0034
specialize remainder_decomposition_to_mod_eq y - 0035
specialize remainder_decomposition_to_mod_eq x2 - 0036
specialize remainder_decomposition_to_mod_eq x - 0037
apply remainder_decomposition_to_mod_eq - 0038
trans x1 + x - 0039
symm - 0040
exact le_total_left_witness - 0041
rewrite hgap_witness - 0042
congr - 0043
apply mul_comm - 0044
refl - 0045
specialize mod_eq_symm M - 0046
specialize mod_eq_symm y - 0047
specialize mod_eq_symm x - 0048
apply mod_eq_symm - 0049
exact hreverse - 0050
cases le_total_right - 0051
have hgap : exists q. x1 = M * q - 0052
specialize crt_prefix_ordered_solutions_gap_multiple r - 0053
specialize crt_prefix_ordered_solutions_gap_multiple s - 0054
specialize crt_prefix_ordered_solutions_gap_multiple b - 0055
specialize crt_prefix_ordered_solutions_gap_multiple c - 0056
specialize crt_prefix_ordered_solutions_gap_multiple l - 0057
specialize crt_prefix_ordered_solutions_gap_multiple M - 0058
specialize crt_prefix_ordered_solutions_gap_multiple y - 0059
specialize crt_prefix_ordered_solutions_gap_multiple x - 0060
specialize crt_prefix_ordered_solutions_gap_multiple x1 - 0061
apply crt_prefix_ordered_solutions_gap_multiple - 0062
exact hlcm - 0063
exact hy - 0064
exact hx - 0065
exact le_total_right_witness - 0066
cases hgap - 0067
specialize remainder_decomposition_to_mod_eq M - 0068
specialize remainder_decomposition_to_mod_eq x - 0069
specialize remainder_decomposition_to_mod_eq x2 - 0070
specialize remainder_decomposition_to_mod_eq y - 0071
apply remainder_decomposition_to_mod_eq - 0072
trans x1 + y - 0073
symm - 0074
exact le_total_right_witness - 0075
rewrite hgap_witness - 0076
congr - 0077
apply mul_comm - 0078
refl