FC0015

crt_pairwise_compatible_prefix_merge_iff

Alpha v34 independently verified · alpha_closed; checked-use authorized; not Stable

Pairwise compatibility and the formerly stronger predecessor-LCM merge invariant are constructively equivalent for arbitrary finite natural lists.

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 gcomp_left_index_gfull_merge_iff_pairs_forward gcomp_right_index_gfull_merge_iff_pairs_forward gcomp_left_residue_gfull_merge_iff_pairs_forward gcomp_right_residue_gfull_merge_iff_pairs_forward gcomp_left_modulus_gfull_merge_iff_pairs_forward gcomp_right_modulus_gfull_merge_iff_pairs_forward gcomp_pair_gcd_gfull_merge_iff_pairs_forward. (exists ff_lt_gcrt_gfull_merge_iff_pairs_forward_left_bound. ff_lt_gcrt_gfull_merge_iff_pairs_forward_left_bound + S gcomp_left_index_gfull_merge_iff_pairs_forward = l) -> (exists ff_lt_gcrt_gfull_merge_iff_pairs_forward_right_bound. ff_lt_gcrt_gfull_merge_iff_pairs_forward_right_bound + S gcomp_right_index_gfull_merge_iff_pairs_forward = l) -> (((exists ff_h_gcrt_gfull_merge_iff_pairs_forward_left_residue. ff_h_gcrt_gfull_merge_iff_pairs_forward_left_residue + S (gcomp_left_residue_gfull_merge_iff_pairs_forward) = S ((S (gcomp_left_index_gfull_merge_iff_pairs_forward)) * s)) /\ exists ff_q_gcrt_gfull_merge_iff_pairs_forward_left_residue. r = ff_q_gcrt_gfull_merge_iff_pairs_forward_left_residue * S ((S (gcomp_left_index_gfull_merge_iff_pairs_forward)) * s) + (gcomp_left_residue_gfull_merge_iff_pairs_forward))) -> (((exists ff_h_gcrt_gfull_merge_iff_pairs_forward_right_residue. ff_h_gcrt_gfull_merge_iff_pairs_forward_right_residue + S (gcomp_right_residue_gfull_merge_iff_pairs_forward) = S ((S (gcomp_right_index_gfull_merge_iff_pairs_forward)) * s)) /\ exists ff_q_gcrt_gfull_merge_iff_pairs_forward_right_residue. r = ff_q_gcrt_gfull_merge_iff_pairs_forward_right_residue * S ((S (gcomp_right_index_gfull_merge_iff_pairs_forward)) * s) + (gcomp_right_residue_gfull_merge_iff_pairs_forward))) -> (((exists ff_h_gcrt_gfull_merge_iff_pairs_forward_left_modulus. ff_h_gcrt_gfull_merge_iff_pairs_forward_left_modulus + S (gcomp_left_modulus_gfull_merge_iff_pairs_forward) = S ((S (gcomp_left_index_gfull_merge_iff_pairs_forward)) * c)) /\ exists ff_q_gcrt_gfull_merge_iff_pairs_forward_left_modulus. b = ff_q_gcrt_gfull_merge_iff_pairs_forward_left_modulus * S ((S (gcomp_left_index_gfull_merge_iff_pairs_forward)) * c) + (gcomp_left_modulus_gfull_merge_iff_pairs_forward))) -> (((exists ff_h_gcrt_gfull_merge_iff_pairs_forward_right_modulus. ff_h_gcrt_gfull_merge_iff_pairs_forward_right_modulus + S (gcomp_right_modulus_gfull_merge_iff_pairs_forward) = S ((S (gcomp_right_index_gfull_merge_iff_pairs_forward)) * c)) /\ exists ff_q_gcrt_gfull_merge_iff_pairs_forward_right_modulus. b = ff_q_gcrt_gfull_merge_iff_pairs_forward_right_modulus * S ((S (gcomp_right_index_gfull_merge_iff_pairs_forward)) * c) + (gcomp_right_modulus_gfull_merge_iff_pairs_forward))) -> ((((exists hag_left_factor_gcomp_gfull_merge_iff_pairs_forward_gcd. gcomp_left_modulus_gfull_merge_iff_pairs_forward = gcomp_pair_gcd_gfull_merge_iff_pairs_forward * hag_left_factor_gcomp_gfull_merge_iff_pairs_forward_gcd) /\ (exists hag_right_factor_gcomp_gfull_merge_iff_pairs_forward_gcd. gcomp_right_modulus_gfull_merge_iff_pairs_forward = gcomp_pair_gcd_gfull_merge_iff_pairs_forward * hag_right_factor_gcomp_gfull_merge_iff_pairs_forward_gcd)) /\ forall hag_divisor_gcomp_gfull_merge_iff_pairs_forward_gcd. (exists hag_common_left_gcomp_gfull_merge_iff_pairs_forward_gcd. gcomp_left_modulus_gfull_merge_iff_pairs_forward = hag_divisor_gcomp_gfull_merge_iff_pairs_forward_gcd * hag_common_left_gcomp_gfull_merge_iff_pairs_forward_gcd) -> (exists hag_common_right_gcomp_gfull_merge_iff_pairs_forward_gcd. gcomp_right_modulus_gfull_merge_iff_pairs_forward = hag_divisor_gcomp_gfull_merge_iff_pairs_forward_gcd * hag_common_right_gcomp_gfull_merge_iff_pairs_forward_gcd) -> exists hag_greatest_factor_gcomp_gfull_merge_iff_pairs_forward_gcd. gcomp_pair_gcd_gfull_merge_iff_pairs_forward = hag_divisor_gcomp_gfull_merge_iff_pairs_forward_gcd * hag_greatest_factor_gcomp_gfull_merge_iff_pairs_forward_gcd)) -> (exists hgcrt_mod_left_gcrt_gfull_merge_iff_pairs_forward_result hgcrt_mod_right_gcrt_gfull_merge_iff_pairs_forward_result. gcomp_left_residue_gfull_merge_iff_pairs_forward + gcomp_pair_gcd_gfull_merge_iff_pairs_forward * hgcrt_mod_left_gcrt_gfull_merge_iff_pairs_forward_result = gcomp_right_residue_gfull_merge_iff_pairs_forward + gcomp_pair_gcd_gfull_merge_iff_pairs_forward * hgcrt_mod_right_gcrt_gfull_merge_iff_pairs_forward_result)) -> (forall gcomp_merge_index_gfull_merge_iff_merge_forward gcomp_merge_solution_gfull_merge_iff_merge_forward gcomp_merge_lcm_gfull_merge_iff_merge_forward gcomp_merge_residue_gfull_merge_iff_merge_forward gcomp_merge_modulus_gfull_merge_iff_merge_forward gcomp_merge_gcd_gfull_merge_iff_merge_forward. (exists ff_lt_gcrt_gfull_merge_iff_merge_forward_bound. ff_lt_gcrt_gfull_merge_iff_merge_forward_bound + S gcomp_merge_index_gfull_merge_iff_merge_forward = l) -> (((forall gcrt_common_index_gfull_merge_iff_merge_forward_lcm_own gcrt_common_modulus_gfull_merge_iff_merge_forward_lcm_own. (exists ff_lt_gcrt_gfull_merge_iff_merge_forward_lcm_own_bound. ff_lt_gcrt_gfull_merge_iff_merge_forward_lcm_own_bound + S gcrt_common_index_gfull_merge_iff_merge_forward_lcm_own = gcomp_merge_index_gfull_merge_iff_merge_forward) -> (((exists ff_h_gcrt_gfull_merge_iff_merge_forward_lcm_own_entry. ff_h_gcrt_gfull_merge_iff_merge_forward_lcm_own_entry + S (gcrt_common_modulus_gfull_merge_iff_merge_forward_lcm_own) = S ((S (gcrt_common_index_gfull_merge_iff_merge_forward_lcm_own)) * c)) /\ exists ff_q_gcrt_gfull_merge_iff_merge_forward_lcm_own_entry. b = ff_q_gcrt_gfull_merge_iff_merge_forward_lcm_own_entry * S ((S (gcrt_common_index_gfull_merge_iff_merge_forward_lcm_own)) * c) + (gcrt_common_modulus_gfull_merge_iff_merge_forward_lcm_own))) -> exists gcrt_common_quotient_gfull_merge_iff_merge_forward_lcm_own. gcomp_merge_lcm_gfull_merge_iff_merge_forward = gcrt_common_modulus_gfull_merge_iff_merge_forward_lcm_own * gcrt_common_quotient_gfull_merge_iff_merge_forward_lcm_own) /\ forall gcrt_lcm_common_gfull_merge_iff_merge_forward_lcm. (forall gcrt_common_index_gfull_merge_iff_merge_forward_lcm_other gcrt_common_modulus_gfull_merge_iff_merge_forward_lcm_other. (exists ff_lt_gcrt_gfull_merge_iff_merge_forward_lcm_other_bound. ff_lt_gcrt_gfull_merge_iff_merge_forward_lcm_other_bound + S gcrt_common_index_gfull_merge_iff_merge_forward_lcm_other = gcomp_merge_index_gfull_merge_iff_merge_forward) -> (((exists ff_h_gcrt_gfull_merge_iff_merge_forward_lcm_other_entry. ff_h_gcrt_gfull_merge_iff_merge_forward_lcm_other_entry + S (gcrt_common_modulus_gfull_merge_iff_merge_forward_lcm_other) = S ((S (gcrt_common_index_gfull_merge_iff_merge_forward_lcm_other)) * c)) /\ exists ff_q_gcrt_gfull_merge_iff_merge_forward_lcm_other_entry. b = ff_q_gcrt_gfull_merge_iff_merge_forward_lcm_other_entry * S ((S (gcrt_common_index_gfull_merge_iff_merge_forward_lcm_other)) * c) + (gcrt_common_modulus_gfull_merge_iff_merge_forward_lcm_other))) -> exists gcrt_common_quotient_gfull_merge_iff_merge_forward_lcm_other. gcrt_lcm_common_gfull_merge_iff_merge_forward_lcm = gcrt_common_modulus_gfull_merge_iff_merge_forward_lcm_other * gcrt_common_quotient_gfull_merge_iff_merge_forward_lcm_other) -> exists gcrt_lcm_quotient_gfull_merge_iff_merge_forward_lcm. gcrt_lcm_common_gfull_merge_iff_merge_forward_lcm = gcomp_merge_lcm_gfull_merge_iff_merge_forward * gcrt_lcm_quotient_gfull_merge_iff_merge_forward_lcm)) -> (forall gcrt_solution_index_gfull_merge_iff_merge_forward_solution gcrt_solution_residue_gfull_merge_iff_merge_forward_solution gcrt_solution_modulus_gfull_merge_iff_merge_forward_solution. (exists ff_lt_gcrt_gfull_merge_iff_merge_forward_solution_bound. ff_lt_gcrt_gfull_merge_iff_merge_forward_solution_bound + S gcrt_solution_index_gfull_merge_iff_merge_forward_solution = gcomp_merge_index_gfull_merge_iff_merge_forward) -> (((exists ff_h_gcrt_gfull_merge_iff_merge_forward_solution_residue. ff_h_gcrt_gfull_merge_iff_merge_forward_solution_residue + S (gcrt_solution_residue_gfull_merge_iff_merge_forward_solution) = S ((S (gcrt_solution_index_gfull_merge_iff_merge_forward_solution)) * s)) /\ exists ff_q_gcrt_gfull_merge_iff_merge_forward_solution_residue. r = ff_q_gcrt_gfull_merge_iff_merge_forward_solution_residue * S ((S (gcrt_solution_index_gfull_merge_iff_merge_forward_solution)) * s) + (gcrt_solution_residue_gfull_merge_iff_merge_forward_solution))) -> (((exists ff_h_gcrt_gfull_merge_iff_merge_forward_solution_modulus. ff_h_gcrt_gfull_merge_iff_merge_forward_solution_modulus + S (gcrt_solution_modulus_gfull_merge_iff_merge_forward_solution) = S ((S (gcrt_solution_index_gfull_merge_iff_merge_forward_solution)) * c)) /\ exists ff_q_gcrt_gfull_merge_iff_merge_forward_solution_modulus. b = ff_q_gcrt_gfull_merge_iff_merge_forward_solution_modulus * S ((S (gcrt_solution_index_gfull_merge_iff_merge_forward_solution)) * c) + (gcrt_solution_modulus_gfull_merge_iff_merge_forward_solution))) -> (exists hgcrt_mod_left_gcrt_gfull_merge_iff_merge_forward_solution_congruence hgcrt_mod_right_gcrt_gfull_merge_iff_merge_forward_solution_congruence. gcomp_merge_solution_gfull_merge_iff_merge_forward + gcrt_solution_modulus_gfull_merge_iff_merge_forward_solution * hgcrt_mod_left_gcrt_gfull_merge_iff_merge_forward_solution_congruence = gcrt_solution_residue_gfull_merge_iff_merge_forward_solution + gcrt_solution_modulus_gfull_merge_iff_merge_forward_solution * hgcrt_mod_right_gcrt_gfull_merge_iff_merge_forward_solution_congruence)) -> (((exists ff_h_gcrt_gfull_merge_iff_merge_forward_residue. ff_h_gcrt_gfull_merge_iff_merge_forward_residue + S (gcomp_merge_residue_gfull_merge_iff_merge_forward) = S ((S (gcomp_merge_index_gfull_merge_iff_merge_forward)) * s)) /\ exists ff_q_gcrt_gfull_merge_iff_merge_forward_residue. r = ff_q_gcrt_gfull_merge_iff_merge_forward_residue * S ((S (gcomp_merge_index_gfull_merge_iff_merge_forward)) * s) + (gcomp_merge_residue_gfull_merge_iff_merge_forward))) -> (((exists ff_h_gcrt_gfull_merge_iff_merge_forward_modulus. ff_h_gcrt_gfull_merge_iff_merge_forward_modulus + S (gcomp_merge_modulus_gfull_merge_iff_merge_forward) = S ((S (gcomp_merge_index_gfull_merge_iff_merge_forward)) * c)) /\ exists ff_q_gcrt_gfull_merge_iff_merge_forward_modulus. b = ff_q_gcrt_gfull_merge_iff_merge_forward_modulus * S ((S (gcomp_merge_index_gfull_merge_iff_merge_forward)) * c) + (gcomp_merge_modulus_gfull_merge_iff_merge_forward))) -> ((((exists hag_left_factor_gcomp_gfull_merge_iff_merge_forward_gcd. gcomp_merge_lcm_gfull_merge_iff_merge_forward = gcomp_merge_gcd_gfull_merge_iff_merge_forward * hag_left_factor_gcomp_gfull_merge_iff_merge_forward_gcd) /\ (exists hag_right_factor_gcomp_gfull_merge_iff_merge_forward_gcd. gcomp_merge_modulus_gfull_merge_iff_merge_forward = gcomp_merge_gcd_gfull_merge_iff_merge_forward * hag_right_factor_gcomp_gfull_merge_iff_merge_forward_gcd)) /\ forall hag_divisor_gcomp_gfull_merge_iff_merge_forward_gcd. (exists hag_common_left_gcomp_gfull_merge_iff_merge_forward_gcd. gcomp_merge_lcm_gfull_merge_iff_merge_forward = hag_divisor_gcomp_gfull_merge_iff_merge_forward_gcd * hag_common_left_gcomp_gfull_merge_iff_merge_forward_gcd) -> (exists hag_common_right_gcomp_gfull_merge_iff_merge_forward_gcd. gcomp_merge_modulus_gfull_merge_iff_merge_forward = hag_divisor_gcomp_gfull_merge_iff_merge_forward_gcd * hag_common_right_gcomp_gfull_merge_iff_merge_forward_gcd) -> exists hag_greatest_factor_gcomp_gfull_merge_iff_merge_forward_gcd. gcomp_merge_gcd_gfull_merge_iff_merge_forward = hag_divisor_gcomp_gfull_merge_iff_merge_forward_gcd * hag_greatest_factor_gcomp_gfull_merge_iff_merge_forward_gcd)) -> (exists hgcrt_mod_left_gcrt_gfull_merge_iff_merge_forward_result hgcrt_mod_right_gcrt_gfull_merge_iff_merge_forward_result. gcomp_merge_solution_gfull_merge_iff_merge_forward + gcomp_merge_gcd_gfull_merge_iff_merge_forward * hgcrt_mod_left_gcrt_gfull_merge_iff_merge_forward_result = gcomp_merge_residue_gfull_merge_iff_merge_forward + gcomp_merge_gcd_gfull_merge_iff_merge_forward * hgcrt_mod_right_gcrt_gfull_merge_iff_merge_forward_result))) /\ ((forall gcomp_merge_index_gfull_merge_iff_merge_backward gcomp_merge_solution_gfull_merge_iff_merge_backward gcomp_merge_lcm_gfull_merge_iff_merge_backward gcomp_merge_residue_gfull_merge_iff_merge_backward gcomp_merge_modulus_gfull_merge_iff_merge_backward gcomp_merge_gcd_gfull_merge_iff_merge_backward. (exists ff_lt_gcrt_gfull_merge_iff_merge_backward_bound. ff_lt_gcrt_gfull_merge_iff_merge_backward_bound + S gcomp_merge_index_gfull_merge_iff_merge_backward = l) -> (((forall gcrt_common_index_gfull_merge_iff_merge_backward_lcm_own gcrt_common_modulus_gfull_merge_iff_merge_backward_lcm_own. (exists ff_lt_gcrt_gfull_merge_iff_merge_backward_lcm_own_bound. ff_lt_gcrt_gfull_merge_iff_merge_backward_lcm_own_bound + S gcrt_common_index_gfull_merge_iff_merge_backward_lcm_own = gcomp_merge_index_gfull_merge_iff_merge_backward) -> (((exists ff_h_gcrt_gfull_merge_iff_merge_backward_lcm_own_entry. ff_h_gcrt_gfull_merge_iff_merge_backward_lcm_own_entry + S (gcrt_common_modulus_gfull_merge_iff_merge_backward_lcm_own) = S ((S (gcrt_common_index_gfull_merge_iff_merge_backward_lcm_own)) * c)) /\ exists ff_q_gcrt_gfull_merge_iff_merge_backward_lcm_own_entry. b = ff_q_gcrt_gfull_merge_iff_merge_backward_lcm_own_entry * S ((S (gcrt_common_index_gfull_merge_iff_merge_backward_lcm_own)) * c) + (gcrt_common_modulus_gfull_merge_iff_merge_backward_lcm_own))) -> exists gcrt_common_quotient_gfull_merge_iff_merge_backward_lcm_own. gcomp_merge_lcm_gfull_merge_iff_merge_backward = gcrt_common_modulus_gfull_merge_iff_merge_backward_lcm_own * gcrt_common_quotient_gfull_merge_iff_merge_backward_lcm_own) /\ forall gcrt_lcm_common_gfull_merge_iff_merge_backward_lcm. (forall gcrt_common_index_gfull_merge_iff_merge_backward_lcm_other gcrt_common_modulus_gfull_merge_iff_merge_backward_lcm_other. (exists ff_lt_gcrt_gfull_merge_iff_merge_backward_lcm_other_bound. ff_lt_gcrt_gfull_merge_iff_merge_backward_lcm_other_bound + S gcrt_common_index_gfull_merge_iff_merge_backward_lcm_other = gcomp_merge_index_gfull_merge_iff_merge_backward) -> (((exists ff_h_gcrt_gfull_merge_iff_merge_backward_lcm_other_entry. ff_h_gcrt_gfull_merge_iff_merge_backward_lcm_other_entry + S (gcrt_common_modulus_gfull_merge_iff_merge_backward_lcm_other) = S ((S (gcrt_common_index_gfull_merge_iff_merge_backward_lcm_other)) * c)) /\ exists ff_q_gcrt_gfull_merge_iff_merge_backward_lcm_other_entry. b = ff_q_gcrt_gfull_merge_iff_merge_backward_lcm_other_entry * S ((S (gcrt_common_index_gfull_merge_iff_merge_backward_lcm_other)) * c) + (gcrt_common_modulus_gfull_merge_iff_merge_backward_lcm_other))) -> exists gcrt_common_quotient_gfull_merge_iff_merge_backward_lcm_other. gcrt_lcm_common_gfull_merge_iff_merge_backward_lcm = gcrt_common_modulus_gfull_merge_iff_merge_backward_lcm_other * gcrt_common_quotient_gfull_merge_iff_merge_backward_lcm_other) -> exists gcrt_lcm_quotient_gfull_merge_iff_merge_backward_lcm. gcrt_lcm_common_gfull_merge_iff_merge_backward_lcm = gcomp_merge_lcm_gfull_merge_iff_merge_backward * gcrt_lcm_quotient_gfull_merge_iff_merge_backward_lcm)) -> (forall gcrt_solution_index_gfull_merge_iff_merge_backward_solution gcrt_solution_residue_gfull_merge_iff_merge_backward_solution gcrt_solution_modulus_gfull_merge_iff_merge_backward_solution. (exists ff_lt_gcrt_gfull_merge_iff_merge_backward_solution_bound. ff_lt_gcrt_gfull_merge_iff_merge_backward_solution_bound + S gcrt_solution_index_gfull_merge_iff_merge_backward_solution = gcomp_merge_index_gfull_merge_iff_merge_backward) -> (((exists ff_h_gcrt_gfull_merge_iff_merge_backward_solution_residue. ff_h_gcrt_gfull_merge_iff_merge_backward_solution_residue + S (gcrt_solution_residue_gfull_merge_iff_merge_backward_solution) = S ((S (gcrt_solution_index_gfull_merge_iff_merge_backward_solution)) * s)) /\ exists ff_q_gcrt_gfull_merge_iff_merge_backward_solution_residue. r = ff_q_gcrt_gfull_merge_iff_merge_backward_solution_residue * S ((S (gcrt_solution_index_gfull_merge_iff_merge_backward_solution)) * s) + (gcrt_solution_residue_gfull_merge_iff_merge_backward_solution))) -> (((exists ff_h_gcrt_gfull_merge_iff_merge_backward_solution_modulus. ff_h_gcrt_gfull_merge_iff_merge_backward_solution_modulus + S (gcrt_solution_modulus_gfull_merge_iff_merge_backward_solution) = S ((S (gcrt_solution_index_gfull_merge_iff_merge_backward_solution)) * c)) /\ exists ff_q_gcrt_gfull_merge_iff_merge_backward_solution_modulus. b = ff_q_gcrt_gfull_merge_iff_merge_backward_solution_modulus * S ((S (gcrt_solution_index_gfull_merge_iff_merge_backward_solution)) * c) + (gcrt_solution_modulus_gfull_merge_iff_merge_backward_solution))) -> (exists hgcrt_mod_left_gcrt_gfull_merge_iff_merge_backward_solution_congruence hgcrt_mod_right_gcrt_gfull_merge_iff_merge_backward_solution_congruence. gcomp_merge_solution_gfull_merge_iff_merge_backward + gcrt_solution_modulus_gfull_merge_iff_merge_backward_solution * hgcrt_mod_left_gcrt_gfull_merge_iff_merge_backward_solution_congruence = gcrt_solution_residue_gfull_merge_iff_merge_backward_solution + gcrt_solution_modulus_gfull_merge_iff_merge_backward_solution * hgcrt_mod_right_gcrt_gfull_merge_iff_merge_backward_solution_congruence)) -> (((exists ff_h_gcrt_gfull_merge_iff_merge_backward_residue. ff_h_gcrt_gfull_merge_iff_merge_backward_residue + S (gcomp_merge_residue_gfull_merge_iff_merge_backward) = S ((S (gcomp_merge_index_gfull_merge_iff_merge_backward)) * s)) /\ exists ff_q_gcrt_gfull_merge_iff_merge_backward_residue. r = ff_q_gcrt_gfull_merge_iff_merge_backward_residue * S ((S (gcomp_merge_index_gfull_merge_iff_merge_backward)) * s) + (gcomp_merge_residue_gfull_merge_iff_merge_backward))) -> (((exists ff_h_gcrt_gfull_merge_iff_merge_backward_modulus. ff_h_gcrt_gfull_merge_iff_merge_backward_modulus + S (gcomp_merge_modulus_gfull_merge_iff_merge_backward) = S ((S (gcomp_merge_index_gfull_merge_iff_merge_backward)) * c)) /\ exists ff_q_gcrt_gfull_merge_iff_merge_backward_modulus. b = ff_q_gcrt_gfull_merge_iff_merge_backward_modulus * S ((S (gcomp_merge_index_gfull_merge_iff_merge_backward)) * c) + (gcomp_merge_modulus_gfull_merge_iff_merge_backward))) -> ((((exists hag_left_factor_gcomp_gfull_merge_iff_merge_backward_gcd. gcomp_merge_lcm_gfull_merge_iff_merge_backward = gcomp_merge_gcd_gfull_merge_iff_merge_backward * hag_left_factor_gcomp_gfull_merge_iff_merge_backward_gcd) /\ (exists hag_right_factor_gcomp_gfull_merge_iff_merge_backward_gcd. gcomp_merge_modulus_gfull_merge_iff_merge_backward = gcomp_merge_gcd_gfull_merge_iff_merge_backward * hag_right_factor_gcomp_gfull_merge_iff_merge_backward_gcd)) /\ forall hag_divisor_gcomp_gfull_merge_iff_merge_backward_gcd. (exists hag_common_left_gcomp_gfull_merge_iff_merge_backward_gcd. gcomp_merge_lcm_gfull_merge_iff_merge_backward = hag_divisor_gcomp_gfull_merge_iff_merge_backward_gcd * hag_common_left_gcomp_gfull_merge_iff_merge_backward_gcd) -> (exists hag_common_right_gcomp_gfull_merge_iff_merge_backward_gcd. gcomp_merge_modulus_gfull_merge_iff_merge_backward = hag_divisor_gcomp_gfull_merge_iff_merge_backward_gcd * hag_common_right_gcomp_gfull_merge_iff_merge_backward_gcd) -> exists hag_greatest_factor_gcomp_gfull_merge_iff_merge_backward_gcd. gcomp_merge_gcd_gfull_merge_iff_merge_backward = hag_divisor_gcomp_gfull_merge_iff_merge_backward_gcd * hag_greatest_factor_gcomp_gfull_merge_iff_merge_backward_gcd)) -> (exists hgcrt_mod_left_gcrt_gfull_merge_iff_merge_backward_result hgcrt_mod_right_gcrt_gfull_merge_iff_merge_backward_result. gcomp_merge_solution_gfull_merge_iff_merge_backward + gcomp_merge_gcd_gfull_merge_iff_merge_backward * hgcrt_mod_left_gcrt_gfull_merge_iff_merge_backward_result = gcomp_merge_residue_gfull_merge_iff_merge_backward + gcomp_merge_gcd_gfull_merge_iff_merge_backward * hgcrt_mod_right_gcrt_gfull_merge_iff_merge_backward_result)) -> (forall gcomp_left_index_gfull_merge_iff_pairs_backward gcomp_right_index_gfull_merge_iff_pairs_backward gcomp_left_residue_gfull_merge_iff_pairs_backward gcomp_right_residue_gfull_merge_iff_pairs_backward gcomp_left_modulus_gfull_merge_iff_pairs_backward gcomp_right_modulus_gfull_merge_iff_pairs_backward gcomp_pair_gcd_gfull_merge_iff_pairs_backward. (exists ff_lt_gcrt_gfull_merge_iff_pairs_backward_left_bound. ff_lt_gcrt_gfull_merge_iff_pairs_backward_left_bound + S gcomp_left_index_gfull_merge_iff_pairs_backward = l) -> (exists ff_lt_gcrt_gfull_merge_iff_pairs_backward_right_bound. ff_lt_gcrt_gfull_merge_iff_pairs_backward_right_bound + S gcomp_right_index_gfull_merge_iff_pairs_backward = l) -> (((exists ff_h_gcrt_gfull_merge_iff_pairs_backward_left_residue. ff_h_gcrt_gfull_merge_iff_pairs_backward_left_residue + S (gcomp_left_residue_gfull_merge_iff_pairs_backward) = S ((S (gcomp_left_index_gfull_merge_iff_pairs_backward)) * s)) /\ exists ff_q_gcrt_gfull_merge_iff_pairs_backward_left_residue. r = ff_q_gcrt_gfull_merge_iff_pairs_backward_left_residue * S ((S (gcomp_left_index_gfull_merge_iff_pairs_backward)) * s) + (gcomp_left_residue_gfull_merge_iff_pairs_backward))) -> (((exists ff_h_gcrt_gfull_merge_iff_pairs_backward_right_residue. ff_h_gcrt_gfull_merge_iff_pairs_backward_right_residue + S (gcomp_right_residue_gfull_merge_iff_pairs_backward) = S ((S (gcomp_right_index_gfull_merge_iff_pairs_backward)) * s)) /\ exists ff_q_gcrt_gfull_merge_iff_pairs_backward_right_residue. r = ff_q_gcrt_gfull_merge_iff_pairs_backward_right_residue * S ((S (gcomp_right_index_gfull_merge_iff_pairs_backward)) * s) + (gcomp_right_residue_gfull_merge_iff_pairs_backward))) -> (((exists ff_h_gcrt_gfull_merge_iff_pairs_backward_left_modulus. ff_h_gcrt_gfull_merge_iff_pairs_backward_left_modulus + S (gcomp_left_modulus_gfull_merge_iff_pairs_backward) = S ((S (gcomp_left_index_gfull_merge_iff_pairs_backward)) * c)) /\ exists ff_q_gcrt_gfull_merge_iff_pairs_backward_left_modulus. b = ff_q_gcrt_gfull_merge_iff_pairs_backward_left_modulus * S ((S (gcomp_left_index_gfull_merge_iff_pairs_backward)) * c) + (gcomp_left_modulus_gfull_merge_iff_pairs_backward))) -> (((exists ff_h_gcrt_gfull_merge_iff_pairs_backward_right_modulus. ff_h_gcrt_gfull_merge_iff_pairs_backward_right_modulus + S (gcomp_right_modulus_gfull_merge_iff_pairs_backward) = S ((S (gcomp_right_index_gfull_merge_iff_pairs_backward)) * c)) /\ exists ff_q_gcrt_gfull_merge_iff_pairs_backward_right_modulus. b = ff_q_gcrt_gfull_merge_iff_pairs_backward_right_modulus * S ((S (gcomp_right_index_gfull_merge_iff_pairs_backward)) * c) + (gcomp_right_modulus_gfull_merge_iff_pairs_backward))) -> ((((exists hag_left_factor_gcomp_gfull_merge_iff_pairs_backward_gcd. gcomp_left_modulus_gfull_merge_iff_pairs_backward = gcomp_pair_gcd_gfull_merge_iff_pairs_backward * hag_left_factor_gcomp_gfull_merge_iff_pairs_backward_gcd) /\ (exists hag_right_factor_gcomp_gfull_merge_iff_pairs_backward_gcd. gcomp_right_modulus_gfull_merge_iff_pairs_backward = gcomp_pair_gcd_gfull_merge_iff_pairs_backward * hag_right_factor_gcomp_gfull_merge_iff_pairs_backward_gcd)) /\ forall hag_divisor_gcomp_gfull_merge_iff_pairs_backward_gcd. (exists hag_common_left_gcomp_gfull_merge_iff_pairs_backward_gcd. gcomp_left_modulus_gfull_merge_iff_pairs_backward = hag_divisor_gcomp_gfull_merge_iff_pairs_backward_gcd * hag_common_left_gcomp_gfull_merge_iff_pairs_backward_gcd) -> (exists hag_common_right_gcomp_gfull_merge_iff_pairs_backward_gcd. gcomp_right_modulus_gfull_merge_iff_pairs_backward = hag_divisor_gcomp_gfull_merge_iff_pairs_backward_gcd * hag_common_right_gcomp_gfull_merge_iff_pairs_backward_gcd) -> exists hag_greatest_factor_gcomp_gfull_merge_iff_pairs_backward_gcd. gcomp_pair_gcd_gfull_merge_iff_pairs_backward = hag_divisor_gcomp_gfull_merge_iff_pairs_backward_gcd * hag_greatest_factor_gcomp_gfull_merge_iff_pairs_backward_gcd)) -> (exists hgcrt_mod_left_gcrt_gfull_merge_iff_pairs_backward_result hgcrt_mod_right_gcrt_gfull_merge_iff_pairs_backward_result. gcomp_left_residue_gfull_merge_iff_pairs_backward + gcomp_pair_gcd_gfull_merge_iff_pairs_backward * hgcrt_mod_left_gcrt_gfull_merge_iff_pairs_backward_result = gcomp_right_residue_gfull_merge_iff_pairs_backward + gcomp_pair_gcd_gfull_merge_iff_pairs_backward * hgcrt_mod_right_gcrt_gfull_merge_iff_pairs_backward_result))))

