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 gcrt_positive_index_dominating_canonical_positive gcrt_positive_value_dominating_canonical_positive. (exists ff_lt_gcrt_dominating_canonical_positive_bound. ff_lt_gcrt_dominating_canonical_positive_bound + S gcrt_positive_index_dominating_canonical_positive = S l) -> (((exists ff_h_gcrt_dominating_canonical_positive_entry. ff_h_gcrt_dominating_canonical_positive_entry + S (gcrt_positive_value_dominating_canonical_positive) = S ((S (gcrt_positive_index_dominating_canonical_positive)) * c)) /\ exists ff_q_gcrt_dominating_canonical_positive_entry. b = ff_q_gcrt_dominating_canonical_positive_entry * S ((S (gcrt_positive_index_dominating_canonical_positive)) * c) + (gcrt_positive_value_dominating_canonical_positive))) -> ~(gcrt_positive_value_dominating_canonical_positive = 0)) -> (forall gcomp_left_index_dominating_canonical_pairs gcomp_right_index_dominating_canonical_pairs gcomp_left_residue_dominating_canonical_pairs gcomp_right_residue_dominating_canonical_pairs gcomp_left_modulus_dominating_canonical_pairs gcomp_right_modulus_dominating_canonical_pairs gcomp_pair_gcd_dominating_canonical_pairs. (exists ff_lt_gcrt_dominating_canonical_pairs_left_bound. ff_lt_gcrt_dominating_canonical_pairs_left_bound + S gcomp_left_index_dominating_canonical_pairs = S l) -> (exists ff_lt_gcrt_dominating_canonical_pairs_right_bound. ff_lt_gcrt_dominating_canonical_pairs_right_bound + S gcomp_right_index_dominating_canonical_pairs = S l) -> (((exists ff_h_gcrt_dominating_canonical_pairs_left_residue. ff_h_gcrt_dominating_canonical_pairs_left_residue + S (gcomp_left_residue_dominating_canonical_pairs) = S ((S (gcomp_left_index_dominating_canonical_pairs)) * s)) /\ exists ff_q_gcrt_dominating_canonical_pairs_left_residue. r = ff_q_gcrt_dominating_canonical_pairs_left_residue * S ((S (gcomp_left_index_dominating_canonical_pairs)) * s) + (gcomp_left_residue_dominating_canonical_pairs))) -> (((exists ff_h_gcrt_dominating_canonical_pairs_right_residue. ff_h_gcrt_dominating_canonical_pairs_right_residue + S (gcomp_right_residue_dominating_canonical_pairs) = S ((S (gcomp_right_index_dominating_canonical_pairs)) * s)) /\ exists ff_q_gcrt_dominating_canonical_pairs_right_residue. r = ff_q_gcrt_dominating_canonical_pairs_right_residue * S ((S (gcomp_right_index_dominating_canonical_pairs)) * s) + (gcomp_right_residue_dominating_canonical_pairs))) -> (((exists ff_h_gcrt_dominating_canonical_pairs_left_modulus. ff_h_gcrt_dominating_canonical_pairs_left_modulus + S (gcomp_left_modulus_dominating_canonical_pairs) = S ((S (gcomp_left_index_dominating_canonical_pairs)) * c)) /\ exists ff_q_gcrt_dominating_canonical_pairs_left_modulus. b = ff_q_gcrt_dominating_canonical_pairs_left_modulus * S ((S (gcomp_left_index_dominating_canonical_pairs)) * c) + (gcomp_left_modulus_dominating_canonical_pairs))) -> (((exists ff_h_gcrt_dominating_canonical_pairs_right_modulus. ff_h_gcrt_dominating_canonical_pairs_right_modulus + S (gcomp_right_modulus_dominating_canonical_pairs) = S ((S (gcomp_right_index_dominating_canonical_pairs)) * c)) /\ exists ff_q_gcrt_dominating_canonical_pairs_right_modulus. b = ff_q_gcrt_dominating_canonical_pairs_right_modulus * S ((S (gcomp_right_index_dominating_canonical_pairs)) * c) + (gcomp_right_modulus_dominating_canonical_pairs))) -> ((((exists hag_left_factor_gcomp_dominating_canonical_pairs_gcd. gcomp_left_modulus_dominating_canonical_pairs = gcomp_pair_gcd_dominating_canonical_pairs * hag_left_factor_gcomp_dominating_canonical_pairs_gcd) /\ (exists hag_right_factor_gcomp_dominating_canonical_pairs_gcd. gcomp_right_modulus_dominating_canonical_pairs = gcomp_pair_gcd_dominating_canonical_pairs * hag_right_factor_gcomp_dominating_canonical_pairs_gcd)) /\ forall hag_divisor_gcomp_dominating_canonical_pairs_gcd. (exists hag_common_left_gcomp_dominating_canonical_pairs_gcd. gcomp_left_modulus_dominating_canonical_pairs = hag_divisor_gcomp_dominating_canonical_pairs_gcd * hag_common_left_gcomp_dominating_canonical_pairs_gcd) -> (exists hag_common_right_gcomp_dominating_canonical_pairs_gcd. gcomp_right_modulus_dominating_canonical_pairs = hag_divisor_gcomp_dominating_canonical_pairs_gcd * hag_common_right_gcomp_dominating_canonical_pairs_gcd) -> exists hag_greatest_factor_gcomp_dominating_canonical_pairs_gcd. gcomp_pair_gcd_dominating_canonical_pairs = hag_divisor_gcomp_dominating_canonical_pairs_gcd * hag_greatest_factor_gcomp_dominating_canonical_pairs_gcd)) -> (exists hgcrt_mod_left_gcrt_dominating_canonical_pairs_result hgcrt_mod_right_gcrt_dominating_canonical_pairs_result. gcomp_left_residue_dominating_canonical_pairs + gcomp_pair_gcd_dominating_canonical_pairs * hgcrt_mod_left_gcrt_dominating_canonical_pairs_result = gcomp_right_residue_dominating_canonical_pairs + gcomp_pair_gcd_dominating_canonical_pairs * hgcrt_mod_right_gcrt_dominating_canonical_pairs_result)) -> (((exists ff_h_gcrt_dominating_canonical_residue. ff_h_gcrt_dominating_canonical_residue + S (a) = S ((S (l)) * s)) /\ exists ff_q_gcrt_dominating_canonical_residue. r = ff_q_gcrt_dominating_canonical_residue * S ((S (l)) * s) + (a))) -> (((exists ff_h_gcrt_dominating_canonical_modulus. ff_h_gcrt_dominating_canonical_modulus + S (M) = S ((S (l)) * c)) /\ exists ff_q_gcrt_dominating_canonical_modulus. b = ff_q_gcrt_dominating_canonical_modulus * S ((S (l)) * c) + (M))) -> (forall gcrt_common_index_dominating_canonical_common gcrt_common_modulus_dominating_canonical_common. (exists ff_lt_gcrt_dominating_canonical_common_bound. ff_lt_gcrt_dominating_canonical_common_bound + S gcrt_common_index_dominating_canonical_common = l) -> (((exists ff_h_gcrt_dominating_canonical_common_entry. ff_h_gcrt_dominating_canonical_common_entry + S (gcrt_common_modulus_dominating_canonical_common) = S ((S (gcrt_common_index_dominating_canonical_common)) * c)) /\ exists ff_q_gcrt_dominating_canonical_common_entry. b = ff_q_gcrt_dominating_canonical_common_entry * S ((S (gcrt_common_index_dominating_canonical_common)) * c) + (gcrt_common_modulus_dominating_canonical_common))) -> exists gcrt_common_quotient_dominating_canonical_common. M = gcrt_common_modulus_dominating_canonical_common * gcrt_common_quotient_dominating_canonical_common) -> exists x L. ((((((forall gcrt_common_index_dominating_canonical_chosen_lcm_own gcrt_common_modulus_dominating_canonical_chosen_lcm_own. (exists ff_lt_gcrt_dominating_canonical_chosen_lcm_own_bound. ff_lt_gcrt_dominating_canonical_chosen_lcm_own_bound + S gcrt_common_index_dominating_canonical_chosen_lcm_own = S l) -> (((exists ff_h_gcrt_dominating_canonical_chosen_lcm_own_entry. ff_h_gcrt_dominating_canonical_chosen_lcm_own_entry + S (gcrt_common_modulus_dominating_canonical_chosen_lcm_own) = S ((S (gcrt_common_index_dominating_canonical_chosen_lcm_own)) * c)) /\ exists ff_q_gcrt_dominating_canonical_chosen_lcm_own_entry. b = ff_q_gcrt_dominating_canonical_chosen_lcm_own_entry * S ((S (gcrt_common_index_dominating_canonical_chosen_lcm_own)) * c) + (gcrt_common_modulus_dominating_canonical_chosen_lcm_own))) -> exists gcrt_common_quotient_dominating_canonical_chosen_lcm_own. L = gcrt_common_modulus_dominating_canonical_chosen_lcm_own * gcrt_common_quotient_dominating_canonical_chosen_lcm_own) /\ forall gcrt_lcm_common_dominating_canonical_chosen_lcm. (forall gcrt_common_index_dominating_canonical_chosen_lcm_other gcrt_common_modulus_dominating_canonical_chosen_lcm_other. (exists ff_lt_gcrt_dominating_canonical_chosen_lcm_other_bound. ff_lt_gcrt_dominating_canonical_chosen_lcm_other_bound + S gcrt_common_index_dominating_canonical_chosen_lcm_other = S l) -> (((exists ff_h_gcrt_dominating_canonical_chosen_lcm_other_entry. ff_h_gcrt_dominating_canonical_chosen_lcm_other_entry + S (gcrt_common_modulus_dominating_canonical_chosen_lcm_other) = S ((S (gcrt_common_index_dominating_canonical_chosen_lcm_other)) * c)) /\ exists ff_q_gcrt_dominating_canonical_chosen_lcm_other_entry. b = ff_q_gcrt_dominating_canonical_chosen_lcm_other_entry * S ((S (gcrt_common_index_dominating_canonical_chosen_lcm_other)) * c) + (gcrt_common_modulus_dominating_canonical_chosen_lcm_other))) -> exists gcrt_common_quotient_dominating_canonical_chosen_lcm_other. gcrt_lcm_common_dominating_canonical_chosen_lcm = gcrt_common_modulus_dominating_canonical_chosen_lcm_other * gcrt_common_quotient_dominating_canonical_chosen_lcm_other) -> exists gcrt_lcm_quotient_dominating_canonical_chosen_lcm. gcrt_lcm_common_dominating_canonical_chosen_lcm = L * gcrt_lcm_quotient_dominating_canonical_chosen_lcm)) /\ ((exists ff_lt_gcrt_dominating_canonical_chosen_bounded. ff_lt_gcrt_dominating_canonical_chosen_bounded + S x = L) /\ (forall gcrt_solution_index_dominating_canonical_chosen_solution gcrt_solution_residue_dominating_canonical_chosen_solution gcrt_solution_modulus_dominating_canonical_chosen_solution. (exists ff_lt_gcrt_dominating_canonical_chosen_solution_bound. ff_lt_gcrt_dominating_canonical_chosen_solution_bound + S gcrt_solution_index_dominating_canonical_chosen_solution = S l) -> (((exists ff_h_gcrt_dominating_canonical_chosen_solution_residue. ff_h_gcrt_dominating_canonical_chosen_solution_residue + S (gcrt_solution_residue_dominating_canonical_chosen_solution) = S ((S (gcrt_solution_index_dominating_canonical_chosen_solution)) * s)) /\ exists ff_q_gcrt_dominating_canonical_chosen_solution_residue. r = ff_q_gcrt_dominating_canonical_chosen_solution_residue * S ((S (gcrt_solution_index_dominating_canonical_chosen_solution)) * s) + (gcrt_solution_residue_dominating_canonical_chosen_solution))) -> (((exists ff_h_gcrt_dominating_canonical_chosen_solution_modulus. ff_h_gcrt_dominating_canonical_chosen_solution_modulus + S (gcrt_solution_modulus_dominating_canonical_chosen_solution) = S ((S (gcrt_solution_index_dominating_canonical_chosen_solution)) * c)) /\ exists ff_q_gcrt_dominating_canonical_chosen_solution_modulus. b = ff_q_gcrt_dominating_canonical_chosen_solution_modulus * S ((S (gcrt_solution_index_dominating_canonical_chosen_solution)) * c) + (gcrt_solution_modulus_dominating_canonical_chosen_solution))) -> (exists hgcrt_mod_left_gcrt_dominating_canonical_chosen_solution_congruence hgcrt_mod_right_gcrt_dominating_canonical_chosen_solution_congruence. x + gcrt_solution_modulus_dominating_canonical_chosen_solution * hgcrt_mod_left_gcrt_dominating_canonical_chosen_solution_congruence = gcrt_solution_residue_dominating_canonical_chosen_solution + gcrt_solution_modulus_dominating_canonical_chosen_solution * hgcrt_mod_right_gcrt_dominating_canonical_chosen_solution_congruence))))) /\ forall y. (((((forall gcrt_common_index_dominating_canonical_compared_lcm_own gcrt_common_modulus_dominating_canonical_compared_lcm_own. (exists ff_lt_gcrt_dominating_canonical_compared_lcm_own_bound. ff_lt_gcrt_dominating_canonical_compared_lcm_own_bound + S gcrt_common_index_dominating_canonical_compared_lcm_own = S l) -> (((exists ff_h_gcrt_dominating_canonical_compared_lcm_own_entry. ff_h_gcrt_dominating_canonical_compared_lcm_own_entry + S (gcrt_common_modulus_dominating_canonical_compared_lcm_own) = S ((S (gcrt_common_index_dominating_canonical_compared_lcm_own)) * c)) /\ exists ff_q_gcrt_dominating_canonical_compared_lcm_own_entry. b = ff_q_gcrt_dominating_canonical_compared_lcm_own_entry * S ((S (gcrt_common_index_dominating_canonical_compared_lcm_own)) * c) + (gcrt_common_modulus_dominating_canonical_compared_lcm_own))) -> exists gcrt_common_quotient_dominating_canonical_compared_lcm_own. L = gcrt_common_modulus_dominating_canonical_compared_lcm_own * gcrt_common_quotient_dominating_canonical_compared_lcm_own) /\ forall gcrt_lcm_common_dominating_canonical_compared_lcm. (forall gcrt_common_index_dominating_canonical_compared_lcm_other gcrt_common_modulus_dominating_canonical_compared_lcm_other. (exists ff_lt_gcrt_dominating_canonical_compared_lcm_other_bound. ff_lt_gcrt_dominating_canonical_compared_lcm_other_bound + S gcrt_common_index_dominating_canonical_compared_lcm_other = S l) -> (((exists ff_h_gcrt_dominating_canonical_compared_lcm_other_entry. ff_h_gcrt_dominating_canonical_compared_lcm_other_entry + S (gcrt_common_modulus_dominating_canonical_compared_lcm_other) = S ((S (gcrt_common_index_dominating_canonical_compared_lcm_other)) * c)) /\ exists ff_q_gcrt_dominating_canonical_compared_lcm_other_entry. b = ff_q_gcrt_dominating_canonical_compared_lcm_other_entry * S ((S (gcrt_common_index_dominating_canonical_compared_lcm_other)) * c) + (gcrt_common_modulus_dominating_canonical_compared_lcm_other))) -> exists gcrt_common_quotient_dominating_canonical_compared_lcm_other. gcrt_lcm_common_dominating_canonical_compared_lcm = gcrt_common_modulus_dominating_canonical_compared_lcm_other * gcrt_common_quotient_dominating_canonical_compared_lcm_other) -> exists gcrt_lcm_quotient_dominating_canonical_compared_lcm. gcrt_lcm_common_dominating_canonical_compared_lcm = L * gcrt_lcm_quotient_dominating_canonical_compared_lcm)) /\ ((exists ff_lt_gcrt_dominating_canonical_compared_bounded. ff_lt_gcrt_dominating_canonical_compared_bounded + S y = L) /\ (forall gcrt_solution_index_dominating_canonical_compared_solution gcrt_solution_residue_dominating_canonical_compared_solution gcrt_solution_modulus_dominating_canonical_compared_solution. (exists ff_lt_gcrt_dominating_canonical_compared_solution_bound. ff_lt_gcrt_dominating_canonical_compared_solution_bound + S gcrt_solution_index_dominating_canonical_compared_solution = S l) -> (((exists ff_h_gcrt_dominating_canonical_compared_solution_residue. ff_h_gcrt_dominating_canonical_compared_solution_residue + S (gcrt_solution_residue_dominating_canonical_compared_solution) = S ((S (gcrt_solution_index_dominating_canonical_compared_solution)) * s)) /\ exists ff_q_gcrt_dominating_canonical_compared_solution_residue. r = ff_q_gcrt_dominating_canonical_compared_solution_residue * S ((S (gcrt_solution_index_dominating_canonical_compared_solution)) * s) + (gcrt_solution_residue_dominating_canonical_compared_solution))) -> (((exists ff_h_gcrt_dominating_canonical_compared_solution_modulus. ff_h_gcrt_dominating_canonical_compared_solution_modulus + S (gcrt_solution_modulus_dominating_canonical_compared_solution) = S ((S (gcrt_solution_index_dominating_canonical_compared_solution)) * c)) /\ exists ff_q_gcrt_dominating_canonical_compared_solution_modulus. b = ff_q_gcrt_dominating_canonical_compared_solution_modulus * S ((S (gcrt_solution_index_dominating_canonical_compared_solution)) * c) + (gcrt_solution_modulus_dominating_canonical_compared_solution))) -> (exists hgcrt_mod_left_gcrt_dominating_canonical_compared_solution_congruence hgcrt_mod_right_gcrt_dominating_canonical_compared_solution_congruence. y + gcrt_solution_modulus_dominating_canonical_compared_solution * hgcrt_mod_left_gcrt_dominating_canonical_compared_solution_congruence = gcrt_solution_residue_dominating_canonical_compared_solution + gcrt_solution_modulus_dominating_canonical_compared_solution * hgcrt_mod_right_gcrt_dominating_canonical_compared_solution_congruence))))) -> y = x)Constructive proof overview
Generated structural guide
Every positive pairwise gcd-compatible successor list whose last modulus dominates all predecessors has its exact list LCM and a unique strictly bounded simultaneous solution without assuming pairwise coprimality or the stronger merge invariant.
The unchanged tactic script uses 5 declared prerequisites and contains 68 exact native proof lines.
Alpha v34 checked-use · first admitted v25 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
GC0017 crt_pairwise_compatible_dominating_last_solution crt_prefix_lcm_exists_unique Alpha theorem; checked-use authorized GC000A crt_positive_prefix_lcm_nonzero crt_prefix_solution_canonical_remainder Alpha theorem; checked-use authorized crt_canonical_prefix_solution_unique Alpha 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 (2)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–12
03Use earlier factsL13–15
04Separate the logical casesL16–17
05Establish hnonzeroL18–27
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply crt positive prefix lcm nonzero.
- L18
have hnonzero : ~(x = 0) - L19
specialize crt_positive_prefix_lcm_nonzero b - L20
specialize crt_positive_prefix_lcm_nonzero c - L21
specialize crt_positive_prefix_lcm_nonzero (S l) - L22
specialize crt_positive_prefix_lcm_nonzero x - L23
intro hz - L24
apply crt_positive_prefix_lcm_nonzero - L25
exact hpositive - L26
exact crt_prefix_lcm_exists_unique_witness_left - L27
exact hz
06Establish hcanonicalL28–37
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply crt prefix solution canonical remainder.
- L28
have hcanonical : ∃ z. CRTCanonicalPrefixSolution(r,s,b,c,S l,z,x)Definitions: CRTCanonicalPrefixSolution - L29
specialize crt_prefix_solution_canonical_remainder r - L30
specialize crt_prefix_solution_canonical_remainder s - L31
specialize crt_prefix_solution_canonical_remainder b - L32
specialize crt_prefix_solution_canonical_remainder c - L33
specialize crt_prefix_solution_canonical_remainder (S l) - L34
specialize crt_prefix_solution_canonical_remainder x - L35
specialize crt_prefix_solution_canonical_remainder a - L36
apply crt_prefix_solution_canonical_remainder - L37
exact hnonzero
07Use earlier factsL38–47
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L38
exact crt_prefix_lcm_exists_unique_witness_left - L39
specialize crt_pairwise_compatible_dominating_last_solution r - L40
specialize crt_pairwise_compatible_dominating_last_solution s - L41
specialize crt_pairwise_compatible_dominating_last_solution b - L42
specialize crt_pairwise_compatible_dominating_last_solution c - L43
specialize crt_pairwise_compatible_dominating_last_solution l - L44
specialize crt_pairwise_compatible_dominating_last_solution a - L45
specialize crt_pairwise_compatible_dominating_last_solution M - L46
apply crt_pairwise_compatible_dominating_last_solution - L47
exact hpairs
08Use earlier factsL48–50
09Separate the logical casesL51–51
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L51
cases hcanonical
10Construct an explicit witnessL52–53
11Separate the logical casesL54–54
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L54
split
12Use earlier factsL55–55
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L55
exact hcanonical_witness
13Fix variables and assumptionsL56–57
14Use earlier factsL58–67
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L58
specialize crt_canonical_prefix_solution_unique r - L59
specialize crt_canonical_prefix_solution_unique s - L60
specialize crt_canonical_prefix_solution_unique b - L61
specialize crt_canonical_prefix_solution_unique c - L62
specialize crt_canonical_prefix_solution_unique (S l) - L63
specialize crt_canonical_prefix_solution_unique x - L64
specialize crt_canonical_prefix_solution_unique x1 - L65
specialize crt_canonical_prefix_solution_unique y - L66
apply crt_canonical_prefix_solution_unique - L67
exact hcanonical_witness
15Use earlier factsL68–68
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L68
exact hy
Original exact command ledger · 68 lines
- 0001
intro r - 0002
intro s - 0003
intro b - 0004
intro c - 0005
intro l - 0006
intro a - 0007
intro M - 0008
intro hpositive - 0009
intro hpairs - 0010
intro ha - 0011
intro hM - 0012
intro hcommon - 0013
specialize crt_prefix_lcm_exists_unique b - 0014
specialize crt_prefix_lcm_exists_unique c - 0015
specialize crt_prefix_lcm_exists_unique (S l) - 0016
cases crt_prefix_lcm_exists_unique - 0017
cases crt_prefix_lcm_exists_unique_witness - 0018
have hnonzero : ~(x = 0) - 0019
specialize crt_positive_prefix_lcm_nonzero b - 0020
specialize crt_positive_prefix_lcm_nonzero c - 0021
specialize crt_positive_prefix_lcm_nonzero (S l) - 0022
specialize crt_positive_prefix_lcm_nonzero x - 0023
intro hz - 0024
apply crt_positive_prefix_lcm_nonzero - 0025
exact hpositive - 0026
exact crt_prefix_lcm_exists_unique_witness_left - 0027
exact hz - 0028
have hcanonical : exists z. (((((forall gcrt_common_index_dominating_canonical_actual_lcm_own gcrt_common_modulus_dominating_canonical_actual_lcm_own. (exists ff_lt_gcrt_dominating_canonical_actual_lcm_own_bound. ff_lt_gcrt_dominating_canonical_actual_lcm_own_bound + S gcrt_common_index_dominating_canonical_actual_lcm_own = S l) -> (((exists ff_h_gcrt_dominating_canonical_actual_lcm_own_entry. ff_h_gcrt_dominating_canonical_actual_lcm_own_entry + S (gcrt_common_modulus_dominating_canonical_actual_lcm_own) = S ((S (gcrt_common_index_dominating_canonical_actual_lcm_own)) * c)) /\ exists ff_q_gcrt_dominating_canonical_actual_lcm_own_entry. b = ff_q_gcrt_dominating_canonical_actual_lcm_own_entry * S ((S (gcrt_common_index_dominating_canonical_actual_lcm_own)) * c) + (gcrt_common_modulus_dominating_canonical_actual_lcm_own))) -> exists gcrt_common_quotient_dominating_canonical_actual_lcm_own. x = gcrt_common_modulus_dominating_canonical_actual_lcm_own * gcrt_common_quotient_dominating_canonical_actual_lcm_own) /\ forall gcrt_lcm_common_dominating_canonical_actual_lcm. (forall gcrt_common_index_dominating_canonical_actual_lcm_other gcrt_common_modulus_dominating_canonical_actual_lcm_other. (exists ff_lt_gcrt_dominating_canonical_actual_lcm_other_bound. ff_lt_gcrt_dominating_canonical_actual_lcm_other_bound + S gcrt_common_index_dominating_canonical_actual_lcm_other = S l) -> (((exists ff_h_gcrt_dominating_canonical_actual_lcm_other_entry. ff_h_gcrt_dominating_canonical_actual_lcm_other_entry + S (gcrt_common_modulus_dominating_canonical_actual_lcm_other) = S ((S (gcrt_common_index_dominating_canonical_actual_lcm_other)) * c)) /\ exists ff_q_gcrt_dominating_canonical_actual_lcm_other_entry. b = ff_q_gcrt_dominating_canonical_actual_lcm_other_entry * S ((S (gcrt_common_index_dominating_canonical_actual_lcm_other)) * c) + (gcrt_common_modulus_dominating_canonical_actual_lcm_other))) -> exists gcrt_common_quotient_dominating_canonical_actual_lcm_other. gcrt_lcm_common_dominating_canonical_actual_lcm = gcrt_common_modulus_dominating_canonical_actual_lcm_other * gcrt_common_quotient_dominating_canonical_actual_lcm_other) -> exists gcrt_lcm_quotient_dominating_canonical_actual_lcm. gcrt_lcm_common_dominating_canonical_actual_lcm = x * gcrt_lcm_quotient_dominating_canonical_actual_lcm)) /\ ((exists ff_lt_gcrt_dominating_canonical_actual_bounded. ff_lt_gcrt_dominating_canonical_actual_bounded + S z = x) /\ (forall gcrt_solution_index_dominating_canonical_actual_solution gcrt_solution_residue_dominating_canonical_actual_solution gcrt_solution_modulus_dominating_canonical_actual_solution. (exists ff_lt_gcrt_dominating_canonical_actual_solution_bound. ff_lt_gcrt_dominating_canonical_actual_solution_bound + S gcrt_solution_index_dominating_canonical_actual_solution = S l) -> (((exists ff_h_gcrt_dominating_canonical_actual_solution_residue. ff_h_gcrt_dominating_canonical_actual_solution_residue + S (gcrt_solution_residue_dominating_canonical_actual_solution) = S ((S (gcrt_solution_index_dominating_canonical_actual_solution)) * s)) /\ exists ff_q_gcrt_dominating_canonical_actual_solution_residue. r = ff_q_gcrt_dominating_canonical_actual_solution_residue * S ((S (gcrt_solution_index_dominating_canonical_actual_solution)) * s) + (gcrt_solution_residue_dominating_canonical_actual_solution))) -> (((exists ff_h_gcrt_dominating_canonical_actual_solution_modulus. ff_h_gcrt_dominating_canonical_actual_solution_modulus + S (gcrt_solution_modulus_dominating_canonical_actual_solution) = S ((S (gcrt_solution_index_dominating_canonical_actual_solution)) * c)) /\ exists ff_q_gcrt_dominating_canonical_actual_solution_modulus. b = ff_q_gcrt_dominating_canonical_actual_solution_modulus * S ((S (gcrt_solution_index_dominating_canonical_actual_solution)) * c) + (gcrt_solution_modulus_dominating_canonical_actual_solution))) -> (exists hgcrt_mod_left_gcrt_dominating_canonical_actual_solution_congruence hgcrt_mod_right_gcrt_dominating_canonical_actual_solution_congruence. z + gcrt_solution_modulus_dominating_canonical_actual_solution * hgcrt_mod_left_gcrt_dominating_canonical_actual_solution_congruence = gcrt_solution_residue_dominating_canonical_actual_solution + gcrt_solution_modulus_dominating_canonical_actual_solution * hgcrt_mod_right_gcrt_dominating_canonical_actual_solution_congruence))))) - 0029
specialize crt_prefix_solution_canonical_remainder r - 0030
specialize crt_prefix_solution_canonical_remainder s - 0031
specialize crt_prefix_solution_canonical_remainder b - 0032
specialize crt_prefix_solution_canonical_remainder c - 0033
specialize crt_prefix_solution_canonical_remainder (S l) - 0034
specialize crt_prefix_solution_canonical_remainder x - 0035
specialize crt_prefix_solution_canonical_remainder a - 0036
apply crt_prefix_solution_canonical_remainder - 0037
exact hnonzero - 0038
exact crt_prefix_lcm_exists_unique_witness_left - 0039
specialize crt_pairwise_compatible_dominating_last_solution r - 0040
specialize crt_pairwise_compatible_dominating_last_solution s - 0041
specialize crt_pairwise_compatible_dominating_last_solution b - 0042
specialize crt_pairwise_compatible_dominating_last_solution c - 0043
specialize crt_pairwise_compatible_dominating_last_solution l - 0044
specialize crt_pairwise_compatible_dominating_last_solution a - 0045
specialize crt_pairwise_compatible_dominating_last_solution M - 0046
apply crt_pairwise_compatible_dominating_last_solution - 0047
exact hpairs - 0048
exact ha - 0049
exact hM - 0050
exact hcommon - 0051
cases hcanonical - 0052
exists x1 - 0053
exists x - 0054
split - 0055
exact hcanonical_witness - 0056
intro y - 0057
intro hy - 0058
specialize crt_canonical_prefix_solution_unique r - 0059
specialize crt_canonical_prefix_solution_unique s - 0060
specialize crt_canonical_prefix_solution_unique b - 0061
specialize crt_canonical_prefix_solution_unique c - 0062
specialize crt_canonical_prefix_solution_unique (S l) - 0063
specialize crt_canonical_prefix_solution_unique x - 0064
specialize crt_canonical_prefix_solution_unique x1 - 0065
specialize crt_canonical_prefix_solution_unique y - 0066
apply crt_canonical_prefix_solution_unique - 0067
exact hcanonical_witness - 0068
exact hy
Separate complete second-wave branches: Full G011 proof · Alpha v27.