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 a M. (forall gcomp_left_index_dominating_pairs gcomp_right_index_dominating_pairs gcomp_left_residue_dominating_pairs gcomp_right_residue_dominating_pairs gcomp_left_modulus_dominating_pairs gcomp_right_modulus_dominating_pairs gcomp_pair_gcd_dominating_pairs. (exists ff_lt_gcrt_dominating_pairs_left_bound. ff_lt_gcrt_dominating_pairs_left_bound + S gcomp_left_index_dominating_pairs = S l) -> (exists ff_lt_gcrt_dominating_pairs_right_bound. ff_lt_gcrt_dominating_pairs_right_bound + S gcomp_right_index_dominating_pairs = S l) -> (((exists ff_h_gcrt_dominating_pairs_left_residue. ff_h_gcrt_dominating_pairs_left_residue + S (gcomp_left_residue_dominating_pairs) = S ((S (gcomp_left_index_dominating_pairs)) * s)) /\ exists ff_q_gcrt_dominating_pairs_left_residue. r = ff_q_gcrt_dominating_pairs_left_residue * S ((S (gcomp_left_index_dominating_pairs)) * s) + (gcomp_left_residue_dominating_pairs))) -> (((exists ff_h_gcrt_dominating_pairs_right_residue. ff_h_gcrt_dominating_pairs_right_residue + S (gcomp_right_residue_dominating_pairs) = S ((S (gcomp_right_index_dominating_pairs)) * s)) /\ exists ff_q_gcrt_dominating_pairs_right_residue. r = ff_q_gcrt_dominating_pairs_right_residue * S ((S (gcomp_right_index_dominating_pairs)) * s) + (gcomp_right_residue_dominating_pairs))) -> (((exists ff_h_gcrt_dominating_pairs_left_modulus. ff_h_gcrt_dominating_pairs_left_modulus + S (gcomp_left_modulus_dominating_pairs) = S ((S (gcomp_left_index_dominating_pairs)) * c)) /\ exists ff_q_gcrt_dominating_pairs_left_modulus. b = ff_q_gcrt_dominating_pairs_left_modulus * S ((S (gcomp_left_index_dominating_pairs)) * c) + (gcomp_left_modulus_dominating_pairs))) -> (((exists ff_h_gcrt_dominating_pairs_right_modulus. ff_h_gcrt_dominating_pairs_right_modulus + S (gcomp_right_modulus_dominating_pairs) = S ((S (gcomp_right_index_dominating_pairs)) * c)) /\ exists ff_q_gcrt_dominating_pairs_right_modulus. b = ff_q_gcrt_dominating_pairs_right_modulus * S ((S (gcomp_right_index_dominating_pairs)) * c) + (gcomp_right_modulus_dominating_pairs))) -> ((((exists hag_left_factor_gcomp_dominating_pairs_gcd. gcomp_left_modulus_dominating_pairs = gcomp_pair_gcd_dominating_pairs * hag_left_factor_gcomp_dominating_pairs_gcd) /\ (exists hag_right_factor_gcomp_dominating_pairs_gcd. gcomp_right_modulus_dominating_pairs = gcomp_pair_gcd_dominating_pairs * hag_right_factor_gcomp_dominating_pairs_gcd)) /\ forall hag_divisor_gcomp_dominating_pairs_gcd. (exists hag_common_left_gcomp_dominating_pairs_gcd. gcomp_left_modulus_dominating_pairs = hag_divisor_gcomp_dominating_pairs_gcd * hag_common_left_gcomp_dominating_pairs_gcd) -> (exists hag_common_right_gcomp_dominating_pairs_gcd. gcomp_right_modulus_dominating_pairs = hag_divisor_gcomp_dominating_pairs_gcd * hag_common_right_gcomp_dominating_pairs_gcd) -> exists hag_greatest_factor_gcomp_dominating_pairs_gcd. gcomp_pair_gcd_dominating_pairs = hag_divisor_gcomp_dominating_pairs_gcd * hag_greatest_factor_gcomp_dominating_pairs_gcd)) -> (exists hgcrt_mod_left_gcrt_dominating_pairs_result hgcrt_mod_right_gcrt_dominating_pairs_result. gcomp_left_residue_dominating_pairs + gcomp_pair_gcd_dominating_pairs * hgcrt_mod_left_gcrt_dominating_pairs_result = gcomp_right_residue_dominating_pairs + gcomp_pair_gcd_dominating_pairs * hgcrt_mod_right_gcrt_dominating_pairs_result)) -> (((exists ff_h_gcrt_dominating_residue. ff_h_gcrt_dominating_residue + S (a) = S ((S (l)) * s)) /\ exists ff_q_gcrt_dominating_residue. r = ff_q_gcrt_dominating_residue * S ((S (l)) * s) + (a))) -> (((exists ff_h_gcrt_dominating_modulus. ff_h_gcrt_dominating_modulus + S (M) = S ((S (l)) * c)) /\ exists ff_q_gcrt_dominating_modulus. b = ff_q_gcrt_dominating_modulus * S ((S (l)) * c) + (M))) -> (forall gcrt_common_index_dominating_common gcrt_common_modulus_dominating_common. (exists ff_lt_gcrt_dominating_common_bound. ff_lt_gcrt_dominating_common_bound + S gcrt_common_index_dominating_common = l) -> (((exists ff_h_gcrt_dominating_common_entry. ff_h_gcrt_dominating_common_entry + S (gcrt_common_modulus_dominating_common) = S ((S (gcrt_common_index_dominating_common)) * c)) /\ exists ff_q_gcrt_dominating_common_entry. b = ff_q_gcrt_dominating_common_entry * S ((S (gcrt_common_index_dominating_common)) * c) + (gcrt_common_modulus_dominating_common))) -> exists gcrt_common_quotient_dominating_common. M = gcrt_common_modulus_dominating_common * gcrt_common_quotient_dominating_common) -> (forall gcrt_solution_index_dominating_solution gcrt_solution_residue_dominating_solution gcrt_solution_modulus_dominating_solution. (exists ff_lt_gcrt_dominating_solution_bound. ff_lt_gcrt_dominating_solution_bound + S gcrt_solution_index_dominating_solution = S l) -> (((exists ff_h_gcrt_dominating_solution_residue. ff_h_gcrt_dominating_solution_residue + S (gcrt_solution_residue_dominating_solution) = S ((S (gcrt_solution_index_dominating_solution)) * s)) /\ exists ff_q_gcrt_dominating_solution_residue. r = ff_q_gcrt_dominating_solution_residue * S ((S (gcrt_solution_index_dominating_solution)) * s) + (gcrt_solution_residue_dominating_solution))) -> (((exists ff_h_gcrt_dominating_solution_modulus. ff_h_gcrt_dominating_solution_modulus + S (gcrt_solution_modulus_dominating_solution) = S ((S (gcrt_solution_index_dominating_solution)) * c)) /\ exists ff_q_gcrt_dominating_solution_modulus. b = ff_q_gcrt_dominating_solution_modulus * S ((S (gcrt_solution_index_dominating_solution)) * c) + (gcrt_solution_modulus_dominating_solution))) -> (exists hgcrt_mod_left_gcrt_dominating_solution_congruence hgcrt_mod_right_gcrt_dominating_solution_congruence. a + gcrt_solution_modulus_dominating_solution * hgcrt_mod_left_gcrt_dominating_solution_congruence = gcrt_solution_residue_dominating_solution + gcrt_solution_modulus_dominating_solution * hgcrt_mod_right_gcrt_dominating_solution_congruence))Constructive proof overview
Generated structural guide
Whenever the last modulus is an actual common multiple of all predecessors, exact pairwise gcd compatibility makes the last residue itself a simultaneous solution, including zero and non-coprime moduli.
The unchanged tactic script uses 5 declared prerequisites and contains 63 exact native proof lines.
Alpha v34 checked-use · first admitted v25 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
crt_prefix_solution_successor_intro Alpha theorem; checked-use authorized is_gcd_of_dvd Stable theorem; checked-use authorized GC0006 crt_pairwise_compatible_prefix_last mod_eq_symm Stable theorem; checked-use authorized mod_eq_refl 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 hcommon
03Use earlier factsL12–20
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L12
specialize crt_prefix_solution_successor_intro r - L13
specialize crt_prefix_solution_successor_intro s - L14
specialize crt_prefix_solution_successor_intro b - L15
specialize crt_prefix_solution_successor_intro c - L16
specialize crt_prefix_solution_successor_intro l - L17
specialize crt_prefix_solution_successor_intro a - L18
specialize crt_prefix_solution_successor_intro a - L19
specialize crt_prefix_solution_successor_intro M - L20
apply crt_prefix_solution_successor_intro
04Fix variables and assumptionsL21–26
05Establish hgL27–36
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply is gcd of dvd.
06Use earlier factsL37–46
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L37
specialize mod_eq_symm d - L38
specialize mod_eq_symm a - L39
apply mod_eq_symm - L40
specialize crt_pairwise_compatible_prefix_last r - L41
specialize crt_pairwise_compatible_prefix_last s - L42
specialize crt_pairwise_compatible_prefix_last b - L43
specialize crt_pairwise_compatible_prefix_last c - L44
specialize crt_pairwise_compatible_prefix_last l - L45
specialize crt_pairwise_compatible_prefix_last i - L46
specialize crt_pairwise_compatible_prefix_last d
07Use earlier factsL47–56
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L47
specialize crt_pairwise_compatible_prefix_last a - L48
specialize crt_pairwise_compatible_prefix_last m - L49
specialize crt_pairwise_compatible_prefix_last M - L50
specialize crt_pairwise_compatible_prefix_last m - L51
apply crt_pairwise_compatible_prefix_last - L52
exact hpairs - L53
exact hi - L54
exact hd - L55
exact ha - L56
exact hm
Original exact command ledger · 63 lines
- 0001
intro r - 0002
intro s - 0003
intro b - 0004
intro c - 0005
intro l - 0006
intro a - 0007
intro M - 0008
intro hpairs - 0009
intro ha - 0010
intro hM - 0011
intro hcommon - 0012
specialize crt_prefix_solution_successor_intro r - 0013
specialize crt_prefix_solution_successor_intro s - 0014
specialize crt_prefix_solution_successor_intro b - 0015
specialize crt_prefix_solution_successor_intro c - 0016
specialize crt_prefix_solution_successor_intro l - 0017
specialize crt_prefix_solution_successor_intro a - 0018
specialize crt_prefix_solution_successor_intro a - 0019
specialize crt_prefix_solution_successor_intro M - 0020
apply crt_prefix_solution_successor_intro - 0021
intro i - 0022
intro d - 0023
intro m - 0024
intro hi - 0025
intro hd - 0026
intro hm - 0027
have hg : (((exists hag_left_factor_gcomp_dominating_actual_gcd. m = m * hag_left_factor_gcomp_dominating_actual_gcd) /\ (exists hag_right_factor_gcomp_dominating_actual_gcd. M = m * hag_right_factor_gcomp_dominating_actual_gcd)) /\ forall hag_divisor_gcomp_dominating_actual_gcd. (exists hag_common_left_gcomp_dominating_actual_gcd. m = hag_divisor_gcomp_dominating_actual_gcd * hag_common_left_gcomp_dominating_actual_gcd) -> (exists hag_common_right_gcomp_dominating_actual_gcd. M = hag_divisor_gcomp_dominating_actual_gcd * hag_common_right_gcomp_dominating_actual_gcd) -> exists hag_greatest_factor_gcomp_dominating_actual_gcd. m = hag_divisor_gcomp_dominating_actual_gcd * hag_greatest_factor_gcomp_dominating_actual_gcd) - 0028
specialize is_gcd_of_dvd m - 0029
specialize is_gcd_of_dvd M - 0030
apply is_gcd_of_dvd - 0031
specialize hcommon i - 0032
specialize hcommon m - 0033
apply hcommon - 0034
exact hi - 0035
exact hm - 0036
specialize mod_eq_symm m - 0037
specialize mod_eq_symm d - 0038
specialize mod_eq_symm a - 0039
apply mod_eq_symm - 0040
specialize crt_pairwise_compatible_prefix_last r - 0041
specialize crt_pairwise_compatible_prefix_last s - 0042
specialize crt_pairwise_compatible_prefix_last b - 0043
specialize crt_pairwise_compatible_prefix_last c - 0044
specialize crt_pairwise_compatible_prefix_last l - 0045
specialize crt_pairwise_compatible_prefix_last i - 0046
specialize crt_pairwise_compatible_prefix_last d - 0047
specialize crt_pairwise_compatible_prefix_last a - 0048
specialize crt_pairwise_compatible_prefix_last m - 0049
specialize crt_pairwise_compatible_prefix_last M - 0050
specialize crt_pairwise_compatible_prefix_last m - 0051
apply crt_pairwise_compatible_prefix_last - 0052
exact hpairs - 0053
exact hi - 0054
exact hd - 0055
exact ha - 0056
exact hm - 0057
exact hM - 0058
exact hg - 0059
exact ha - 0060
exact hM - 0061
specialize mod_eq_refl M - 0062
specialize mod_eq_refl a - 0063
exact mod_eq_refl
Separate complete second-wave branches: Full G011 proof · Alpha v27.