Constructive proof overview

Generated structural guide

Pairwise compatibility and the formerly stronger predecessor-LCM merge invariant are constructively equivalent for arbitrary finite natural lists.

The unchanged tactic script uses 2 declared prerequisites and contains 22 exact native proof lines.

Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable

Proof neighborhood

Direct dependencies

FC000D crt_pairwise_compatible_prefix_implies_merge_compatible crt_merge_compatible_prefix_implies_pairwise_compatible Alpha theorem; checked-use authorized

Direct dependents

none

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

22 script commands · 6 reading checkpoints · 0 local claims

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–5

Work with arbitrary variables or the premises of the current implication.

  1. L1
    intro r
  2. L2
    intro s
  3. L3
    intro b
  4. L4
    intro c
  5. L5
    intro l
02Separate the logical casesL6–6

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L6
    split
03Fix variables and assumptionsL7–7

Work with arbitrary variables or the premises of the current implication.

  1. L7
    intro hp
04Use earlier factsL8–14

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L8
    specialize crt_pairwise_compatible_prefix_implies_merge_compatible r
  2. L9
    specialize crt_pairwise_compatible_prefix_implies_merge_compatible s
  3. L10
    specialize crt_pairwise_compatible_prefix_implies_merge_compatible b
  4. L11
    specialize crt_pairwise_compatible_prefix_implies_merge_compatible c
  5. L12
    specialize crt_pairwise_compatible_prefix_implies_merge_compatible l
  6. L13
    apply crt_pairwise_compatible_prefix_implies_merge_compatible
  7. L14
    exact hp
