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. (forall gcrt_positive_index_final_positive gcrt_positive_value_final_positive. (exists ff_lt_gcrt_final_positive_bound. ff_lt_gcrt_final_positive_bound + S gcrt_positive_index_final_positive = l) -> (((exists ff_h_gcrt_final_positive_entry. ff_h_gcrt_final_positive_entry + S (gcrt_positive_value_final_positive) = S ((S (gcrt_positive_index_final_positive)) * c)) /\ exists ff_q_gcrt_final_positive_entry. b = ff_q_gcrt_final_positive_entry * S ((S (gcrt_positive_index_final_positive)) * c) + (gcrt_positive_value_final_positive))) -> ~(gcrt_positive_value_final_positive = 0)) -> (forall bpr_left_index_gcrt_final_pairwise bpr_right_index_gcrt_final_pairwise bpr_left_value_gcrt_final_pairwise bpr_right_value_gcrt_final_pairwise. (exists bpr_gap_gcrt_final_pairwise_left_bound. bpr_gap_gcrt_final_pairwise_left_bound + S (bpr_left_index_gcrt_final_pairwise) = l) -> (exists bpr_gap_gcrt_final_pairwise_right_bound. bpr_gap_gcrt_final_pairwise_right_bound + S (bpr_right_index_gcrt_final_pairwise) = l) -> (((exists bpr_height_gcrt_final_pairwise_left_at. bpr_height_gcrt_final_pairwise_left_at + S (bpr_left_value_gcrt_final_pairwise) = S ((S (bpr_left_index_gcrt_final_pairwise)) * c)) /\ exists bpr_quotient_gcrt_final_pairwise_left_at. b = bpr_quotient_gcrt_final_pairwise_left_at * S ((S (bpr_left_index_gcrt_final_pairwise)) * c) + (bpr_left_value_gcrt_final_pairwise))) -> (((exists bpr_height_gcrt_final_pairwise_right_at. bpr_height_gcrt_final_pairwise_right_at + S (bpr_right_value_gcrt_final_pairwise) = S ((S (bpr_right_index_gcrt_final_pairwise)) * c)) /\ exists bpr_quotient_gcrt_final_pairwise_right_at. b = bpr_quotient_gcrt_final_pairwise_right_at * S ((S (bpr_right_index_gcrt_final_pairwise)) * c) + (bpr_right_value_gcrt_final_pairwise))) -> ~(bpr_left_index_gcrt_final_pairwise = bpr_right_index_gcrt_final_pairwise) -> (forall bpr_coprime_divisor_gcrt_final_pairwise_coprime. (exists bpr_coprime_left_factor_gcrt_final_pairwise_coprime. bpr_left_value_gcrt_final_pairwise = bpr_coprime_divisor_gcrt_final_pairwise_coprime * bpr_coprime_left_factor_gcrt_final_pairwise_coprime) -> (exists bpr_coprime_right_factor_gcrt_final_pairwise_coprime. bpr_right_value_gcrt_final_pairwise = bpr_coprime_divisor_gcrt_final_pairwise_coprime * bpr_coprime_right_factor_gcrt_final_pairwise_coprime) -> bpr_coprime_divisor_gcrt_final_pairwise_coprime = 1)) -> exists x M. ((((((forall gcrt_common_index_final_chosen_lcm_own gcrt_common_modulus_final_chosen_lcm_own. (exists ff_lt_gcrt_final_chosen_lcm_own_bound. ff_lt_gcrt_final_chosen_lcm_own_bound + S gcrt_common_index_final_chosen_lcm_own = l) -> (((exists ff_h_gcrt_final_chosen_lcm_own_entry. ff_h_gcrt_final_chosen_lcm_own_entry + S (gcrt_common_modulus_final_chosen_lcm_own) = S ((S (gcrt_common_index_final_chosen_lcm_own)) * c)) /\ exists ff_q_gcrt_final_chosen_lcm_own_entry. b = ff_q_gcrt_final_chosen_lcm_own_entry * S ((S (gcrt_common_index_final_chosen_lcm_own)) * c) + (gcrt_common_modulus_final_chosen_lcm_own))) -> exists gcrt_common_quotient_final_chosen_lcm_own. M = gcrt_common_modulus_final_chosen_lcm_own * gcrt_common_quotient_final_chosen_lcm_own) /\ forall gcrt_lcm_common_final_chosen_lcm. (forall gcrt_common_index_final_chosen_lcm_other gcrt_common_modulus_final_chosen_lcm_other. (exists ff_lt_gcrt_final_chosen_lcm_other_bound. ff_lt_gcrt_final_chosen_lcm_other_bound + S gcrt_common_index_final_chosen_lcm_other = l) -> (((exists ff_h_gcrt_final_chosen_lcm_other_entry. ff_h_gcrt_final_chosen_lcm_other_entry + S (gcrt_common_modulus_final_chosen_lcm_other) = S ((S (gcrt_common_index_final_chosen_lcm_other)) * c)) /\ exists ff_q_gcrt_final_chosen_lcm_other_entry. b = ff_q_gcrt_final_chosen_lcm_other_entry * S ((S (gcrt_common_index_final_chosen_lcm_other)) * c) + (gcrt_common_modulus_final_chosen_lcm_other))) -> exists gcrt_common_quotient_final_chosen_lcm_other. gcrt_lcm_common_final_chosen_lcm = gcrt_common_modulus_final_chosen_lcm_other * gcrt_common_quotient_final_chosen_lcm_other) -> exists gcrt_lcm_quotient_final_chosen_lcm. gcrt_lcm_common_final_chosen_lcm = M * gcrt_lcm_quotient_final_chosen_lcm)) /\ ((exists ff_lt_gcrt_final_chosen_bounded. ff_lt_gcrt_final_chosen_bounded + S x = M) /\ (forall gcrt_solution_index_final_chosen_solution gcrt_solution_residue_final_chosen_solution gcrt_solution_modulus_final_chosen_solution. (exists ff_lt_gcrt_final_chosen_solution_bound. ff_lt_gcrt_final_chosen_solution_bound + S gcrt_solution_index_final_chosen_solution = l) -> (((exists ff_h_gcrt_final_chosen_solution_residue. ff_h_gcrt_final_chosen_solution_residue + S (gcrt_solution_residue_final_chosen_solution) = S ((S (gcrt_solution_index_final_chosen_solution)) * s)) /\ exists ff_q_gcrt_final_chosen_solution_residue. r = ff_q_gcrt_final_chosen_solution_residue * S ((S (gcrt_solution_index_final_chosen_solution)) * s) + (gcrt_solution_residue_final_chosen_solution))) -> (((exists ff_h_gcrt_final_chosen_solution_modulus. ff_h_gcrt_final_chosen_solution_modulus + S (gcrt_solution_modulus_final_chosen_solution) = S ((S (gcrt_solution_index_final_chosen_solution)) * c)) /\ exists ff_q_gcrt_final_chosen_solution_modulus. b = ff_q_gcrt_final_chosen_solution_modulus * S ((S (gcrt_solution_index_final_chosen_solution)) * c) + (gcrt_solution_modulus_final_chosen_solution))) -> (exists hgcrt_mod_left_gcrt_final_chosen_solution_congruence hgcrt_mod_right_gcrt_final_chosen_solution_congruence. x + gcrt_solution_modulus_final_chosen_solution * hgcrt_mod_left_gcrt_final_chosen_solution_congruence = gcrt_solution_residue_final_chosen_solution + gcrt_solution_modulus_final_chosen_solution * hgcrt_mod_right_gcrt_final_chosen_solution_congruence))))) /\ forall y. (((((forall gcrt_common_index_final_compared_lcm_own gcrt_common_modulus_final_compared_lcm_own. (exists ff_lt_gcrt_final_compared_lcm_own_bound. ff_lt_gcrt_final_compared_lcm_own_bound + S gcrt_common_index_final_compared_lcm_own = l) -> (((exists ff_h_gcrt_final_compared_lcm_own_entry. ff_h_gcrt_final_compared_lcm_own_entry + S (gcrt_common_modulus_final_compared_lcm_own) = S ((S (gcrt_common_index_final_compared_lcm_own)) * c)) /\ exists ff_q_gcrt_final_compared_lcm_own_entry. b = ff_q_gcrt_final_compared_lcm_own_entry * S ((S (gcrt_common_index_final_compared_lcm_own)) * c) + (gcrt_common_modulus_final_compared_lcm_own))) -> exists gcrt_common_quotient_final_compared_lcm_own. M = gcrt_common_modulus_final_compared_lcm_own * gcrt_common_quotient_final_compared_lcm_own) /\ forall gcrt_lcm_common_final_compared_lcm. (forall gcrt_common_index_final_compared_lcm_other gcrt_common_modulus_final_compared_lcm_other. (exists ff_lt_gcrt_final_compared_lcm_other_bound. ff_lt_gcrt_final_compared_lcm_other_bound + S gcrt_common_index_final_compared_lcm_other = l) -> (((exists ff_h_gcrt_final_compared_lcm_other_entry. ff_h_gcrt_final_compared_lcm_other_entry + S (gcrt_common_modulus_final_compared_lcm_other) = S ((S (gcrt_common_index_final_compared_lcm_other)) * c)) /\ exists ff_q_gcrt_final_compared_lcm_other_entry. b = ff_q_gcrt_final_compared_lcm_other_entry * S ((S (gcrt_common_index_final_compared_lcm_other)) * c) + (gcrt_common_modulus_final_compared_lcm_other))) -> exists gcrt_common_quotient_final_compared_lcm_other. gcrt_lcm_common_final_compared_lcm = gcrt_common_modulus_final_compared_lcm_other * gcrt_common_quotient_final_compared_lcm_other) -> exists gcrt_lcm_quotient_final_compared_lcm. gcrt_lcm_common_final_compared_lcm = M * gcrt_lcm_quotient_final_compared_lcm)) /\ ((exists ff_lt_gcrt_final_compared_bounded. ff_lt_gcrt_final_compared_bounded + S y = M) /\ (forall gcrt_solution_index_final_compared_solution gcrt_solution_residue_final_compared_solution gcrt_solution_modulus_final_compared_solution. (exists ff_lt_gcrt_final_compared_solution_bound. ff_lt_gcrt_final_compared_solution_bound + S gcrt_solution_index_final_compared_solution = l) -> (((exists ff_h_gcrt_final_compared_solution_residue. ff_h_gcrt_final_compared_solution_residue + S (gcrt_solution_residue_final_compared_solution) = S ((S (gcrt_solution_index_final_compared_solution)) * s)) /\ exists ff_q_gcrt_final_compared_solution_residue. r = ff_q_gcrt_final_compared_solution_residue * S ((S (gcrt_solution_index_final_compared_solution)) * s) + (gcrt_solution_residue_final_compared_solution))) -> (((exists ff_h_gcrt_final_compared_solution_modulus. ff_h_gcrt_final_compared_solution_modulus + S (gcrt_solution_modulus_final_compared_solution) = S ((S (gcrt_solution_index_final_compared_solution)) * c)) /\ exists ff_q_gcrt_final_compared_solution_modulus. b = ff_q_gcrt_final_compared_solution_modulus * S ((S (gcrt_solution_index_final_compared_solution)) * c) + (gcrt_solution_modulus_final_compared_solution))) -> (exists hgcrt_mod_left_gcrt_final_compared_solution_congruence hgcrt_mod_right_gcrt_final_compared_solution_congruence. y + gcrt_solution_modulus_final_compared_solution * hgcrt_mod_left_gcrt_final_compared_solution_congruence = gcrt_solution_residue_final_compared_solution + gcrt_solution_modulus_final_compared_solution * hgcrt_mod_right_gcrt_final_compared_solution_congruence))))) -> y = x)Constructive proof overview
Generated structural guide
Every arbitrary finite list of positive pairwise-coprime moduli has its exact lcm and a unique actual bounded CRT solution.
The unchanged tactic script uses 6 declared prerequisites and contains 70 exact native proof lines.
Alpha v34 checked-use · first admitted v24 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
beta_product_exists_unique Stable theorem; checked-use authorized CR000A crt_positive_moduli_prefix_product_nonzero CR000C crt_pairwise_coprime_prefix_product_is_lcm CR0013 crt_pairwise_coprime_prefix_solution_exists CR0019 crt_prefix_solution_canonical_remainder CR001A crt_canonical_prefix_solution_uniqueDirect 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 (5)
01Fix variables and assumptionsL1–7
02Use earlier factsL8–10
03Separate the logical casesL11–12
04Establish hnonzeroL13–22
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply crt positive moduli prefix product nonzero.
- L13
have hnonzero : ~(x = 0) - L14
specialize crt_positive_moduli_prefix_product_nonzero b - L15
specialize crt_positive_moduli_prefix_product_nonzero c - L16
specialize crt_positive_moduli_prefix_product_nonzero l - L17
specialize crt_positive_moduli_prefix_product_nonzero x - L18
intro hzero - L19
apply crt_positive_moduli_prefix_product_nonzero - L20
exact hpositive - L21
exact beta_product_exists_unique_witness_left - L22
exact hzero
05Establish hlcmL23–30
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply crt pairwise coprime prefix product is lcm.
- L23
have hlcm : CRTPrefixLCM(b,c,l,x)Definitions: CRTPrefixLCM - L24
specialize crt_pairwise_coprime_prefix_product_is_lcm b - L25
specialize crt_pairwise_coprime_prefix_product_is_lcm c - L26
specialize crt_pairwise_coprime_prefix_product_is_lcm l - L27
specialize crt_pairwise_coprime_prefix_product_is_lcm x - L28
apply crt_pairwise_coprime_prefix_product_is_lcm - L29
exact hpairs - L30
exact beta_product_exists_unique_witness_left
06Establish hsolutionL31–39
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply crt pairwise coprime prefix solution exists.
- L31
have hsolution : ∃ y. CRTPrefixSolution(r,s,b,c,l,y)Definitions: CRTPrefixSolution - L32
specialize crt_pairwise_coprime_prefix_solution_exists r - L33
specialize crt_pairwise_coprime_prefix_solution_exists s - L34
specialize crt_pairwise_coprime_prefix_solution_exists b - L35
specialize crt_pairwise_coprime_prefix_solution_exists c - L36
specialize crt_pairwise_coprime_prefix_solution_exists l - L37
apply crt_pairwise_coprime_prefix_solution_exists - L38
exact hpositive - L39
exact hpairs
07Separate the logical casesL40–40
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L40
cases hsolution
08Establish hcanonicalL41–50
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply crt prefix solution canonical remainder.
- L41
have hcanonical : ∃ z. CRTCanonicalPrefixSolution(r,s,b,c,l,z,x)Definitions: CRTCanonicalPrefixSolution - L42
specialize crt_prefix_solution_canonical_remainder r - L43
specialize crt_prefix_solution_canonical_remainder s - L44
specialize crt_prefix_solution_canonical_remainder b - L45
specialize crt_prefix_solution_canonical_remainder c - L46
specialize crt_prefix_solution_canonical_remainder l - L47
specialize crt_prefix_solution_canonical_remainder x - L48
specialize crt_prefix_solution_canonical_remainder x1 - L49
apply crt_prefix_solution_canonical_remainder - L50
exact hnonzero
09Use earlier factsL51–52
10Separate the logical casesL53–53
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L53
cases hcanonical
11Construct an explicit witnessL54–55
12Separate the logical casesL56–56
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L56
split
13Use earlier factsL57–57
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L57
exact hcanonical_witness
14Fix variables and assumptionsL58–59
15Use earlier factsL60–69
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L60
specialize crt_canonical_prefix_solution_unique r - L61
specialize crt_canonical_prefix_solution_unique s - L62
specialize crt_canonical_prefix_solution_unique b - L63
specialize crt_canonical_prefix_solution_unique c - L64
specialize crt_canonical_prefix_solution_unique l - L65
specialize crt_canonical_prefix_solution_unique x - L66
specialize crt_canonical_prefix_solution_unique x2 - L67
specialize crt_canonical_prefix_solution_unique y - L68
apply crt_canonical_prefix_solution_unique - L69
exact hcanonical_witness
16Use earlier factsL70–70
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L70
exact hy
Original exact command ledger · 70 lines
- 0001
intro r - 0002
intro s - 0003
intro b - 0004
intro c - 0005
intro l - 0006
intro hpositive - 0007
intro hpairs - 0008
specialize beta_product_exists_unique b - 0009
specialize beta_product_exists_unique c - 0010
specialize beta_product_exists_unique l - 0011
cases beta_product_exists_unique - 0012
cases beta_product_exists_unique_witness - 0013
have hnonzero : ~(x = 0) - 0014
specialize crt_positive_moduli_prefix_product_nonzero b - 0015
specialize crt_positive_moduli_prefix_product_nonzero c - 0016
specialize crt_positive_moduli_prefix_product_nonzero l - 0017
specialize crt_positive_moduli_prefix_product_nonzero x - 0018
intro hzero - 0019
apply crt_positive_moduli_prefix_product_nonzero - 0020
exact hpositive - 0021
exact beta_product_exists_unique_witness_left - 0022
exact hzero - 0023
have hlcm : ((forall gcrt_common_index_final_actual_lcm_own gcrt_common_modulus_final_actual_lcm_own. (exists ff_lt_gcrt_final_actual_lcm_own_bound. ff_lt_gcrt_final_actual_lcm_own_bound + S gcrt_common_index_final_actual_lcm_own = l) -> (((exists ff_h_gcrt_final_actual_lcm_own_entry. ff_h_gcrt_final_actual_lcm_own_entry + S (gcrt_common_modulus_final_actual_lcm_own) = S ((S (gcrt_common_index_final_actual_lcm_own)) * c)) /\ exists ff_q_gcrt_final_actual_lcm_own_entry. b = ff_q_gcrt_final_actual_lcm_own_entry * S ((S (gcrt_common_index_final_actual_lcm_own)) * c) + (gcrt_common_modulus_final_actual_lcm_own))) -> exists gcrt_common_quotient_final_actual_lcm_own. x = gcrt_common_modulus_final_actual_lcm_own * gcrt_common_quotient_final_actual_lcm_own) /\ forall gcrt_lcm_common_final_actual_lcm. (forall gcrt_common_index_final_actual_lcm_other gcrt_common_modulus_final_actual_lcm_other. (exists ff_lt_gcrt_final_actual_lcm_other_bound. ff_lt_gcrt_final_actual_lcm_other_bound + S gcrt_common_index_final_actual_lcm_other = l) -> (((exists ff_h_gcrt_final_actual_lcm_other_entry. ff_h_gcrt_final_actual_lcm_other_entry + S (gcrt_common_modulus_final_actual_lcm_other) = S ((S (gcrt_common_index_final_actual_lcm_other)) * c)) /\ exists ff_q_gcrt_final_actual_lcm_other_entry. b = ff_q_gcrt_final_actual_lcm_other_entry * S ((S (gcrt_common_index_final_actual_lcm_other)) * c) + (gcrt_common_modulus_final_actual_lcm_other))) -> exists gcrt_common_quotient_final_actual_lcm_other. gcrt_lcm_common_final_actual_lcm = gcrt_common_modulus_final_actual_lcm_other * gcrt_common_quotient_final_actual_lcm_other) -> exists gcrt_lcm_quotient_final_actual_lcm. gcrt_lcm_common_final_actual_lcm = x * gcrt_lcm_quotient_final_actual_lcm) - 0024
specialize crt_pairwise_coprime_prefix_product_is_lcm b - 0025
specialize crt_pairwise_coprime_prefix_product_is_lcm c - 0026
specialize crt_pairwise_coprime_prefix_product_is_lcm l - 0027
specialize crt_pairwise_coprime_prefix_product_is_lcm x - 0028
apply crt_pairwise_coprime_prefix_product_is_lcm - 0029
exact hpairs - 0030
exact beta_product_exists_unique_witness_left - 0031
have hsolution : exists y. (forall gcrt_solution_index_final_unbounded gcrt_solution_residue_final_unbounded gcrt_solution_modulus_final_unbounded. (exists ff_lt_gcrt_final_unbounded_bound. ff_lt_gcrt_final_unbounded_bound + S gcrt_solution_index_final_unbounded = l) -> (((exists ff_h_gcrt_final_unbounded_residue. ff_h_gcrt_final_unbounded_residue + S (gcrt_solution_residue_final_unbounded) = S ((S (gcrt_solution_index_final_unbounded)) * s)) /\ exists ff_q_gcrt_final_unbounded_residue. r = ff_q_gcrt_final_unbounded_residue * S ((S (gcrt_solution_index_final_unbounded)) * s) + (gcrt_solution_residue_final_unbounded))) -> (((exists ff_h_gcrt_final_unbounded_modulus. ff_h_gcrt_final_unbounded_modulus + S (gcrt_solution_modulus_final_unbounded) = S ((S (gcrt_solution_index_final_unbounded)) * c)) /\ exists ff_q_gcrt_final_unbounded_modulus. b = ff_q_gcrt_final_unbounded_modulus * S ((S (gcrt_solution_index_final_unbounded)) * c) + (gcrt_solution_modulus_final_unbounded))) -> (exists hgcrt_mod_left_gcrt_final_unbounded_congruence hgcrt_mod_right_gcrt_final_unbounded_congruence. y + gcrt_solution_modulus_final_unbounded * hgcrt_mod_left_gcrt_final_unbounded_congruence = gcrt_solution_residue_final_unbounded + gcrt_solution_modulus_final_unbounded * hgcrt_mod_right_gcrt_final_unbounded_congruence)) - 0032
specialize crt_pairwise_coprime_prefix_solution_exists r - 0033
specialize crt_pairwise_coprime_prefix_solution_exists s - 0034
specialize crt_pairwise_coprime_prefix_solution_exists b - 0035
specialize crt_pairwise_coprime_prefix_solution_exists c - 0036
specialize crt_pairwise_coprime_prefix_solution_exists l - 0037
apply crt_pairwise_coprime_prefix_solution_exists - 0038
exact hpositive - 0039
exact hpairs - 0040
cases hsolution - 0041
have hcanonical : exists z. (((((forall gcrt_common_index_final_canonical_lcm_own gcrt_common_modulus_final_canonical_lcm_own. (exists ff_lt_gcrt_final_canonical_lcm_own_bound. ff_lt_gcrt_final_canonical_lcm_own_bound + S gcrt_common_index_final_canonical_lcm_own = l) -> (((exists ff_h_gcrt_final_canonical_lcm_own_entry. ff_h_gcrt_final_canonical_lcm_own_entry + S (gcrt_common_modulus_final_canonical_lcm_own) = S ((S (gcrt_common_index_final_canonical_lcm_own)) * c)) /\ exists ff_q_gcrt_final_canonical_lcm_own_entry. b = ff_q_gcrt_final_canonical_lcm_own_entry * S ((S (gcrt_common_index_final_canonical_lcm_own)) * c) + (gcrt_common_modulus_final_canonical_lcm_own))) -> exists gcrt_common_quotient_final_canonical_lcm_own. x = gcrt_common_modulus_final_canonical_lcm_own * gcrt_common_quotient_final_canonical_lcm_own) /\ forall gcrt_lcm_common_final_canonical_lcm. (forall gcrt_common_index_final_canonical_lcm_other gcrt_common_modulus_final_canonical_lcm_other. (exists ff_lt_gcrt_final_canonical_lcm_other_bound. ff_lt_gcrt_final_canonical_lcm_other_bound + S gcrt_common_index_final_canonical_lcm_other = l) -> (((exists ff_h_gcrt_final_canonical_lcm_other_entry. ff_h_gcrt_final_canonical_lcm_other_entry + S (gcrt_common_modulus_final_canonical_lcm_other) = S ((S (gcrt_common_index_final_canonical_lcm_other)) * c)) /\ exists ff_q_gcrt_final_canonical_lcm_other_entry. b = ff_q_gcrt_final_canonical_lcm_other_entry * S ((S (gcrt_common_index_final_canonical_lcm_other)) * c) + (gcrt_common_modulus_final_canonical_lcm_other))) -> exists gcrt_common_quotient_final_canonical_lcm_other. gcrt_lcm_common_final_canonical_lcm = gcrt_common_modulus_final_canonical_lcm_other * gcrt_common_quotient_final_canonical_lcm_other) -> exists gcrt_lcm_quotient_final_canonical_lcm. gcrt_lcm_common_final_canonical_lcm = x * gcrt_lcm_quotient_final_canonical_lcm)) /\ ((exists ff_lt_gcrt_final_canonical_bounded. ff_lt_gcrt_final_canonical_bounded + S z = x) /\ (forall gcrt_solution_index_final_canonical_solution gcrt_solution_residue_final_canonical_solution gcrt_solution_modulus_final_canonical_solution. (exists ff_lt_gcrt_final_canonical_solution_bound. ff_lt_gcrt_final_canonical_solution_bound + S gcrt_solution_index_final_canonical_solution = l) -> (((exists ff_h_gcrt_final_canonical_solution_residue. ff_h_gcrt_final_canonical_solution_residue + S (gcrt_solution_residue_final_canonical_solution) = S ((S (gcrt_solution_index_final_canonical_solution)) * s)) /\ exists ff_q_gcrt_final_canonical_solution_residue. r = ff_q_gcrt_final_canonical_solution_residue * S ((S (gcrt_solution_index_final_canonical_solution)) * s) + (gcrt_solution_residue_final_canonical_solution))) -> (((exists ff_h_gcrt_final_canonical_solution_modulus. ff_h_gcrt_final_canonical_solution_modulus + S (gcrt_solution_modulus_final_canonical_solution) = S ((S (gcrt_solution_index_final_canonical_solution)) * c)) /\ exists ff_q_gcrt_final_canonical_solution_modulus. b = ff_q_gcrt_final_canonical_solution_modulus * S ((S (gcrt_solution_index_final_canonical_solution)) * c) + (gcrt_solution_modulus_final_canonical_solution))) -> (exists hgcrt_mod_left_gcrt_final_canonical_solution_congruence hgcrt_mod_right_gcrt_final_canonical_solution_congruence. z + gcrt_solution_modulus_final_canonical_solution * hgcrt_mod_left_gcrt_final_canonical_solution_congruence = gcrt_solution_residue_final_canonical_solution + gcrt_solution_modulus_final_canonical_solution * hgcrt_mod_right_gcrt_final_canonical_solution_congruence))))) - 0042
specialize crt_prefix_solution_canonical_remainder r - 0043
specialize crt_prefix_solution_canonical_remainder s - 0044
specialize crt_prefix_solution_canonical_remainder b - 0045
specialize crt_prefix_solution_canonical_remainder c - 0046
specialize crt_prefix_solution_canonical_remainder l - 0047
specialize crt_prefix_solution_canonical_remainder x - 0048
specialize crt_prefix_solution_canonical_remainder x1 - 0049
apply crt_prefix_solution_canonical_remainder - 0050
exact hnonzero - 0051
exact hlcm - 0052
exact hsolution_witness - 0053
cases hcanonical - 0054
exists x2 - 0055
exists x - 0056
split - 0057
exact hcanonical_witness - 0058
intro y - 0059
intro hy - 0060
specialize crt_canonical_prefix_solution_unique r - 0061
specialize crt_canonical_prefix_solution_unique s - 0062
specialize crt_canonical_prefix_solution_unique b - 0063
specialize crt_canonical_prefix_solution_unique c - 0064
specialize crt_canonical_prefix_solution_unique l - 0065
specialize crt_canonical_prefix_solution_unique x - 0066
specialize crt_canonical_prefix_solution_unique x2 - 0067
specialize crt_canonical_prefix_solution_unique y - 0068
apply crt_canonical_prefix_solution_unique - 0069
exact hcanonical_witness - 0070
exact hy
Separate complete second-wave branches: Full G011 proof · Alpha v27.