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.
Exact expanded first-order arithmetic statement
forall r s b c l M x y. (((forall gcrt_common_index_class_lcm_own gcrt_common_modulus_class_lcm_own. (exists ff_lt_gcrt_class_lcm_own_bound. ff_lt_gcrt_class_lcm_own_bound + S gcrt_common_index_class_lcm_own = l) -> (((exists ff_h_gcrt_class_lcm_own_entry. ff_h_gcrt_class_lcm_own_entry + S (gcrt_common_modulus_class_lcm_own) = S ((S (gcrt_common_index_class_lcm_own)) * c)) /\ exists ff_q_gcrt_class_lcm_own_entry. b = ff_q_gcrt_class_lcm_own_entry * S ((S (gcrt_common_index_class_lcm_own)) * c) + (gcrt_common_modulus_class_lcm_own))) -> exists gcrt_common_quotient_class_lcm_own. M = gcrt_common_modulus_class_lcm_own * gcrt_common_quotient_class_lcm_own) /\ forall gcrt_lcm_common_class_lcm. (forall gcrt_common_index_class_lcm_other gcrt_common_modulus_class_lcm_other. (exists ff_lt_gcrt_class_lcm_other_bound. ff_lt_gcrt_class_lcm_other_bound + S gcrt_common_index_class_lcm_other = l) -> (((exists ff_h_gcrt_class_lcm_other_entry. ff_h_gcrt_class_lcm_other_entry + S (gcrt_common_modulus_class_lcm_other) = S ((S (gcrt_common_index_class_lcm_other)) * c)) /\ exists ff_q_gcrt_class_lcm_other_entry. b = ff_q_gcrt_class_lcm_other_entry * S ((S (gcrt_common_index_class_lcm_other)) * c) + (gcrt_common_modulus_class_lcm_other))) -> exists gcrt_common_quotient_class_lcm_other. gcrt_lcm_common_class_lcm = gcrt_common_modulus_class_lcm_other * gcrt_common_quotient_class_lcm_other) -> exists gcrt_lcm_quotient_class_lcm. gcrt_lcm_common_class_lcm = M * gcrt_lcm_quotient_class_lcm)) -> (forall gcrt_solution_index_class_solution_left gcrt_solution_residue_class_solution_left gcrt_solution_modulus_class_solution_left. (exists ff_lt_gcrt_class_solution_left_bound. ff_lt_gcrt_class_solution_left_bound + S gcrt_solution_index_class_solution_left = l) -> (((exists ff_h_gcrt_class_solution_left_residue. ff_h_gcrt_class_solution_left_residue + S (gcrt_solution_residue_class_solution_left) = S ((S (gcrt_solution_index_class_solution_left)) * s)) /\ exists ff_q_gcrt_class_solution_left_residue. r = ff_q_gcrt_class_solution_left_residue * S ((S (gcrt_solution_index_class_solution_left)) * s) + (gcrt_solution_residue_class_solution_left))) -> (((exists ff_h_gcrt_class_solution_left_modulus. ff_h_gcrt_class_solution_left_modulus + S (gcrt_solution_modulus_class_solution_left) = S ((S (gcrt_solution_index_class_solution_left)) * c)) /\ exists ff_q_gcrt_class_solution_left_modulus. b = ff_q_gcrt_class_solution_left_modulus * S ((S (gcrt_solution_index_class_solution_left)) * c) + (gcrt_solution_modulus_class_solution_left))) -> (exists hgcrt_mod_left_gcrt_class_solution_left_congruence hgcrt_mod_right_gcrt_class_solution_left_congruence. x + gcrt_solution_modulus_class_solution_left * hgcrt_mod_left_gcrt_class_solution_left_congruence = gcrt_solution_residue_class_solution_left + gcrt_solution_modulus_class_solution_left * hgcrt_mod_right_gcrt_class_solution_left_congruence)) -> (forall gcrt_solution_index_class_solution_right gcrt_solution_residue_class_solution_right gcrt_solution_modulus_class_solution_right. (exists ff_lt_gcrt_class_solution_right_bound. ff_lt_gcrt_class_solution_right_bound + S gcrt_solution_index_class_solution_right = l) -> (((exists ff_h_gcrt_class_solution_right_residue. ff_h_gcrt_class_solution_right_residue + S (gcrt_solution_residue_class_solution_right) = S ((S (gcrt_solution_index_class_solution_right)) * s)) /\ exists ff_q_gcrt_class_solution_right_residue. r = ff_q_gcrt_class_solution_right_residue * S ((S (gcrt_solution_index_class_solution_right)) * s) + (gcrt_solution_residue_class_solution_right))) -> (((exists ff_h_gcrt_class_solution_right_modulus. ff_h_gcrt_class_solution_right_modulus + S (gcrt_solution_modulus_class_solution_right) = S ((S (gcrt_solution_index_class_solution_right)) * c)) /\ exists ff_q_gcrt_class_solution_right_modulus. b = ff_q_gcrt_class_solution_right_modulus * S ((S (gcrt_solution_index_class_solution_right)) * c) + (gcrt_solution_modulus_class_solution_right))) -> (exists hgcrt_mod_left_gcrt_class_solution_right_congruence hgcrt_mod_right_gcrt_class_solution_right_congruence. y + gcrt_solution_modulus_class_solution_right * hgcrt_mod_left_gcrt_class_solution_right_congruence = gcrt_solution_residue_class_solution_right + gcrt_solution_modulus_class_solution_right * hgcrt_mod_right_gcrt_class_solution_right_congruence)) -> (exists hgcrt_mod_left_gcrt_class_result hgcrt_mod_right_gcrt_class_result. x + M * hgcrt_mod_left_gcrt_class_result = y + M * hgcrt_mod_right_gcrt_class_result)Constructive proof overview
Generated structural guide
For arbitrary decoded lists, every two simultaneous solutions are congruent modulo the exact list lcm.
The unchanged tactic script uses 5 declared prerequisites and contains 78 exact native proof lines.
Alpha v34 checked-use · first admitted v24 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
le_total Stable theorem; checked-use authorized CR0016 crt_prefix_ordered_solutions_gap_multiple remainder_decomposition_to_mod_eq Stable theorem; checked-use authorized mul_comm Stable theorem; checked-use authorized mod_eq_symm Stable theorem; checked-use authorizedDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
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 exact 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
Separate complete second-wave branches: Full G011 proof · Alpha v27.