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. (((forall gcrt_common_index_gfull_normalize_lcm_own gcrt_common_modulus_gfull_normalize_lcm_own. (exists ff_lt_gcrt_gfull_normalize_lcm_own_bound. ff_lt_gcrt_gfull_normalize_lcm_own_bound + S gcrt_common_index_gfull_normalize_lcm_own = l) -> (((exists ff_h_gcrt_gfull_normalize_lcm_own_entry. ff_h_gcrt_gfull_normalize_lcm_own_entry + S (gcrt_common_modulus_gfull_normalize_lcm_own) = S ((S (gcrt_common_index_gfull_normalize_lcm_own)) * c)) /\ exists ff_q_gcrt_gfull_normalize_lcm_own_entry. b = ff_q_gcrt_gfull_normalize_lcm_own_entry * S ((S (gcrt_common_index_gfull_normalize_lcm_own)) * c) + (gcrt_common_modulus_gfull_normalize_lcm_own))) -> exists gcrt_common_quotient_gfull_normalize_lcm_own. M = gcrt_common_modulus_gfull_normalize_lcm_own * gcrt_common_quotient_gfull_normalize_lcm_own) /\ forall gcrt_lcm_common_gfull_normalize_lcm. (forall gcrt_common_index_gfull_normalize_lcm_other gcrt_common_modulus_gfull_normalize_lcm_other. (exists ff_lt_gcrt_gfull_normalize_lcm_other_bound. ff_lt_gcrt_gfull_normalize_lcm_other_bound + S gcrt_common_index_gfull_normalize_lcm_other = l) -> (((exists ff_h_gcrt_gfull_normalize_lcm_other_entry. ff_h_gcrt_gfull_normalize_lcm_other_entry + S (gcrt_common_modulus_gfull_normalize_lcm_other) = S ((S (gcrt_common_index_gfull_normalize_lcm_other)) * c)) /\ exists ff_q_gcrt_gfull_normalize_lcm_other_entry. b = ff_q_gcrt_gfull_normalize_lcm_other_entry * S ((S (gcrt_common_index_gfull_normalize_lcm_other)) * c) + (gcrt_common_modulus_gfull_normalize_lcm_other))) -> exists gcrt_common_quotient_gfull_normalize_lcm_other. gcrt_lcm_common_gfull_normalize_lcm = gcrt_common_modulus_gfull_normalize_lcm_other * gcrt_common_quotient_gfull_normalize_lcm_other) -> exists gcrt_lcm_quotient_gfull_normalize_lcm. gcrt_lcm_common_gfull_normalize_lcm = M * gcrt_lcm_quotient_gfull_normalize_lcm)) -> (forall gcrt_solution_index_gfull_normalize_solution gcrt_solution_residue_gfull_normalize_solution gcrt_solution_modulus_gfull_normalize_solution. (exists ff_lt_gcrt_gfull_normalize_solution_bound. ff_lt_gcrt_gfull_normalize_solution_bound + S gcrt_solution_index_gfull_normalize_solution = l) -> (((exists ff_h_gcrt_gfull_normalize_solution_residue. ff_h_gcrt_gfull_normalize_solution_residue + S (gcrt_solution_residue_gfull_normalize_solution) = S ((S (gcrt_solution_index_gfull_normalize_solution)) * s)) /\ exists ff_q_gcrt_gfull_normalize_solution_residue. r = ff_q_gcrt_gfull_normalize_solution_residue * S ((S (gcrt_solution_index_gfull_normalize_solution)) * s) + (gcrt_solution_residue_gfull_normalize_solution))) -> (((exists ff_h_gcrt_gfull_normalize_solution_modulus. ff_h_gcrt_gfull_normalize_solution_modulus + S (gcrt_solution_modulus_gfull_normalize_solution) = S ((S (gcrt_solution_index_gfull_normalize_solution)) * c)) /\ exists ff_q_gcrt_gfull_normalize_solution_modulus. b = ff_q_gcrt_gfull_normalize_solution_modulus * S ((S (gcrt_solution_index_gfull_normalize_solution)) * c) + (gcrt_solution_modulus_gfull_normalize_solution))) -> (exists hgcrt_mod_left_gcrt_gfull_normalize_solution_congruence hgcrt_mod_right_gcrt_gfull_normalize_solution_congruence. x + gcrt_solution_modulus_gfull_normalize_solution * hgcrt_mod_left_gcrt_gfull_normalize_solution_congruence = gcrt_solution_residue_gfull_normalize_solution + gcrt_solution_modulus_gfull_normalize_solution * hgcrt_mod_right_gcrt_gfull_normalize_solution_congruence)) -> exists z. (((((forall gcrt_common_index_gfull_normalize_result_lcm_own gcrt_common_modulus_gfull_normalize_result_lcm_own. (exists ff_lt_gcrt_gfull_normalize_result_lcm_own_bound. ff_lt_gcrt_gfull_normalize_result_lcm_own_bound + S gcrt_common_index_gfull_normalize_result_lcm_own = l) -> (((exists ff_h_gcrt_gfull_normalize_result_lcm_own_entry. ff_h_gcrt_gfull_normalize_result_lcm_own_entry + S (gcrt_common_modulus_gfull_normalize_result_lcm_own) = S ((S (gcrt_common_index_gfull_normalize_result_lcm_own)) * c)) /\ exists ff_q_gcrt_gfull_normalize_result_lcm_own_entry. b = ff_q_gcrt_gfull_normalize_result_lcm_own_entry * S ((S (gcrt_common_index_gfull_normalize_result_lcm_own)) * c) + (gcrt_common_modulus_gfull_normalize_result_lcm_own))) -> exists gcrt_common_quotient_gfull_normalize_result_lcm_own. M = gcrt_common_modulus_gfull_normalize_result_lcm_own * gcrt_common_quotient_gfull_normalize_result_lcm_own) /\ forall gcrt_lcm_common_gfull_normalize_result_lcm. (forall gcrt_common_index_gfull_normalize_result_lcm_other gcrt_common_modulus_gfull_normalize_result_lcm_other. (exists ff_lt_gcrt_gfull_normalize_result_lcm_other_bound. ff_lt_gcrt_gfull_normalize_result_lcm_other_bound + S gcrt_common_index_gfull_normalize_result_lcm_other = l) -> (((exists ff_h_gcrt_gfull_normalize_result_lcm_other_entry. ff_h_gcrt_gfull_normalize_result_lcm_other_entry + S (gcrt_common_modulus_gfull_normalize_result_lcm_other) = S ((S (gcrt_common_index_gfull_normalize_result_lcm_other)) * c)) /\ exists ff_q_gcrt_gfull_normalize_result_lcm_other_entry. b = ff_q_gcrt_gfull_normalize_result_lcm_other_entry * S ((S (gcrt_common_index_gfull_normalize_result_lcm_other)) * c) + (gcrt_common_modulus_gfull_normalize_result_lcm_other))) -> exists gcrt_common_quotient_gfull_normalize_result_lcm_other. gcrt_lcm_common_gfull_normalize_result_lcm = gcrt_common_modulus_gfull_normalize_result_lcm_other * gcrt_common_quotient_gfull_normalize_result_lcm_other) -> exists gcrt_lcm_quotient_gfull_normalize_result_lcm. gcrt_lcm_common_gfull_normalize_result_lcm = M * gcrt_lcm_quotient_gfull_normalize_result_lcm)) /\ ((M = 0 \/ (exists ff_lt_gcrt_gfull_normalize_result_bound. ff_lt_gcrt_gfull_normalize_result_bound + S z = M)) /\ (forall gcrt_solution_index_gfull_normalize_result_solution gcrt_solution_residue_gfull_normalize_result_solution gcrt_solution_modulus_gfull_normalize_result_solution. (exists ff_lt_gcrt_gfull_normalize_result_solution_bound. ff_lt_gcrt_gfull_normalize_result_solution_bound + S gcrt_solution_index_gfull_normalize_result_solution = l) -> (((exists ff_h_gcrt_gfull_normalize_result_solution_residue. ff_h_gcrt_gfull_normalize_result_solution_residue + S (gcrt_solution_residue_gfull_normalize_result_solution) = S ((S (gcrt_solution_index_gfull_normalize_result_solution)) * s)) /\ exists ff_q_gcrt_gfull_normalize_result_solution_residue. r = ff_q_gcrt_gfull_normalize_result_solution_residue * S ((S (gcrt_solution_index_gfull_normalize_result_solution)) * s) + (gcrt_solution_residue_gfull_normalize_result_solution))) -> (((exists ff_h_gcrt_gfull_normalize_result_solution_modulus. ff_h_gcrt_gfull_normalize_result_solution_modulus + S (gcrt_solution_modulus_gfull_normalize_result_solution) = S ((S (gcrt_solution_index_gfull_normalize_result_solution)) * c)) /\ exists ff_q_gcrt_gfull_normalize_result_solution_modulus. b = ff_q_gcrt_gfull_normalize_result_solution_modulus * S ((S (gcrt_solution_index_gfull_normalize_result_solution)) * c) + (gcrt_solution_modulus_gfull_normalize_result_solution))) -> (exists hgcrt_mod_left_gcrt_gfull_normalize_result_solution_congruence hgcrt_mod_right_gcrt_gfull_normalize_result_solution_congruence. z + gcrt_solution_modulus_gfull_normalize_result_solution * hgcrt_mod_left_gcrt_gfull_normalize_result_solution_congruence = gcrt_solution_residue_gfull_normalize_result_solution + gcrt_solution_modulus_gfull_normalize_result_solution * hgcrt_mod_right_gcrt_gfull_normalize_result_solution_congruence)))))Constructive proof overview
Generated structural guide
Every simultaneous solution has a normalized representative for its exact list LCM, with zero retained rather than divided by.
The unchanged tactic script uses 3 declared prerequisites and contains 44 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
eq_decidable Stable theorem; checked-use authorized crt_prefix_solution_canonical_remainder Alpha theorem; checked-use authorized FC0010 crt_canonical_prefix_solution_implies_normalizedDirect 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–9
02Establish hzL10–13
03Separate the logical casesL14–14
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L14
cases hz
04Construct an explicit witnessL15–15
Supply the displayed value, then prove that it has the required property.
- L15
exists x
05Separate the logical casesL16–16
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L16
split
06Use earlier factsL17–17
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L17
exact hM
07Separate the logical casesL18–19
08Use earlier factsL20–21
09Establish hcL22–31
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply crt prefix solution canonical remainder.
- L22
have hc : ∃ y. CRTPrefixLCM(b,c,l,M) ∧ (Lt(y,M) ∧ CRTPrefixSolution(r,s,b,c,l,y))Definitions: CRTPrefixSolutionCRTPrefixLCMLt - L23
specialize crt_prefix_solution_canonical_remainder r - L24
specialize crt_prefix_solution_canonical_remainder s - L25
specialize crt_prefix_solution_canonical_remainder b - L26
specialize crt_prefix_solution_canonical_remainder c - L27
specialize crt_prefix_solution_canonical_remainder l - L28
specialize crt_prefix_solution_canonical_remainder M - L29
specialize crt_prefix_solution_canonical_remainder x - L30
apply crt_prefix_solution_canonical_remainder - L31
exact hz_right
10Use earlier factsL32–33
11Separate the logical casesL34–34
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L34
cases hc
12Construct an explicit witnessL35–35
Supply the displayed value, then prove that it has the required property.
- L35
exists x1
13Use earlier factsL36–44
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L36
specialize crt_canonical_prefix_solution_implies_normalized r - L37
specialize crt_canonical_prefix_solution_implies_normalized s - L38
specialize crt_canonical_prefix_solution_implies_normalized b - L39
specialize crt_canonical_prefix_solution_implies_normalized c - L40
specialize crt_canonical_prefix_solution_implies_normalized l - L41
specialize crt_canonical_prefix_solution_implies_normalized x1 - L42
specialize crt_canonical_prefix_solution_implies_normalized M - L43
apply crt_canonical_prefix_solution_implies_normalized - L44
exact hc_witness
Original exact command ledger · 44 lines
- 0001
intro r - 0002
intro s - 0003
intro b - 0004
intro c - 0005
intro l - 0006
intro M - 0007
intro x - 0008
intro hM - 0009
intro hs - 0010
have hz : M = 0 \/ ~(M = 0) - 0011
specialize eq_decidable M - 0012
specialize eq_decidable 0 - 0013
apply eq_decidable - 0014
cases hz - 0015
exists x - 0016
split - 0017
exact hM - 0018
split - 0019
left - 0020
exact hz_left - 0021
exact hs - 0022
have hc : exists y. ((((forall gcrt_common_index_gfull_normalize_canonical_lcm_own gcrt_common_modulus_gfull_normalize_canonical_lcm_own. (exists ff_lt_gcrt_gfull_normalize_canonical_lcm_own_bound. ff_lt_gcrt_gfull_normalize_canonical_lcm_own_bound + S gcrt_common_index_gfull_normalize_canonical_lcm_own = l) -> (((exists ff_h_gcrt_gfull_normalize_canonical_lcm_own_entry. ff_h_gcrt_gfull_normalize_canonical_lcm_own_entry + S (gcrt_common_modulus_gfull_normalize_canonical_lcm_own) = S ((S (gcrt_common_index_gfull_normalize_canonical_lcm_own)) * c)) /\ exists ff_q_gcrt_gfull_normalize_canonical_lcm_own_entry. b = ff_q_gcrt_gfull_normalize_canonical_lcm_own_entry * S ((S (gcrt_common_index_gfull_normalize_canonical_lcm_own)) * c) + (gcrt_common_modulus_gfull_normalize_canonical_lcm_own))) -> exists gcrt_common_quotient_gfull_normalize_canonical_lcm_own. M = gcrt_common_modulus_gfull_normalize_canonical_lcm_own * gcrt_common_quotient_gfull_normalize_canonical_lcm_own) /\ forall gcrt_lcm_common_gfull_normalize_canonical_lcm. (forall gcrt_common_index_gfull_normalize_canonical_lcm_other gcrt_common_modulus_gfull_normalize_canonical_lcm_other. (exists ff_lt_gcrt_gfull_normalize_canonical_lcm_other_bound. ff_lt_gcrt_gfull_normalize_canonical_lcm_other_bound + S gcrt_common_index_gfull_normalize_canonical_lcm_other = l) -> (((exists ff_h_gcrt_gfull_normalize_canonical_lcm_other_entry. ff_h_gcrt_gfull_normalize_canonical_lcm_other_entry + S (gcrt_common_modulus_gfull_normalize_canonical_lcm_other) = S ((S (gcrt_common_index_gfull_normalize_canonical_lcm_other)) * c)) /\ exists ff_q_gcrt_gfull_normalize_canonical_lcm_other_entry. b = ff_q_gcrt_gfull_normalize_canonical_lcm_other_entry * S ((S (gcrt_common_index_gfull_normalize_canonical_lcm_other)) * c) + (gcrt_common_modulus_gfull_normalize_canonical_lcm_other))) -> exists gcrt_common_quotient_gfull_normalize_canonical_lcm_other. gcrt_lcm_common_gfull_normalize_canonical_lcm = gcrt_common_modulus_gfull_normalize_canonical_lcm_other * gcrt_common_quotient_gfull_normalize_canonical_lcm_other) -> exists gcrt_lcm_quotient_gfull_normalize_canonical_lcm. gcrt_lcm_common_gfull_normalize_canonical_lcm = M * gcrt_lcm_quotient_gfull_normalize_canonical_lcm)) /\ ((exists ff_lt_gcrt_gfull_normalize_canonical_bounded. ff_lt_gcrt_gfull_normalize_canonical_bounded + S y = M) /\ (forall gcrt_solution_index_gfull_normalize_canonical_solution gcrt_solution_residue_gfull_normalize_canonical_solution gcrt_solution_modulus_gfull_normalize_canonical_solution. (exists ff_lt_gcrt_gfull_normalize_canonical_solution_bound. ff_lt_gcrt_gfull_normalize_canonical_solution_bound + S gcrt_solution_index_gfull_normalize_canonical_solution = l) -> (((exists ff_h_gcrt_gfull_normalize_canonical_solution_residue. ff_h_gcrt_gfull_normalize_canonical_solution_residue + S (gcrt_solution_residue_gfull_normalize_canonical_solution) = S ((S (gcrt_solution_index_gfull_normalize_canonical_solution)) * s)) /\ exists ff_q_gcrt_gfull_normalize_canonical_solution_residue. r = ff_q_gcrt_gfull_normalize_canonical_solution_residue * S ((S (gcrt_solution_index_gfull_normalize_canonical_solution)) * s) + (gcrt_solution_residue_gfull_normalize_canonical_solution))) -> (((exists ff_h_gcrt_gfull_normalize_canonical_solution_modulus. ff_h_gcrt_gfull_normalize_canonical_solution_modulus + S (gcrt_solution_modulus_gfull_normalize_canonical_solution) = S ((S (gcrt_solution_index_gfull_normalize_canonical_solution)) * c)) /\ exists ff_q_gcrt_gfull_normalize_canonical_solution_modulus. b = ff_q_gcrt_gfull_normalize_canonical_solution_modulus * S ((S (gcrt_solution_index_gfull_normalize_canonical_solution)) * c) + (gcrt_solution_modulus_gfull_normalize_canonical_solution))) -> (exists hgcrt_mod_left_gcrt_gfull_normalize_canonical_solution_congruence hgcrt_mod_right_gcrt_gfull_normalize_canonical_solution_congruence. y + gcrt_solution_modulus_gfull_normalize_canonical_solution * hgcrt_mod_left_gcrt_gfull_normalize_canonical_solution_congruence = gcrt_solution_residue_gfull_normalize_canonical_solution + gcrt_solution_modulus_gfull_normalize_canonical_solution * hgcrt_mod_right_gcrt_gfull_normalize_canonical_solution_congruence)))) - 0023
specialize crt_prefix_solution_canonical_remainder r - 0024
specialize crt_prefix_solution_canonical_remainder s - 0025
specialize crt_prefix_solution_canonical_remainder b - 0026
specialize crt_prefix_solution_canonical_remainder c - 0027
specialize crt_prefix_solution_canonical_remainder l - 0028
specialize crt_prefix_solution_canonical_remainder M - 0029
specialize crt_prefix_solution_canonical_remainder x - 0030
apply crt_prefix_solution_canonical_remainder - 0031
exact hz_right - 0032
exact hM - 0033
exact hs - 0034
cases hc - 0035
exists x1 - 0036
specialize crt_canonical_prefix_solution_implies_normalized r - 0037
specialize crt_canonical_prefix_solution_implies_normalized s - 0038
specialize crt_canonical_prefix_solution_implies_normalized b - 0039
specialize crt_canonical_prefix_solution_implies_normalized c - 0040
specialize crt_canonical_prefix_solution_implies_normalized l - 0041
specialize crt_canonical_prefix_solution_implies_normalized x1 - 0042
specialize crt_canonical_prefix_solution_implies_normalized M - 0043
apply crt_canonical_prefix_solution_implies_normalized - 0044
exact hc_witness