05Fix variables and assumptionsL15–15

Work with arbitrary variables or the premises of the current implication.

  1. L15
    intro hm
06Use earlier factsL16–22

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L16
    specialize crt_merge_compatible_prefix_implies_pairwise_compatible r
  2. L17
    specialize crt_merge_compatible_prefix_implies_pairwise_compatible s
  3. L18
    specialize crt_merge_compatible_prefix_implies_pairwise_compatible b
  4. L19
    specialize crt_merge_compatible_prefix_implies_pairwise_compatible c
  5. L20
    specialize crt_merge_compatible_prefix_implies_pairwise_compatible l
  6. L21
    apply crt_merge_compatible_prefix_implies_pairwise_compatible
  7. L22
    exact hm

Library-wide reading audit

Original exact command ledger · 22 lines
  1. 0001intro r
  2. 0002intro s
  3. 0003intro b
  4. 0004intro c
  5. 0005intro l
  6. 0006split
  7. 0007intro hp
  8. 0008specialize crt_pairwise_compatible_prefix_implies_merge_compatible r
  9. 0009specialize crt_pairwise_compatible_prefix_implies_merge_compatible s
  10. 0010specialize crt_pairwise_compatible_prefix_implies_merge_compatible b
  11. 0011specialize crt_pairwise_compatible_prefix_implies_merge_compatible c
  12. 0012specialize crt_pairwise_compatible_prefix_implies_merge_compatible l
  13. 0013apply crt_pairwise_compatible_prefix_implies_merge_compatible
  14. 0014exact hp
  15. 0015intro hm
  16. 0016specialize crt_merge_compatible_prefix_implies_pairwise_compatible r
  17. 0017specialize crt_merge_compatible_prefix_implies_pairwise_compatible s
  18. 0018specialize crt_merge_compatible_prefix_implies_pairwise_compatible b
  19. 0019specialize crt_merge_compatible_prefix_implies_pairwise_compatible c
  20. 0020specialize crt_merge_compatible_prefix_implies_pairwise_compatible l
  21. 0021apply crt_merge_compatible_prefix_implies_pairwise_compatible
  22. 0022exact hm