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 p b c vb vc l z e g. ((~(p = 1) /\ forall frm_prime_left_mkm_product_prime frm_prime_right_mkm_product_prime. p = frm_prime_left_mkm_product_prime * frm_prime_right_mkm_product_prime -> frm_prime_left_mkm_product_prime = 1 \/ frm_prime_right_mkm_product_prime = 1)) -> (forall gcrt_positive_index_mkm_product_nonzero gcrt_positive_value_mkm_product_nonzero. (exists ff_lt_gcrt_mkm_product_nonzero_bound. ff_lt_gcrt_mkm_product_nonzero_bound + S gcrt_positive_index_mkm_product_nonzero = l) -> (((exists ff_h_gcrt_mkm_product_nonzero_entry. ff_h_gcrt_mkm_product_nonzero_entry + S (gcrt_positive_value_mkm_product_nonzero) = S ((S (gcrt_positive_index_mkm_product_nonzero)) * c)) /\ exists ff_q_gcrt_mkm_product_nonzero_entry. b = ff_q_gcrt_mkm_product_nonzero_entry * S ((S (gcrt_positive_index_mkm_product_nonzero)) * c) + (gcrt_positive_value_mkm_product_nonzero))) -> ~(gcrt_positive_value_mkm_product_nonzero = 0)) -> (forall mkm_index_product_valuations. (exists mkm_lt_product_valuations_bound. mkm_lt_product_valuations_bound + S (mkm_index_product_valuations) = (l)) -> (exists mkm_value_product_valuations_point mkm_exponent_product_valuations_point. (((exists fs_h_mkm_product_valuations_point_source. fs_h_mkm_product_valuations_point_source + S (mkm_value_product_valuations_point) = S ((S (mkm_index_product_valuations)) * c)) /\ exists fs_q_mkm_product_valuations_point_source. b = fs_q_mkm_product_valuations_point_source * S ((S (mkm_index_product_valuations)) * c) + (mkm_value_product_valuations_point))) /\ ((((exists fs_h_mkm_product_valuations_point_decoded. fs_h_mkm_product_valuations_point_decoded + S (mkm_exponent_product_valuations_point) = S ((S (mkm_index_product_valuations)) * vc)) /\ exists fs_q_mkm_product_valuations_point_decoded. vb = fs_q_mkm_product_valuations_point_decoded * S ((S (mkm_index_product_valuations)) * vc) + (mkm_exponent_product_valuations_point))) /\ (((exists bpv_gap_mkm_product_valuations_point_valuation_exponent_bound. bpv_gap_mkm_product_valuations_point_valuation_exponent_bound + mkm_exponent_product_valuations_point = (mkm_value_product_valuations_point)) /\ (exists bpv_result_mkm_product_valuations_point_valuation_selected. ((exists ff_b_mkm_product_valuations_point_valuation_selected_power ff_c_mkm_product_valuations_point_valuation_selected_power. ((forall ff_i_mkm_product_valuations_point_valuation_selected_power_repeat. (exists ff_lt_mkm_product_valuations_point_valuation_selected_power_repeat_bound. ff_lt_mkm_product_valuations_point_valuation_selected_power_repeat_bound + S ff_i_mkm_product_valuations_point_valuation_selected_power_repeat = mkm_exponent_product_valuations_point) -> (((exists ff_h_mkm_product_valuations_point_valuation_selected_power_repeat_decoded. ff_h_mkm_product_valuations_point_valuation_selected_power_repeat_decoded + S (p) = S ((S (ff_i_mkm_product_valuations_point_valuation_selected_power_repeat)) * ff_c_mkm_product_valuations_point_valuation_selected_power)) /\ exists ff_q_mkm_product_valuations_point_valuation_selected_power_repeat_decoded. ff_b_mkm_product_valuations_point_valuation_selected_power = ff_q_mkm_product_valuations_point_valuation_selected_power_repeat_decoded * S ((S (ff_i_mkm_product_valuations_point_valuation_selected_power_repeat)) * ff_c_mkm_product_valuations_point_valuation_selected_power) + (p)))) /\ (exists ff_u_mkm_product_valuations_point_valuation_selected_power_product ff_v_mkm_product_valuations_point_valuation_selected_power_product. ((((exists ff_h_mkm_product_valuations_point_valuation_selected_power_product_start. ff_h_mkm_product_valuations_point_valuation_selected_power_product_start + S (1) = S ((S (0)) * ff_v_mkm_product_valuations_point_valuation_selected_power_product)) /\ exists ff_q_mkm_product_valuations_point_valuation_selected_power_product_start. ff_u_mkm_product_valuations_point_valuation_selected_power_product = ff_q_mkm_product_valuations_point_valuation_selected_power_product_start * S ((S (0)) * ff_v_mkm_product_valuations_point_valuation_selected_power_product) + (1))) /\ ((((exists ff_h_mkm_product_valuations_point_valuation_selected_power_product_terminal. ff_h_mkm_product_valuations_point_valuation_selected_power_product_terminal + S (bpv_result_mkm_product_valuations_point_valuation_selected) = S ((S (mkm_exponent_product_valuations_point)) * ff_v_mkm_product_valuations_point_valuation_selected_power_product)) /\ exists ff_q_mkm_product_valuations_point_valuation_selected_power_product_terminal. ff_u_mkm_product_valuations_point_valuation_selected_power_product = ff_q_mkm_product_valuations_point_valuation_selected_power_product_terminal * S ((S (mkm_exponent_product_valuations_point)) * ff_v_mkm_product_valuations_point_valuation_selected_power_product) + (bpv_result_mkm_product_valuations_point_valuation_selected))) /\ forall ff_i_mkm_product_valuations_point_valuation_selected_power_product. (exists ff_lt_mkm_product_valuations_point_valuation_selected_power_product_bound. ff_lt_mkm_product_valuations_point_valuation_selected_power_product_bound + S ff_i_mkm_product_valuations_point_valuation_selected_power_product = mkm_exponent_product_valuations_point) -> exists ff_p_mkm_product_valuations_point_valuation_selected_power_product ff_r_mkm_product_valuations_point_valuation_selected_power_product ff_s_mkm_product_valuations_point_valuation_selected_power_product. ((((exists ff_h_mkm_product_valuations_point_valuation_selected_power_product_factor. ff_h_mkm_product_valuations_point_valuation_selected_power_product_factor + S (ff_p_mkm_product_valuations_point_valuation_selected_power_product) = S ((S (ff_i_mkm_product_valuations_point_valuation_selected_power_product)) * ff_c_mkm_product_valuations_point_valuation_selected_power)) /\ exists ff_q_mkm_product_valuations_point_valuation_selected_power_product_factor. ff_b_mkm_product_valuations_point_valuation_selected_power = ff_q_mkm_product_valuations_point_valuation_selected_power_product_factor * S ((S (ff_i_mkm_product_valuations_point_valuation_selected_power_product)) * ff_c_mkm_product_valuations_point_valuation_selected_power) + (ff_p_mkm_product_valuations_point_valuation_selected_power_product))) /\ ((((exists ff_h_mkm_product_valuations_point_valuation_selected_power_product_partial. ff_h_mkm_product_valuations_point_valuation_selected_power_product_partial + S (ff_r_mkm_product_valuations_point_valuation_selected_power_product) = S ((S (ff_i_mkm_product_valuations_point_valuation_selected_power_product)) * ff_v_mkm_product_valuations_point_valuation_selected_power_product)) /\ exists ff_q_mkm_product_valuations_point_valuation_selected_power_product_partial. ff_u_mkm_product_valuations_point_valuation_selected_power_product = ff_q_mkm_product_valuations_point_valuation_selected_power_product_partial * S ((S (ff_i_mkm_product_valuations_point_valuation_selected_power_product)) * ff_v_mkm_product_valuations_point_valuation_selected_power_product) + (ff_r_mkm_product_valuations_point_valuation_selected_power_product))) /\ ((((exists ff_h_mkm_product_valuations_point_valuation_selected_power_product_successor. ff_h_mkm_product_valuations_point_valuation_selected_power_product_successor + S (ff_s_mkm_product_valuations_point_valuation_selected_power_product) = S ((S (S ff_i_mkm_product_valuations_point_valuation_selected_power_product)) * ff_v_mkm_product_valuations_point_valuation_selected_power_product)) /\ exists ff_q_mkm_product_valuations_point_valuation_selected_power_product_successor. ff_u_mkm_product_valuations_point_valuation_selected_power_product = ff_q_mkm_product_valuations_point_valuation_selected_power_product_successor * S ((S (S ff_i_mkm_product_valuations_point_valuation_selected_power_product)) * ff_v_mkm_product_valuations_point_valuation_selected_power_product) + (ff_s_mkm_product_valuations_point_valuation_selected_power_product))) /\ ff_s_mkm_product_valuations_point_valuation_selected_power_product = ff_r_mkm_product_valuations_point_valuation_selected_power_product * ff_p_mkm_product_valuations_point_valuation_selected_power_product)))))))) /\ (exists bpv_factor_mkm_product_valuations_point_valuation_selected_divides. (mkm_value_product_valuations_point) = bpv_result_mkm_product_valuations_point_valuation_selected * bpv_factor_mkm_product_valuations_point_valuation_selected_divides)))) /\ forall bpv_candidate_mkm_product_valuations_point_valuation. (exists bpv_gap_mkm_product_valuations_point_valuation_candidate_bound. bpv_gap_mkm_product_valuations_point_valuation_candidate_bound + bpv_candidate_mkm_product_valuations_point_valuation = (mkm_value_product_valuations_point)) -> (exists bpv_result_mkm_product_valuations_point_valuation_candidate. ((exists ff_b_mkm_product_valuations_point_valuation_candidate_power ff_c_mkm_product_valuations_point_valuation_candidate_power. ((forall ff_i_mkm_product_valuations_point_valuation_candidate_power_repeat. (exists ff_lt_mkm_product_valuations_point_valuation_candidate_power_repeat_bound. ff_lt_mkm_product_valuations_point_valuation_candidate_power_repeat_bound + S ff_i_mkm_product_valuations_point_valuation_candidate_power_repeat = bpv_candidate_mkm_product_valuations_point_valuation) -> (((exists ff_h_mkm_product_valuations_point_valuation_candidate_power_repeat_decoded. ff_h_mkm_product_valuations_point_valuation_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_mkm_product_valuations_point_valuation_candidate_power_repeat)) * ff_c_mkm_product_valuations_point_valuation_candidate_power)) /\ exists ff_q_mkm_product_valuations_point_valuation_candidate_power_repeat_decoded. ff_b_mkm_product_valuations_point_valuation_candidate_power = ff_q_mkm_product_valuations_point_valuation_candidate_power_repeat_decoded * S ((S (ff_i_mkm_product_valuations_point_valuation_candidate_power_repeat)) * ff_c_mkm_product_valuations_point_valuation_candidate_power) + (p)))) /\ (exists ff_u_mkm_product_valuations_point_valuation_candidate_power_product ff_v_mkm_product_valuations_point_valuation_candidate_power_product. ((((exists ff_h_mkm_product_valuations_point_valuation_candidate_power_product_start. ff_h_mkm_product_valuations_point_valuation_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_mkm_product_valuations_point_valuation_candidate_power_product)) /\ exists ff_q_mkm_product_valuations_point_valuation_candidate_power_product_start. ff_u_mkm_product_valuations_point_valuation_candidate_power_product = ff_q_mkm_product_valuations_point_valuation_candidate_power_product_start * S ((S (0)) * ff_v_mkm_product_valuations_point_valuation_candidate_power_product) + (1))) /\ ((((exists ff_h_mkm_product_valuations_point_valuation_candidate_power_product_terminal. ff_h_mkm_product_valuations_point_valuation_candidate_power_product_terminal + S (bpv_result_mkm_product_valuations_point_valuation_candidate) = S ((S (bpv_candidate_mkm_product_valuations_point_valuation)) * ff_v_mkm_product_valuations_point_valuation_candidate_power_product)) /\ exists ff_q_mkm_product_valuations_point_valuation_candidate_power_product_terminal. ff_u_mkm_product_valuations_point_valuation_candidate_power_product = ff_q_mkm_product_valuations_point_valuation_candidate_power_product_terminal * S ((S (bpv_candidate_mkm_product_valuations_point_valuation)) * ff_v_mkm_product_valuations_point_valuation_candidate_power_product) + (bpv_result_mkm_product_valuations_point_valuation_candidate))) /\ forall ff_i_mkm_product_valuations_point_valuation_candidate_power_product. (exists ff_lt_mkm_product_valuations_point_valuation_candidate_power_product_bound. ff_lt_mkm_product_valuations_point_valuation_candidate_power_product_bound + S ff_i_mkm_product_valuations_point_valuation_candidate_power_product = bpv_candidate_mkm_product_valuations_point_valuation) -> exists ff_p_mkm_product_valuations_point_valuation_candidate_power_product ff_r_mkm_product_valuations_point_valuation_candidate_power_product ff_s_mkm_product_valuations_point_valuation_candidate_power_product. ((((exists ff_h_mkm_product_valuations_point_valuation_candidate_power_product_factor. ff_h_mkm_product_valuations_point_valuation_candidate_power_product_factor + S (ff_p_mkm_product_valuations_point_valuation_candidate_power_product) = S ((S (ff_i_mkm_product_valuations_point_valuation_candidate_power_product)) * ff_c_mkm_product_valuations_point_valuation_candidate_power)) /\ exists ff_q_mkm_product_valuations_point_valuation_candidate_power_product_factor. ff_b_mkm_product_valuations_point_valuation_candidate_power = ff_q_mkm_product_valuations_point_valuation_candidate_power_product_factor * S ((S (ff_i_mkm_product_valuations_point_valuation_candidate_power_product)) * ff_c_mkm_product_valuations_point_valuation_candidate_power) + (ff_p_mkm_product_valuations_point_valuation_candidate_power_product))) /\ ((((exists ff_h_mkm_product_valuations_point_valuation_candidate_power_product_partial. ff_h_mkm_product_valuations_point_valuation_candidate_power_product_partial + S (ff_r_mkm_product_valuations_point_valuation_candidate_power_product) = S ((S (ff_i_mkm_product_valuations_point_valuation_candidate_power_product)) * ff_v_mkm_product_valuations_point_valuation_candidate_power_product)) /\ exists ff_q_mkm_product_valuations_point_valuation_candidate_power_product_partial. ff_u_mkm_product_valuations_point_valuation_candidate_power_product = ff_q_mkm_product_valuations_point_valuation_candidate_power_product_partial * S ((S (ff_i_mkm_product_valuations_point_valuation_candidate_power_product)) * ff_v_mkm_product_valuations_point_valuation_candidate_power_product) + (ff_r_mkm_product_valuations_point_valuation_candidate_power_product))) /\ ((((exists ff_h_mkm_product_valuations_point_valuation_candidate_power_product_successor. ff_h_mkm_product_valuations_point_valuation_candidate_power_product_successor + S (ff_s_mkm_product_valuations_point_valuation_candidate_power_product) = S ((S (S ff_i_mkm_product_valuations_point_valuation_candidate_power_product)) * ff_v_mkm_product_valuations_point_valuation_candidate_power_product)) /\ exists ff_q_mkm_product_valuations_point_valuation_candidate_power_product_successor. ff_u_mkm_product_valuations_point_valuation_candidate_power_product = ff_q_mkm_product_valuations_point_valuation_candidate_power_product_successor * S ((S (S ff_i_mkm_product_valuations_point_valuation_candidate_power_product)) * ff_v_mkm_product_valuations_point_valuation_candidate_power_product) + (ff_s_mkm_product_valuations_point_valuation_candidate_power_product))) /\ ff_s_mkm_product_valuations_point_valuation_candidate_power_product = ff_r_mkm_product_valuations_point_valuation_candidate_power_product * ff_p_mkm_product_valuations_point_valuation_candidate_power_product)))))))) /\ (exists bpv_factor_mkm_product_valuations_point_valuation_candidate_divides. (mkm_value_product_valuations_point) = bpv_result_mkm_product_valuations_point_valuation_candidate * bpv_factor_mkm_product_valuations_point_valuation_candidate_divides))) -> (exists bpv_gap_mkm_product_valuations_point_valuation_maximal. bpv_gap_mkm_product_valuations_point_valuation_maximal + bpv_candidate_mkm_product_valuations_point_valuation = mkm_exponent_product_valuations_point))))) -> (exists ff_u_mkm_product_value ff_v_mkm_product_value. ((((exists ff_h_mkm_product_value_start. ff_h_mkm_product_value_start + S (1) = S ((S (0)) * ff_v_mkm_product_value)) /\ exists ff_q_mkm_product_value_start. ff_u_mkm_product_value = ff_q_mkm_product_value_start * S ((S (0)) * ff_v_mkm_product_value) + (1))) /\ ((((exists ff_h_mkm_product_value_terminal. ff_h_mkm_product_value_terminal + S (z) = S ((S (l)) * ff_v_mkm_product_value)) /\ exists ff_q_mkm_product_value_terminal. ff_u_mkm_product_value = ff_q_mkm_product_value_terminal * S ((S (l)) * ff_v_mkm_product_value) + (z))) /\ forall ff_i_mkm_product_value. (exists ff_lt_mkm_product_value_bound. ff_lt_mkm_product_value_bound + S ff_i_mkm_product_value = l) -> exists ff_p_mkm_product_value ff_r_mkm_product_value ff_s_mkm_product_value. ((((exists ff_h_mkm_product_value_factor. ff_h_mkm_product_value_factor + S (ff_p_mkm_product_value) = S ((S (ff_i_mkm_product_value)) * c)) /\ exists ff_q_mkm_product_value_factor. b = ff_q_mkm_product_value_factor * S ((S (ff_i_mkm_product_value)) * c) + (ff_p_mkm_product_value))) /\ ((((exists ff_h_mkm_product_value_partial. ff_h_mkm_product_value_partial + S (ff_r_mkm_product_value) = S ((S (ff_i_mkm_product_value)) * ff_v_mkm_product_value)) /\ exists ff_q_mkm_product_value_partial. ff_u_mkm_product_value = ff_q_mkm_product_value_partial * S ((S (ff_i_mkm_product_value)) * ff_v_mkm_product_value) + (ff_r_mkm_product_value))) /\ ((((exists ff_h_mkm_product_value_successor. ff_h_mkm_product_value_successor + S (ff_s_mkm_product_value) = S ((S (S ff_i_mkm_product_value)) * ff_v_mkm_product_value)) /\ exists ff_q_mkm_product_value_successor. ff_u_mkm_product_value = ff_q_mkm_product_value_successor * S ((S (S ff_i_mkm_product_value)) * ff_v_mkm_product_value) + (ff_s_mkm_product_value))) /\ ff_s_mkm_product_value = ff_r_mkm_product_value * ff_p_mkm_product_value)))))) -> (exists fs_u_mkm_product_sum fs_v_mkm_product_sum. ((((exists fs_h_mkm_product_sum_body_start. fs_h_mkm_product_sum_body_start + S (0) = S ((S (0)) * fs_v_mkm_product_sum)) /\ exists fs_q_mkm_product_sum_body_start. fs_u_mkm_product_sum = fs_q_mkm_product_sum_body_start * S ((S (0)) * fs_v_mkm_product_sum) + (0))) /\ ((((exists fs_h_mkm_product_sum_body_terminal. fs_h_mkm_product_sum_body_terminal + S (e) = S ((S (l)) * fs_v_mkm_product_sum)) /\ exists fs_q_mkm_product_sum_body_terminal. fs_u_mkm_product_sum = fs_q_mkm_product_sum_body_terminal * S ((S (l)) * fs_v_mkm_product_sum) + (e))) /\ forall fs_i_mkm_product_sum_body_steps. (exists fs_lt_mkm_product_sum_body_steps_bound. fs_lt_mkm_product_sum_body_steps_bound + S fs_i_mkm_product_sum_body_steps = l) -> exists fs_a_mkm_product_sum_body_steps fs_r_mkm_product_sum_body_steps fs_s_mkm_product_sum_body_steps. ((((exists fs_h_mkm_product_sum_body_steps_summand. fs_h_mkm_product_sum_body_steps_summand + S (fs_a_mkm_product_sum_body_steps) = S ((S (fs_i_mkm_product_sum_body_steps)) * vc)) /\ exists fs_q_mkm_product_sum_body_steps_summand. vb = fs_q_mkm_product_sum_body_steps_summand * S ((S (fs_i_mkm_product_sum_body_steps)) * vc) + (fs_a_mkm_product_sum_body_steps))) /\ ((((exists fs_h_mkm_product_sum_body_steps_partial. fs_h_mkm_product_sum_body_steps_partial + S (fs_r_mkm_product_sum_body_steps) = S ((S (fs_i_mkm_product_sum_body_steps)) * fs_v_mkm_product_sum)) /\ exists fs_q_mkm_product_sum_body_steps_partial. fs_u_mkm_product_sum = fs_q_mkm_product_sum_body_steps_partial * S ((S (fs_i_mkm_product_sum_body_steps)) * fs_v_mkm_product_sum) + (fs_r_mkm_product_sum_body_steps))) /\ ((((exists fs_h_mkm_product_sum_body_steps_successor. fs_h_mkm_product_sum_body_steps_successor + S (fs_s_mkm_product_sum_body_steps) = S ((S (S fs_i_mkm_product_sum_body_steps)) * fs_v_mkm_product_sum)) /\ exists fs_q_mkm_product_sum_body_steps_successor. fs_u_mkm_product_sum = fs_q_mkm_product_sum_body_steps_successor * S ((S (S fs_i_mkm_product_sum_body_steps)) * fs_v_mkm_product_sum) + (fs_s_mkm_product_sum_body_steps))) /\ fs_s_mkm_product_sum_body_steps = fs_r_mkm_product_sum_body_steps + fs_a_mkm_product_sum_body_steps)))))) -> (((exists bpv_gap_mkm_product_val_exponent_bound. bpv_gap_mkm_product_val_exponent_bound + g = (z)) /\ (exists bpv_result_mkm_product_val_selected. ((exists ff_b_mkm_product_val_selected_power ff_c_mkm_product_val_selected_power. ((forall ff_i_mkm_product_val_selected_power_repeat. (exists ff_lt_mkm_product_val_selected_power_repeat_bound. ff_lt_mkm_product_val_selected_power_repeat_bound + S ff_i_mkm_product_val_selected_power_repeat = g) -> (((exists ff_h_mkm_product_val_selected_power_repeat_decoded. ff_h_mkm_product_val_selected_power_repeat_decoded + S (p) = S ((S (ff_i_mkm_product_val_selected_power_repeat)) * ff_c_mkm_product_val_selected_power)) /\ exists ff_q_mkm_product_val_selected_power_repeat_decoded. ff_b_mkm_product_val_selected_power = ff_q_mkm_product_val_selected_power_repeat_decoded * S ((S (ff_i_mkm_product_val_selected_power_repeat)) * ff_c_mkm_product_val_selected_power) + (p)))) /\ (exists ff_u_mkm_product_val_selected_power_product ff_v_mkm_product_val_selected_power_product. ((((exists ff_h_mkm_product_val_selected_power_product_start. ff_h_mkm_product_val_selected_power_product_start + S (1) = S ((S (0)) * ff_v_mkm_product_val_selected_power_product)) /\ exists ff_q_mkm_product_val_selected_power_product_start. ff_u_mkm_product_val_selected_power_product = ff_q_mkm_product_val_selected_power_product_start * S ((S (0)) * ff_v_mkm_product_val_selected_power_product) + (1))) /\ ((((exists ff_h_mkm_product_val_selected_power_product_terminal. ff_h_mkm_product_val_selected_power_product_terminal + S (bpv_result_mkm_product_val_selected) = S ((S (g)) * ff_v_mkm_product_val_selected_power_product)) /\ exists ff_q_mkm_product_val_selected_power_product_terminal. ff_u_mkm_product_val_selected_power_product = ff_q_mkm_product_val_selected_power_product_terminal * S ((S (g)) * ff_v_mkm_product_val_selected_power_product) + (bpv_result_mkm_product_val_selected))) /\ forall ff_i_mkm_product_val_selected_power_product. (exists ff_lt_mkm_product_val_selected_power_product_bound. ff_lt_mkm_product_val_selected_power_product_bound + S ff_i_mkm_product_val_selected_power_product = g) -> exists ff_p_mkm_product_val_selected_power_product ff_r_mkm_product_val_selected_power_product ff_s_mkm_product_val_selected_power_product. ((((exists ff_h_mkm_product_val_selected_power_product_factor. ff_h_mkm_product_val_selected_power_product_factor + S (ff_p_mkm_product_val_selected_power_product) = S ((S (ff_i_mkm_product_val_selected_power_product)) * ff_c_mkm_product_val_selected_power)) /\ exists ff_q_mkm_product_val_selected_power_product_factor. ff_b_mkm_product_val_selected_power = ff_q_mkm_product_val_selected_power_product_factor * S ((S (ff_i_mkm_product_val_selected_power_product)) * ff_c_mkm_product_val_selected_power) + (ff_p_mkm_product_val_selected_power_product))) /\ ((((exists ff_h_mkm_product_val_selected_power_product_partial. ff_h_mkm_product_val_selected_power_product_partial + S (ff_r_mkm_product_val_selected_power_product) = S ((S (ff_i_mkm_product_val_selected_power_product)) * ff_v_mkm_product_val_selected_power_product)) /\ exists ff_q_mkm_product_val_selected_power_product_partial. ff_u_mkm_product_val_selected_power_product = ff_q_mkm_product_val_selected_power_product_partial * S ((S (ff_i_mkm_product_val_selected_power_product)) * ff_v_mkm_product_val_selected_power_product) + (ff_r_mkm_product_val_selected_power_product))) /\ ((((exists ff_h_mkm_product_val_selected_power_product_successor. ff_h_mkm_product_val_selected_power_product_successor + S (ff_s_mkm_product_val_selected_power_product) = S ((S (S ff_i_mkm_product_val_selected_power_product)) * ff_v_mkm_product_val_selected_power_product)) /\ exists ff_q_mkm_product_val_selected_power_product_successor. ff_u_mkm_product_val_selected_power_product = ff_q_mkm_product_val_selected_power_product_successor * S ((S (S ff_i_mkm_product_val_selected_power_product)) * ff_v_mkm_product_val_selected_power_product) + (ff_s_mkm_product_val_selected_power_product))) /\ ff_s_mkm_product_val_selected_power_product = ff_r_mkm_product_val_selected_power_product * ff_p_mkm_product_val_selected_power_product)))))))) /\ (exists bpv_factor_mkm_product_val_selected_divides. (z) = bpv_result_mkm_product_val_selected * bpv_factor_mkm_product_val_selected_divides)))) /\ forall bpv_candidate_mkm_product_val. (exists bpv_gap_mkm_product_val_candidate_bound. bpv_gap_mkm_product_val_candidate_bound + bpv_candidate_mkm_product_val = (z)) -> (exists bpv_result_mkm_product_val_candidate. ((exists ff_b_mkm_product_val_candidate_power ff_c_mkm_product_val_candidate_power. ((forall ff_i_mkm_product_val_candidate_power_repeat. (exists ff_lt_mkm_product_val_candidate_power_repeat_bound. ff_lt_mkm_product_val_candidate_power_repeat_bound + S ff_i_mkm_product_val_candidate_power_repeat = bpv_candidate_mkm_product_val) -> (((exists ff_h_mkm_product_val_candidate_power_repeat_decoded. ff_h_mkm_product_val_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_mkm_product_val_candidate_power_repeat)) * ff_c_mkm_product_val_candidate_power)) /\ exists ff_q_mkm_product_val_candidate_power_repeat_decoded. ff_b_mkm_product_val_candidate_power = ff_q_mkm_product_val_candidate_power_repeat_decoded * S ((S (ff_i_mkm_product_val_candidate_power_repeat)) * ff_c_mkm_product_val_candidate_power) + (p)))) /\ (exists ff_u_mkm_product_val_candidate_power_product ff_v_mkm_product_val_candidate_power_product. ((((exists ff_h_mkm_product_val_candidate_power_product_start. ff_h_mkm_product_val_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_mkm_product_val_candidate_power_product)) /\ exists ff_q_mkm_product_val_candidate_power_product_start. ff_u_mkm_product_val_candidate_power_product = ff_q_mkm_product_val_candidate_power_product_start * S ((S (0)) * ff_v_mkm_product_val_candidate_power_product) + (1))) /\ ((((exists ff_h_mkm_product_val_candidate_power_product_terminal. ff_h_mkm_product_val_candidate_power_product_terminal + S (bpv_result_mkm_product_val_candidate) = S ((S (bpv_candidate_mkm_product_val)) * ff_v_mkm_product_val_candidate_power_product)) /\ exists ff_q_mkm_product_val_candidate_power_product_terminal. ff_u_mkm_product_val_candidate_power_product = ff_q_mkm_product_val_candidate_power_product_terminal * S ((S (bpv_candidate_mkm_product_val)) * ff_v_mkm_product_val_candidate_power_product) + (bpv_result_mkm_product_val_candidate))) /\ forall ff_i_mkm_product_val_candidate_power_product. (exists ff_lt_mkm_product_val_candidate_power_product_bound. ff_lt_mkm_product_val_candidate_power_product_bound + S ff_i_mkm_product_val_candidate_power_product = bpv_candidate_mkm_product_val) -> exists ff_p_mkm_product_val_candidate_power_product ff_r_mkm_product_val_candidate_power_product ff_s_mkm_product_val_candidate_power_product. ((((exists ff_h_mkm_product_val_candidate_power_product_factor. ff_h_mkm_product_val_candidate_power_product_factor + S (ff_p_mkm_product_val_candidate_power_product) = S ((S (ff_i_mkm_product_val_candidate_power_product)) * ff_c_mkm_product_val_candidate_power)) /\ exists ff_q_mkm_product_val_candidate_power_product_factor. ff_b_mkm_product_val_candidate_power = ff_q_mkm_product_val_candidate_power_product_factor * S ((S (ff_i_mkm_product_val_candidate_power_product)) * ff_c_mkm_product_val_candidate_power) + (ff_p_mkm_product_val_candidate_power_product))) /\ ((((exists ff_h_mkm_product_val_candidate_power_product_partial. ff_h_mkm_product_val_candidate_power_product_partial + S (ff_r_mkm_product_val_candidate_power_product) = S ((S (ff_i_mkm_product_val_candidate_power_product)) * ff_v_mkm_product_val_candidate_power_product)) /\ exists ff_q_mkm_product_val_candidate_power_product_partial. ff_u_mkm_product_val_candidate_power_product = ff_q_mkm_product_val_candidate_power_product_partial * S ((S (ff_i_mkm_product_val_candidate_power_product)) * ff_v_mkm_product_val_candidate_power_product) + (ff_r_mkm_product_val_candidate_power_product))) /\ ((((exists ff_h_mkm_product_val_candidate_power_product_successor. ff_h_mkm_product_val_candidate_power_product_successor + S (ff_s_mkm_product_val_candidate_power_product) = S ((S (S ff_i_mkm_product_val_candidate_power_product)) * ff_v_mkm_product_val_candidate_power_product)) /\ exists ff_q_mkm_product_val_candidate_power_product_successor. ff_u_mkm_product_val_candidate_power_product = ff_q_mkm_product_val_candidate_power_product_successor * S ((S (S ff_i_mkm_product_val_candidate_power_product)) * ff_v_mkm_product_val_candidate_power_product) + (ff_s_mkm_product_val_candidate_power_product))) /\ ff_s_mkm_product_val_candidate_power_product = ff_r_mkm_product_val_candidate_power_product * ff_p_mkm_product_val_candidate_power_product)))))))) /\ (exists bpv_factor_mkm_product_val_candidate_divides. (z) = bpv_result_mkm_product_val_candidate * bpv_factor_mkm_product_val_candidate_divides))) -> (exists bpv_gap_mkm_product_val_maximal. bpv_gap_mkm_product_val_maximal + bpv_candidate_mkm_product_val = g)) -> g = eConstructive proof overview
Generated structural guide
For a prime and any nonzero finite factor list, the exact product valuation equals the finite sum of its actual factor valuations.
The unchanged tactic script uses 12 declared prerequisites and contains 150 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
beta_sum_zero Stable theorem; checked-use authorized beta_product_zero Stable theorem; checked-use authorized prime_power_valuation_one_zero Alpha theorem; checked-use authorized beta_product_succ_decompose Stable theorem; checked-use authorized beta_sum_succ_decompose Stable theorem; checked-use authorized crt_positive_moduli_prefix_drop_last Alpha theorem; checked-use authorized MK0002 beta_valuation_prefix_drop_last power_valuation_exists Alpha theorem; checked-use authorized MK0003 beta_valuation_prefix_last crt_positive_moduli_prefix_product_nonzero Alpha theorem; checked-use authorized crt_positive_moduli_prefix_last_nonzero Alpha theorem; checked-use authorized prime_power_valuation_mul 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–5
02Induction on lL6–15
03Establish hezeroL16–25
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta sum zero.
- L16
have hezero : e = 0 - L17
specialize beta_sum_zero vb - L18
specialize beta_sum_zero vc - L19
specialize beta_sum_zero e - L20
apply beta_sum_zero - L21
exact hsum - L22
rewrite hezero - L23
specialize prime_power_valuation_one_zero p - L24
specialize prime_power_valuation_one_zero z - L25
specialize prime_power_valuation_one_zero g
04Use earlier factsL26–33
05Fix variables and assumptionsL34–42
06Establish hprodpartL43–49
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta product succ decompose.
07Separate the logical casesL50–53
08Establish hsumpartL54–60
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta sum succ decompose.
09Separate the logical casesL61–64
10Establish hnprevL65–70
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply crt positive moduli prefix drop last.
- L65
have hnprev : ∀ gcrt_positive_index_mkm_product_previous_nonzero. ∀ gcrt_positive_value_mkm_product_previous_nonzero. Lt(gcrt_positive_index_mkm_product_previous_nonzero,l) → BetaAt(b,c,gcrt_positive_index_mkm_product_previous_nonzero,gcrt_positive_value_mkm_product_previous_nonzero) → ¬gcrt_positive_value_mkm_product_previous_nonzero = 0Definitions: LtBetaAt - L66
specialize crt_positive_moduli_prefix_drop_last b - L67
specialize crt_positive_moduli_prefix_drop_last c - L68
specialize crt_positive_moduli_prefix_drop_last l - L69
apply crt_positive_moduli_prefix_drop_last - L70
exact hn
11Establish hvprevL71–79
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta valuation prefix drop last.
- L71
have hvprev : BetaValuationPrefix(p,b,c,vb,vc,l)Definitions: BetaValuationPrefix - L72
specialize beta_valuation_prefix_drop_last p - L73
specialize beta_valuation_prefix_drop_last b - L74
specialize beta_valuation_prefix_drop_last c - L75
specialize beta_valuation_prefix_drop_last vb - L76
specialize beta_valuation_prefix_drop_last vc - L77
specialize beta_valuation_prefix_drop_last l - L78
apply beta_valuation_prefix_drop_last - L79
exact hv
12Establish hpreviousL80–83
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply power valuation exists.
- L80
have hprevious : ∃ v. BoundedPowerValuation(p,x1,x1,v)Definitions: BoundedPowerValuation - L81
specialize power_valuation_exists p - L82
specialize power_valuation_exists x1 - L83
apply power_valuation_exists
13Separate the logical casesL84–84
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L84
cases hprevious
14Establish hprevious_valueL85–94
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
15Use earlier factsL95–95
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L95
exact hprevious_witness
16Calculate and transport equalitiesL96–101
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
17Establish hlastL102–111
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta valuation prefix last.
- L102
have hlast : BoundedPowerValuation(p,x,x,x2)Definitions: BoundedPowerValuation - L103
specialize beta_valuation_prefix_last p - L104
specialize beta_valuation_prefix_last b - L105
specialize beta_valuation_prefix_last c - L106
specialize beta_valuation_prefix_last vb - L107
specialize beta_valuation_prefix_last vc - L108
specialize beta_valuation_prefix_last l - L109
specialize beta_valuation_prefix_last x - L110
specialize beta_valuation_prefix_last x2 - L111
apply beta_valuation_prefix_last
18Use earlier factsL112–114
19Calculate and transport equalitiesL115–119
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
20Use earlier factsL120–127
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L120
specialize prime_power_valuation_mul p - L121
specialize prime_power_valuation_mul x1 - L122
specialize prime_power_valuation_mul x - L123
specialize prime_power_valuation_mul x3 - L124
specialize prime_power_valuation_mul x2 - L125
specialize prime_power_valuation_mul g - L126
apply prime_power_valuation_mul - L127
exact hp
21Fix variables and assumptionsL128–128
Work with arbitrary variables or the premises of the current implication.
- L128
intro hzero
22Use earlier factsL129–136
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L129
specialize crt_positive_moduli_prefix_product_nonzero b - L130
specialize crt_positive_moduli_prefix_product_nonzero c - L131
specialize crt_positive_moduli_prefix_product_nonzero l - L132
specialize crt_positive_moduli_prefix_product_nonzero x1 - L133
apply crt_positive_moduli_prefix_product_nonzero - L134
exact hnprev - L135
exact hprodpart_witness_witness_right_left - L136
exact hzero
23Fix variables and assumptionsL137–137
Work with arbitrary variables or the premises of the current implication.
- L137
intro hzero
24Use earlier factsL138–147
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L138
specialize crt_positive_moduli_prefix_last_nonzero b - L139
specialize crt_positive_moduli_prefix_last_nonzero c - L140
specialize crt_positive_moduli_prefix_last_nonzero l - L141
specialize crt_positive_moduli_prefix_last_nonzero x - L142
apply crt_positive_moduli_prefix_last_nonzero - L143
exact hn - L144
exact hprodpart_witness_witness_left - L145
exact hzero - L146
exact hprevious_witness - L147
exact hlast
25Use earlier factsL148–148
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L148
exact hg
26Calculate and transport equalitiesL149–149
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L149
symm
27Use earlier factsL150–150
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L150
exact hsumpart_witness_witness_right_right
Original exact command ledger · 150 lines
- 0001
intro p - 0002
intro b - 0003
intro c - 0004
intro vb - 0005
intro vc - 0006
induction l - 0007
intro z - 0008
intro e - 0009
intro g - 0010
intro hp - 0011
intro hn - 0012
intro hv - 0013
intro hprod - 0014
intro hsum - 0015
intro hg - 0016
have hezero : e = 0 - 0017
specialize beta_sum_zero vb - 0018
specialize beta_sum_zero vc - 0019
specialize beta_sum_zero e - 0020
apply beta_sum_zero - 0021
exact hsum - 0022
rewrite hezero - 0023
specialize prime_power_valuation_one_zero p - 0024
specialize prime_power_valuation_one_zero z - 0025
specialize prime_power_valuation_one_zero g - 0026
apply prime_power_valuation_one_zero - 0027
specialize beta_product_zero b - 0028
specialize beta_product_zero c - 0029
specialize beta_product_zero z - 0030
apply beta_product_zero - 0031
exact hprod - 0032
exact hp - 0033
exact hg - 0034
intro z - 0035
intro e - 0036
intro g - 0037
intro hp - 0038
intro hn - 0039
intro hv - 0040
intro hprod - 0041
intro hsum - 0042
intro hg - 0043
have hprodpart : exists a w. (((exists fs_h_mkm_product_last. fs_h_mkm_product_last + S (a) = S ((S (l)) * c)) /\ exists fs_q_mkm_product_last. b = fs_q_mkm_product_last * S ((S (l)) * c) + (a))) /\ ((exists ff_u_mkm_product_before ff_v_mkm_product_before. ((((exists ff_h_mkm_product_before_start. ff_h_mkm_product_before_start + S (1) = S ((S (0)) * ff_v_mkm_product_before)) /\ exists ff_q_mkm_product_before_start. ff_u_mkm_product_before = ff_q_mkm_product_before_start * S ((S (0)) * ff_v_mkm_product_before) + (1))) /\ ((((exists ff_h_mkm_product_before_terminal. ff_h_mkm_product_before_terminal + S (w) = S ((S (l)) * ff_v_mkm_product_before)) /\ exists ff_q_mkm_product_before_terminal. ff_u_mkm_product_before = ff_q_mkm_product_before_terminal * S ((S (l)) * ff_v_mkm_product_before) + (w))) /\ forall ff_i_mkm_product_before. (exists ff_lt_mkm_product_before_bound. ff_lt_mkm_product_before_bound + S ff_i_mkm_product_before = l) -> exists ff_p_mkm_product_before ff_r_mkm_product_before ff_s_mkm_product_before. ((((exists ff_h_mkm_product_before_factor. ff_h_mkm_product_before_factor + S (ff_p_mkm_product_before) = S ((S (ff_i_mkm_product_before)) * c)) /\ exists ff_q_mkm_product_before_factor. b = ff_q_mkm_product_before_factor * S ((S (ff_i_mkm_product_before)) * c) + (ff_p_mkm_product_before))) /\ ((((exists ff_h_mkm_product_before_partial. ff_h_mkm_product_before_partial + S (ff_r_mkm_product_before) = S ((S (ff_i_mkm_product_before)) * ff_v_mkm_product_before)) /\ exists ff_q_mkm_product_before_partial. ff_u_mkm_product_before = ff_q_mkm_product_before_partial * S ((S (ff_i_mkm_product_before)) * ff_v_mkm_product_before) + (ff_r_mkm_product_before))) /\ ((((exists ff_h_mkm_product_before_successor. ff_h_mkm_product_before_successor + S (ff_s_mkm_product_before) = S ((S (S ff_i_mkm_product_before)) * ff_v_mkm_product_before)) /\ exists ff_q_mkm_product_before_successor. ff_u_mkm_product_before = ff_q_mkm_product_before_successor * S ((S (S ff_i_mkm_product_before)) * ff_v_mkm_product_before) + (ff_s_mkm_product_before))) /\ ff_s_mkm_product_before = ff_r_mkm_product_before * ff_p_mkm_product_before)))))) /\ z = w * a) - 0044
specialize beta_product_succ_decompose b - 0045
specialize beta_product_succ_decompose c - 0046
specialize beta_product_succ_decompose l - 0047
specialize beta_product_succ_decompose z - 0048
apply beta_product_succ_decompose - 0049
exact hprod - 0050
cases hprodpart - 0051
cases hprodpart_witness - 0052
cases hprodpart_witness_witness - 0053
cases hprodpart_witness_witness_right - 0054
have hsumpart : exists v E. (((exists fs_h_mkm_product_last_exponent. fs_h_mkm_product_last_exponent + S (v) = S ((S (l)) * vc)) /\ exists fs_q_mkm_product_last_exponent. vb = fs_q_mkm_product_last_exponent * S ((S (l)) * vc) + (v))) /\ ((exists fs_u_mkm_product_sum_before fs_v_mkm_product_sum_before. ((((exists fs_h_mkm_product_sum_before_body_start. fs_h_mkm_product_sum_before_body_start + S (0) = S ((S (0)) * fs_v_mkm_product_sum_before)) /\ exists fs_q_mkm_product_sum_before_body_start. fs_u_mkm_product_sum_before = fs_q_mkm_product_sum_before_body_start * S ((S (0)) * fs_v_mkm_product_sum_before) + (0))) /\ ((((exists fs_h_mkm_product_sum_before_body_terminal. fs_h_mkm_product_sum_before_body_terminal + S (E) = S ((S (l)) * fs_v_mkm_product_sum_before)) /\ exists fs_q_mkm_product_sum_before_body_terminal. fs_u_mkm_product_sum_before = fs_q_mkm_product_sum_before_body_terminal * S ((S (l)) * fs_v_mkm_product_sum_before) + (E))) /\ forall fs_i_mkm_product_sum_before_body_steps. (exists fs_lt_mkm_product_sum_before_body_steps_bound. fs_lt_mkm_product_sum_before_body_steps_bound + S fs_i_mkm_product_sum_before_body_steps = l) -> exists fs_a_mkm_product_sum_before_body_steps fs_r_mkm_product_sum_before_body_steps fs_s_mkm_product_sum_before_body_steps. ((((exists fs_h_mkm_product_sum_before_body_steps_summand. fs_h_mkm_product_sum_before_body_steps_summand + S (fs_a_mkm_product_sum_before_body_steps) = S ((S (fs_i_mkm_product_sum_before_body_steps)) * vc)) /\ exists fs_q_mkm_product_sum_before_body_steps_summand. vb = fs_q_mkm_product_sum_before_body_steps_summand * S ((S (fs_i_mkm_product_sum_before_body_steps)) * vc) + (fs_a_mkm_product_sum_before_body_steps))) /\ ((((exists fs_h_mkm_product_sum_before_body_steps_partial. fs_h_mkm_product_sum_before_body_steps_partial + S (fs_r_mkm_product_sum_before_body_steps) = S ((S (fs_i_mkm_product_sum_before_body_steps)) * fs_v_mkm_product_sum_before)) /\ exists fs_q_mkm_product_sum_before_body_steps_partial. fs_u_mkm_product_sum_before = fs_q_mkm_product_sum_before_body_steps_partial * S ((S (fs_i_mkm_product_sum_before_body_steps)) * fs_v_mkm_product_sum_before) + (fs_r_mkm_product_sum_before_body_steps))) /\ ((((exists fs_h_mkm_product_sum_before_body_steps_successor. fs_h_mkm_product_sum_before_body_steps_successor + S (fs_s_mkm_product_sum_before_body_steps) = S ((S (S fs_i_mkm_product_sum_before_body_steps)) * fs_v_mkm_product_sum_before)) /\ exists fs_q_mkm_product_sum_before_body_steps_successor. fs_u_mkm_product_sum_before = fs_q_mkm_product_sum_before_body_steps_successor * S ((S (S fs_i_mkm_product_sum_before_body_steps)) * fs_v_mkm_product_sum_before) + (fs_s_mkm_product_sum_before_body_steps))) /\ fs_s_mkm_product_sum_before_body_steps = fs_r_mkm_product_sum_before_body_steps + fs_a_mkm_product_sum_before_body_steps)))))) /\ e = E + v) - 0055
specialize beta_sum_succ_decompose vb - 0056
specialize beta_sum_succ_decompose vc - 0057
specialize beta_sum_succ_decompose l - 0058
specialize beta_sum_succ_decompose e - 0059
apply beta_sum_succ_decompose - 0060
exact hsum - 0061
cases hsumpart - 0062
cases hsumpart_witness - 0063
cases hsumpart_witness_witness - 0064
cases hsumpart_witness_witness_right - 0065
have hnprev : forall gcrt_positive_index_mkm_product_previous_nonzero gcrt_positive_value_mkm_product_previous_nonzero. (exists ff_lt_gcrt_mkm_product_previous_nonzero_bound. ff_lt_gcrt_mkm_product_previous_nonzero_bound + S gcrt_positive_index_mkm_product_previous_nonzero = l) -> (((exists ff_h_gcrt_mkm_product_previous_nonzero_entry. ff_h_gcrt_mkm_product_previous_nonzero_entry + S (gcrt_positive_value_mkm_product_previous_nonzero) = S ((S (gcrt_positive_index_mkm_product_previous_nonzero)) * c)) /\ exists ff_q_gcrt_mkm_product_previous_nonzero_entry. b = ff_q_gcrt_mkm_product_previous_nonzero_entry * S ((S (gcrt_positive_index_mkm_product_previous_nonzero)) * c) + (gcrt_positive_value_mkm_product_previous_nonzero))) -> ~(gcrt_positive_value_mkm_product_previous_nonzero = 0) - 0066
specialize crt_positive_moduli_prefix_drop_last b - 0067
specialize crt_positive_moduli_prefix_drop_last c - 0068
specialize crt_positive_moduli_prefix_drop_last l - 0069
apply crt_positive_moduli_prefix_drop_last - 0070
exact hn - 0071
have hvprev : forall mkm_index_product_previous_values. (exists mkm_lt_product_previous_values_bound. mkm_lt_product_previous_values_bound + S (mkm_index_product_previous_values) = (l)) -> (exists mkm_value_product_previous_values_point mkm_exponent_product_previous_values_point. (((exists fs_h_mkm_product_previous_values_point_source. fs_h_mkm_product_previous_values_point_source + S (mkm_value_product_previous_values_point) = S ((S (mkm_index_product_previous_values)) * c)) /\ exists fs_q_mkm_product_previous_values_point_source. b = fs_q_mkm_product_previous_values_point_source * S ((S (mkm_index_product_previous_values)) * c) + (mkm_value_product_previous_values_point))) /\ ((((exists fs_h_mkm_product_previous_values_point_decoded. fs_h_mkm_product_previous_values_point_decoded + S (mkm_exponent_product_previous_values_point) = S ((S (mkm_index_product_previous_values)) * vc)) /\ exists fs_q_mkm_product_previous_values_point_decoded. vb = fs_q_mkm_product_previous_values_point_decoded * S ((S (mkm_index_product_previous_values)) * vc) + (mkm_exponent_product_previous_values_point))) /\ (((exists bpv_gap_mkm_product_previous_values_point_valuation_exponent_bound. bpv_gap_mkm_product_previous_values_point_valuation_exponent_bound + mkm_exponent_product_previous_values_point = (mkm_value_product_previous_values_point)) /\ (exists bpv_result_mkm_product_previous_values_point_valuation_selected. ((exists ff_b_mkm_product_previous_values_point_valuation_selected_power ff_c_mkm_product_previous_values_point_valuation_selected_power. ((forall ff_i_mkm_product_previous_values_point_valuation_selected_power_repeat. (exists ff_lt_mkm_product_previous_values_point_valuation_selected_power_repeat_bound. ff_lt_mkm_product_previous_values_point_valuation_selected_power_repeat_bound + S ff_i_mkm_product_previous_values_point_valuation_selected_power_repeat = mkm_exponent_product_previous_values_point) -> (((exists ff_h_mkm_product_previous_values_point_valuation_selected_power_repeat_decoded. ff_h_mkm_product_previous_values_point_valuation_selected_power_repeat_decoded + S (p) = S ((S (ff_i_mkm_product_previous_values_point_valuation_selected_power_repeat)) * ff_c_mkm_product_previous_values_point_valuation_selected_power)) /\ exists ff_q_mkm_product_previous_values_point_valuation_selected_power_repeat_decoded. ff_b_mkm_product_previous_values_point_valuation_selected_power = ff_q_mkm_product_previous_values_point_valuation_selected_power_repeat_decoded * S ((S (ff_i_mkm_product_previous_values_point_valuation_selected_power_repeat)) * ff_c_mkm_product_previous_values_point_valuation_selected_power) + (p)))) /\ (exists ff_u_mkm_product_previous_values_point_valuation_selected_power_product ff_v_mkm_product_previous_values_point_valuation_selected_power_product. ((((exists ff_h_mkm_product_previous_values_point_valuation_selected_power_product_start. ff_h_mkm_product_previous_values_point_valuation_selected_power_product_start + S (1) = S ((S (0)) * ff_v_mkm_product_previous_values_point_valuation_selected_power_product)) /\ exists ff_q_mkm_product_previous_values_point_valuation_selected_power_product_start. ff_u_mkm_product_previous_values_point_valuation_selected_power_product = ff_q_mkm_product_previous_values_point_valuation_selected_power_product_start * S ((S (0)) * ff_v_mkm_product_previous_values_point_valuation_selected_power_product) + (1))) /\ ((((exists ff_h_mkm_product_previous_values_point_valuation_selected_power_product_terminal. ff_h_mkm_product_previous_values_point_valuation_selected_power_product_terminal + S (bpv_result_mkm_product_previous_values_point_valuation_selected) = S ((S (mkm_exponent_product_previous_values_point)) * ff_v_mkm_product_previous_values_point_valuation_selected_power_product)) /\ exists ff_q_mkm_product_previous_values_point_valuation_selected_power_product_terminal. ff_u_mkm_product_previous_values_point_valuation_selected_power_product = ff_q_mkm_product_previous_values_point_valuation_selected_power_product_terminal * S ((S (mkm_exponent_product_previous_values_point)) * ff_v_mkm_product_previous_values_point_valuation_selected_power_product) + (bpv_result_mkm_product_previous_values_point_valuation_selected))) /\ forall ff_i_mkm_product_previous_values_point_valuation_selected_power_product. (exists ff_lt_mkm_product_previous_values_point_valuation_selected_power_product_bound. ff_lt_mkm_product_previous_values_point_valuation_selected_power_product_bound + S ff_i_mkm_product_previous_values_point_valuation_selected_power_product = mkm_exponent_product_previous_values_point) -> exists ff_p_mkm_product_previous_values_point_valuation_selected_power_product ff_r_mkm_product_previous_values_point_valuation_selected_power_product ff_s_mkm_product_previous_values_point_valuation_selected_power_product. ((((exists ff_h_mkm_product_previous_values_point_valuation_selected_power_product_factor. ff_h_mkm_product_previous_values_point_valuation_selected_power_product_factor + S (ff_p_mkm_product_previous_values_point_valuation_selected_power_product) = S ((S (ff_i_mkm_product_previous_values_point_valuation_selected_power_product)) * ff_c_mkm_product_previous_values_point_valuation_selected_power)) /\ exists ff_q_mkm_product_previous_values_point_valuation_selected_power_product_factor. ff_b_mkm_product_previous_values_point_valuation_selected_power = ff_q_mkm_product_previous_values_point_valuation_selected_power_product_factor * S ((S (ff_i_mkm_product_previous_values_point_valuation_selected_power_product)) * ff_c_mkm_product_previous_values_point_valuation_selected_power) + (ff_p_mkm_product_previous_values_point_valuation_selected_power_product))) /\ ((((exists ff_h_mkm_product_previous_values_point_valuation_selected_power_product_partial. ff_h_mkm_product_previous_values_point_valuation_selected_power_product_partial + S (ff_r_mkm_product_previous_values_point_valuation_selected_power_product) = S ((S (ff_i_mkm_product_previous_values_point_valuation_selected_power_product)) * ff_v_mkm_product_previous_values_point_valuation_selected_power_product)) /\ exists ff_q_mkm_product_previous_values_point_valuation_selected_power_product_partial. ff_u_mkm_product_previous_values_point_valuation_selected_power_product = ff_q_mkm_product_previous_values_point_valuation_selected_power_product_partial * S ((S (ff_i_mkm_product_previous_values_point_valuation_selected_power_product)) * ff_v_mkm_product_previous_values_point_valuation_selected_power_product) + (ff_r_mkm_product_previous_values_point_valuation_selected_power_product))) /\ ((((exists ff_h_mkm_product_previous_values_point_valuation_selected_power_product_successor. ff_h_mkm_product_previous_values_point_valuation_selected_power_product_successor + S (ff_s_mkm_product_previous_values_point_valuation_selected_power_product) = S ((S (S ff_i_mkm_product_previous_values_point_valuation_selected_power_product)) * ff_v_mkm_product_previous_values_point_valuation_selected_power_product)) /\ exists ff_q_mkm_product_previous_values_point_valuation_selected_power_product_successor. ff_u_mkm_product_previous_values_point_valuation_selected_power_product = ff_q_mkm_product_previous_values_point_valuation_selected_power_product_successor * S ((S (S ff_i_mkm_product_previous_values_point_valuation_selected_power_product)) * ff_v_mkm_product_previous_values_point_valuation_selected_power_product) + (ff_s_mkm_product_previous_values_point_valuation_selected_power_product))) /\ ff_s_mkm_product_previous_values_point_valuation_selected_power_product = ff_r_mkm_product_previous_values_point_valuation_selected_power_product * ff_p_mkm_product_previous_values_point_valuation_selected_power_product)))))))) /\ (exists bpv_factor_mkm_product_previous_values_point_valuation_selected_divides. (mkm_value_product_previous_values_point) = bpv_result_mkm_product_previous_values_point_valuation_selected * bpv_factor_mkm_product_previous_values_point_valuation_selected_divides)))) /\ forall bpv_candidate_mkm_product_previous_values_point_valuation. (exists bpv_gap_mkm_product_previous_values_point_valuation_candidate_bound. bpv_gap_mkm_product_previous_values_point_valuation_candidate_bound + bpv_candidate_mkm_product_previous_values_point_valuation = (mkm_value_product_previous_values_point)) -> (exists bpv_result_mkm_product_previous_values_point_valuation_candidate. ((exists ff_b_mkm_product_previous_values_point_valuation_candidate_power ff_c_mkm_product_previous_values_point_valuation_candidate_power. ((forall ff_i_mkm_product_previous_values_point_valuation_candidate_power_repeat. (exists ff_lt_mkm_product_previous_values_point_valuation_candidate_power_repeat_bound. ff_lt_mkm_product_previous_values_point_valuation_candidate_power_repeat_bound + S ff_i_mkm_product_previous_values_point_valuation_candidate_power_repeat = bpv_candidate_mkm_product_previous_values_point_valuation) -> (((exists ff_h_mkm_product_previous_values_point_valuation_candidate_power_repeat_decoded. ff_h_mkm_product_previous_values_point_valuation_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_mkm_product_previous_values_point_valuation_candidate_power_repeat)) * ff_c_mkm_product_previous_values_point_valuation_candidate_power)) /\ exists ff_q_mkm_product_previous_values_point_valuation_candidate_power_repeat_decoded. ff_b_mkm_product_previous_values_point_valuation_candidate_power = ff_q_mkm_product_previous_values_point_valuation_candidate_power_repeat_decoded * S ((S (ff_i_mkm_product_previous_values_point_valuation_candidate_power_repeat)) * ff_c_mkm_product_previous_values_point_valuation_candidate_power) + (p)))) /\ (exists ff_u_mkm_product_previous_values_point_valuation_candidate_power_product ff_v_mkm_product_previous_values_point_valuation_candidate_power_product. ((((exists ff_h_mkm_product_previous_values_point_valuation_candidate_power_product_start. ff_h_mkm_product_previous_values_point_valuation_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_mkm_product_previous_values_point_valuation_candidate_power_product)) /\ exists ff_q_mkm_product_previous_values_point_valuation_candidate_power_product_start. ff_u_mkm_product_previous_values_point_valuation_candidate_power_product = ff_q_mkm_product_previous_values_point_valuation_candidate_power_product_start * S ((S (0)) * ff_v_mkm_product_previous_values_point_valuation_candidate_power_product) + (1))) /\ ((((exists ff_h_mkm_product_previous_values_point_valuation_candidate_power_product_terminal. ff_h_mkm_product_previous_values_point_valuation_candidate_power_product_terminal + S (bpv_result_mkm_product_previous_values_point_valuation_candidate) = S ((S (bpv_candidate_mkm_product_previous_values_point_valuation)) * ff_v_mkm_product_previous_values_point_valuation_candidate_power_product)) /\ exists ff_q_mkm_product_previous_values_point_valuation_candidate_power_product_terminal. ff_u_mkm_product_previous_values_point_valuation_candidate_power_product = ff_q_mkm_product_previous_values_point_valuation_candidate_power_product_terminal * S ((S (bpv_candidate_mkm_product_previous_values_point_valuation)) * ff_v_mkm_product_previous_values_point_valuation_candidate_power_product) + (bpv_result_mkm_product_previous_values_point_valuation_candidate))) /\ forall ff_i_mkm_product_previous_values_point_valuation_candidate_power_product. (exists ff_lt_mkm_product_previous_values_point_valuation_candidate_power_product_bound. ff_lt_mkm_product_previous_values_point_valuation_candidate_power_product_bound + S ff_i_mkm_product_previous_values_point_valuation_candidate_power_product = bpv_candidate_mkm_product_previous_values_point_valuation) -> exists ff_p_mkm_product_previous_values_point_valuation_candidate_power_product ff_r_mkm_product_previous_values_point_valuation_candidate_power_product ff_s_mkm_product_previous_values_point_valuation_candidate_power_product. ((((exists ff_h_mkm_product_previous_values_point_valuation_candidate_power_product_factor. ff_h_mkm_product_previous_values_point_valuation_candidate_power_product_factor + S (ff_p_mkm_product_previous_values_point_valuation_candidate_power_product) = S ((S (ff_i_mkm_product_previous_values_point_valuation_candidate_power_product)) * ff_c_mkm_product_previous_values_point_valuation_candidate_power)) /\ exists ff_q_mkm_product_previous_values_point_valuation_candidate_power_product_factor. ff_b_mkm_product_previous_values_point_valuation_candidate_power = ff_q_mkm_product_previous_values_point_valuation_candidate_power_product_factor * S ((S (ff_i_mkm_product_previous_values_point_valuation_candidate_power_product)) * ff_c_mkm_product_previous_values_point_valuation_candidate_power) + (ff_p_mkm_product_previous_values_point_valuation_candidate_power_product))) /\ ((((exists ff_h_mkm_product_previous_values_point_valuation_candidate_power_product_partial. ff_h_mkm_product_previous_values_point_valuation_candidate_power_product_partial + S (ff_r_mkm_product_previous_values_point_valuation_candidate_power_product) = S ((S (ff_i_mkm_product_previous_values_point_valuation_candidate_power_product)) * ff_v_mkm_product_previous_values_point_valuation_candidate_power_product)) /\ exists ff_q_mkm_product_previous_values_point_valuation_candidate_power_product_partial. ff_u_mkm_product_previous_values_point_valuation_candidate_power_product = ff_q_mkm_product_previous_values_point_valuation_candidate_power_product_partial * S ((S (ff_i_mkm_product_previous_values_point_valuation_candidate_power_product)) * ff_v_mkm_product_previous_values_point_valuation_candidate_power_product) + (ff_r_mkm_product_previous_values_point_valuation_candidate_power_product))) /\ ((((exists ff_h_mkm_product_previous_values_point_valuation_candidate_power_product_successor. ff_h_mkm_product_previous_values_point_valuation_candidate_power_product_successor + S (ff_s_mkm_product_previous_values_point_valuation_candidate_power_product) = S ((S (S ff_i_mkm_product_previous_values_point_valuation_candidate_power_product)) * ff_v_mkm_product_previous_values_point_valuation_candidate_power_product)) /\ exists ff_q_mkm_product_previous_values_point_valuation_candidate_power_product_successor. ff_u_mkm_product_previous_values_point_valuation_candidate_power_product = ff_q_mkm_product_previous_values_point_valuation_candidate_power_product_successor * S ((S (S ff_i_mkm_product_previous_values_point_valuation_candidate_power_product)) * ff_v_mkm_product_previous_values_point_valuation_candidate_power_product) + (ff_s_mkm_product_previous_values_point_valuation_candidate_power_product))) /\ ff_s_mkm_product_previous_values_point_valuation_candidate_power_product = ff_r_mkm_product_previous_values_point_valuation_candidate_power_product * ff_p_mkm_product_previous_values_point_valuation_candidate_power_product)))))))) /\ (exists bpv_factor_mkm_product_previous_values_point_valuation_candidate_divides. (mkm_value_product_previous_values_point) = bpv_result_mkm_product_previous_values_point_valuation_candidate * bpv_factor_mkm_product_previous_values_point_valuation_candidate_divides))) -> (exists bpv_gap_mkm_product_previous_values_point_valuation_maximal. bpv_gap_mkm_product_previous_values_point_valuation_maximal + bpv_candidate_mkm_product_previous_values_point_valuation = mkm_exponent_product_previous_values_point)))) - 0072
specialize beta_valuation_prefix_drop_last p - 0073
specialize beta_valuation_prefix_drop_last b - 0074
specialize beta_valuation_prefix_drop_last c - 0075
specialize beta_valuation_prefix_drop_last vb - 0076
specialize beta_valuation_prefix_drop_last vc - 0077
specialize beta_valuation_prefix_drop_last l - 0078
apply beta_valuation_prefix_drop_last - 0079
exact hv - 0080
have hprevious : exists v. ((exists bpv_gap_mkm_product_previous_val_exponent_bound. bpv_gap_mkm_product_previous_val_exponent_bound + v = (x1)) /\ (exists bpv_result_mkm_product_previous_val_selected. ((exists ff_b_mkm_product_previous_val_selected_power ff_c_mkm_product_previous_val_selected_power. ((forall ff_i_mkm_product_previous_val_selected_power_repeat. (exists ff_lt_mkm_product_previous_val_selected_power_repeat_bound. ff_lt_mkm_product_previous_val_selected_power_repeat_bound + S ff_i_mkm_product_previous_val_selected_power_repeat = v) -> (((exists ff_h_mkm_product_previous_val_selected_power_repeat_decoded. ff_h_mkm_product_previous_val_selected_power_repeat_decoded + S (p) = S ((S (ff_i_mkm_product_previous_val_selected_power_repeat)) * ff_c_mkm_product_previous_val_selected_power)) /\ exists ff_q_mkm_product_previous_val_selected_power_repeat_decoded. ff_b_mkm_product_previous_val_selected_power = ff_q_mkm_product_previous_val_selected_power_repeat_decoded * S ((S (ff_i_mkm_product_previous_val_selected_power_repeat)) * ff_c_mkm_product_previous_val_selected_power) + (p)))) /\ (exists ff_u_mkm_product_previous_val_selected_power_product ff_v_mkm_product_previous_val_selected_power_product. ((((exists ff_h_mkm_product_previous_val_selected_power_product_start. ff_h_mkm_product_previous_val_selected_power_product_start + S (1) = S ((S (0)) * ff_v_mkm_product_previous_val_selected_power_product)) /\ exists ff_q_mkm_product_previous_val_selected_power_product_start. ff_u_mkm_product_previous_val_selected_power_product = ff_q_mkm_product_previous_val_selected_power_product_start * S ((S (0)) * ff_v_mkm_product_previous_val_selected_power_product) + (1))) /\ ((((exists ff_h_mkm_product_previous_val_selected_power_product_terminal. ff_h_mkm_product_previous_val_selected_power_product_terminal + S (bpv_result_mkm_product_previous_val_selected) = S ((S (v)) * ff_v_mkm_product_previous_val_selected_power_product)) /\ exists ff_q_mkm_product_previous_val_selected_power_product_terminal. ff_u_mkm_product_previous_val_selected_power_product = ff_q_mkm_product_previous_val_selected_power_product_terminal * S ((S (v)) * ff_v_mkm_product_previous_val_selected_power_product) + (bpv_result_mkm_product_previous_val_selected))) /\ forall ff_i_mkm_product_previous_val_selected_power_product. (exists ff_lt_mkm_product_previous_val_selected_power_product_bound. ff_lt_mkm_product_previous_val_selected_power_product_bound + S ff_i_mkm_product_previous_val_selected_power_product = v) -> exists ff_p_mkm_product_previous_val_selected_power_product ff_r_mkm_product_previous_val_selected_power_product ff_s_mkm_product_previous_val_selected_power_product. ((((exists ff_h_mkm_product_previous_val_selected_power_product_factor. ff_h_mkm_product_previous_val_selected_power_product_factor + S (ff_p_mkm_product_previous_val_selected_power_product) = S ((S (ff_i_mkm_product_previous_val_selected_power_product)) * ff_c_mkm_product_previous_val_selected_power)) /\ exists ff_q_mkm_product_previous_val_selected_power_product_factor. ff_b_mkm_product_previous_val_selected_power = ff_q_mkm_product_previous_val_selected_power_product_factor * S ((S (ff_i_mkm_product_previous_val_selected_power_product)) * ff_c_mkm_product_previous_val_selected_power) + (ff_p_mkm_product_previous_val_selected_power_product))) /\ ((((exists ff_h_mkm_product_previous_val_selected_power_product_partial. ff_h_mkm_product_previous_val_selected_power_product_partial + S (ff_r_mkm_product_previous_val_selected_power_product) = S ((S (ff_i_mkm_product_previous_val_selected_power_product)) * ff_v_mkm_product_previous_val_selected_power_product)) /\ exists ff_q_mkm_product_previous_val_selected_power_product_partial. ff_u_mkm_product_previous_val_selected_power_product = ff_q_mkm_product_previous_val_selected_power_product_partial * S ((S (ff_i_mkm_product_previous_val_selected_power_product)) * ff_v_mkm_product_previous_val_selected_power_product) + (ff_r_mkm_product_previous_val_selected_power_product))) /\ ((((exists ff_h_mkm_product_previous_val_selected_power_product_successor. ff_h_mkm_product_previous_val_selected_power_product_successor + S (ff_s_mkm_product_previous_val_selected_power_product) = S ((S (S ff_i_mkm_product_previous_val_selected_power_product)) * ff_v_mkm_product_previous_val_selected_power_product)) /\ exists ff_q_mkm_product_previous_val_selected_power_product_successor. ff_u_mkm_product_previous_val_selected_power_product = ff_q_mkm_product_previous_val_selected_power_product_successor * S ((S (S ff_i_mkm_product_previous_val_selected_power_product)) * ff_v_mkm_product_previous_val_selected_power_product) + (ff_s_mkm_product_previous_val_selected_power_product))) /\ ff_s_mkm_product_previous_val_selected_power_product = ff_r_mkm_product_previous_val_selected_power_product * ff_p_mkm_product_previous_val_selected_power_product)))))))) /\ (exists bpv_factor_mkm_product_previous_val_selected_divides. (x1) = bpv_result_mkm_product_previous_val_selected * bpv_factor_mkm_product_previous_val_selected_divides)))) /\ forall bpv_candidate_mkm_product_previous_val. (exists bpv_gap_mkm_product_previous_val_candidate_bound. bpv_gap_mkm_product_previous_val_candidate_bound + bpv_candidate_mkm_product_previous_val = (x1)) -> (exists bpv_result_mkm_product_previous_val_candidate. ((exists ff_b_mkm_product_previous_val_candidate_power ff_c_mkm_product_previous_val_candidate_power. ((forall ff_i_mkm_product_previous_val_candidate_power_repeat. (exists ff_lt_mkm_product_previous_val_candidate_power_repeat_bound. ff_lt_mkm_product_previous_val_candidate_power_repeat_bound + S ff_i_mkm_product_previous_val_candidate_power_repeat = bpv_candidate_mkm_product_previous_val) -> (((exists ff_h_mkm_product_previous_val_candidate_power_repeat_decoded. ff_h_mkm_product_previous_val_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_mkm_product_previous_val_candidate_power_repeat)) * ff_c_mkm_product_previous_val_candidate_power)) /\ exists ff_q_mkm_product_previous_val_candidate_power_repeat_decoded. ff_b_mkm_product_previous_val_candidate_power = ff_q_mkm_product_previous_val_candidate_power_repeat_decoded * S ((S (ff_i_mkm_product_previous_val_candidate_power_repeat)) * ff_c_mkm_product_previous_val_candidate_power) + (p)))) /\ (exists ff_u_mkm_product_previous_val_candidate_power_product ff_v_mkm_product_previous_val_candidate_power_product. ((((exists ff_h_mkm_product_previous_val_candidate_power_product_start. ff_h_mkm_product_previous_val_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_mkm_product_previous_val_candidate_power_product)) /\ exists ff_q_mkm_product_previous_val_candidate_power_product_start. ff_u_mkm_product_previous_val_candidate_power_product = ff_q_mkm_product_previous_val_candidate_power_product_start * S ((S (0)) * ff_v_mkm_product_previous_val_candidate_power_product) + (1))) /\ ((((exists ff_h_mkm_product_previous_val_candidate_power_product_terminal. ff_h_mkm_product_previous_val_candidate_power_product_terminal + S (bpv_result_mkm_product_previous_val_candidate) = S ((S (bpv_candidate_mkm_product_previous_val)) * ff_v_mkm_product_previous_val_candidate_power_product)) /\ exists ff_q_mkm_product_previous_val_candidate_power_product_terminal. ff_u_mkm_product_previous_val_candidate_power_product = ff_q_mkm_product_previous_val_candidate_power_product_terminal * S ((S (bpv_candidate_mkm_product_previous_val)) * ff_v_mkm_product_previous_val_candidate_power_product) + (bpv_result_mkm_product_previous_val_candidate))) /\ forall ff_i_mkm_product_previous_val_candidate_power_product. (exists ff_lt_mkm_product_previous_val_candidate_power_product_bound. ff_lt_mkm_product_previous_val_candidate_power_product_bound + S ff_i_mkm_product_previous_val_candidate_power_product = bpv_candidate_mkm_product_previous_val) -> exists ff_p_mkm_product_previous_val_candidate_power_product ff_r_mkm_product_previous_val_candidate_power_product ff_s_mkm_product_previous_val_candidate_power_product. ((((exists ff_h_mkm_product_previous_val_candidate_power_product_factor. ff_h_mkm_product_previous_val_candidate_power_product_factor + S (ff_p_mkm_product_previous_val_candidate_power_product) = S ((S (ff_i_mkm_product_previous_val_candidate_power_product)) * ff_c_mkm_product_previous_val_candidate_power)) /\ exists ff_q_mkm_product_previous_val_candidate_power_product_factor. ff_b_mkm_product_previous_val_candidate_power = ff_q_mkm_product_previous_val_candidate_power_product_factor * S ((S (ff_i_mkm_product_previous_val_candidate_power_product)) * ff_c_mkm_product_previous_val_candidate_power) + (ff_p_mkm_product_previous_val_candidate_power_product))) /\ ((((exists ff_h_mkm_product_previous_val_candidate_power_product_partial. ff_h_mkm_product_previous_val_candidate_power_product_partial + S (ff_r_mkm_product_previous_val_candidate_power_product) = S ((S (ff_i_mkm_product_previous_val_candidate_power_product)) * ff_v_mkm_product_previous_val_candidate_power_product)) /\ exists ff_q_mkm_product_previous_val_candidate_power_product_partial. ff_u_mkm_product_previous_val_candidate_power_product = ff_q_mkm_product_previous_val_candidate_power_product_partial * S ((S (ff_i_mkm_product_previous_val_candidate_power_product)) * ff_v_mkm_product_previous_val_candidate_power_product) + (ff_r_mkm_product_previous_val_candidate_power_product))) /\ ((((exists ff_h_mkm_product_previous_val_candidate_power_product_successor. ff_h_mkm_product_previous_val_candidate_power_product_successor + S (ff_s_mkm_product_previous_val_candidate_power_product) = S ((S (S ff_i_mkm_product_previous_val_candidate_power_product)) * ff_v_mkm_product_previous_val_candidate_power_product)) /\ exists ff_q_mkm_product_previous_val_candidate_power_product_successor. ff_u_mkm_product_previous_val_candidate_power_product = ff_q_mkm_product_previous_val_candidate_power_product_successor * S ((S (S ff_i_mkm_product_previous_val_candidate_power_product)) * ff_v_mkm_product_previous_val_candidate_power_product) + (ff_s_mkm_product_previous_val_candidate_power_product))) /\ ff_s_mkm_product_previous_val_candidate_power_product = ff_r_mkm_product_previous_val_candidate_power_product * ff_p_mkm_product_previous_val_candidate_power_product)))))))) /\ (exists bpv_factor_mkm_product_previous_val_candidate_divides. (x1) = bpv_result_mkm_product_previous_val_candidate * bpv_factor_mkm_product_previous_val_candidate_divides))) -> (exists bpv_gap_mkm_product_previous_val_maximal. bpv_gap_mkm_product_previous_val_maximal + bpv_candidate_mkm_product_previous_val = v) - 0081
specialize power_valuation_exists p - 0082
specialize power_valuation_exists x1 - 0083
apply power_valuation_exists - 0084
cases hprevious - 0085
have hprevious_value : x4 = x3 - 0086
specialize IH x1 - 0087
specialize IH x3 - 0088
specialize IH x4 - 0089
apply IH - 0090
exact hp - 0091
exact hnprev - 0092
exact hvprev - 0093
exact hprodpart_witness_witness_right_left - 0094
exact hsumpart_witness_witness_right_left - 0095
exact hprevious_witness - 0096
rewrite hprevious_value at hprevious_witness - 0097
rewrite hprevious_value at hprevious_witness - 0098
rewrite hprevious_value at hprevious_witness - 0099
rewrite hprevious_value at hprevious_witness - 0100
rewrite hprevious_value at hprevious_witness - 0101
rewrite hprevious_value at hprevious_witness - 0102
have hlast : ((exists bpv_gap_mkm_product_last_val_exponent_bound. bpv_gap_mkm_product_last_val_exponent_bound + x2 = (x)) /\ (exists bpv_result_mkm_product_last_val_selected. ((exists ff_b_mkm_product_last_val_selected_power ff_c_mkm_product_last_val_selected_power. ((forall ff_i_mkm_product_last_val_selected_power_repeat. (exists ff_lt_mkm_product_last_val_selected_power_repeat_bound. ff_lt_mkm_product_last_val_selected_power_repeat_bound + S ff_i_mkm_product_last_val_selected_power_repeat = x2) -> (((exists ff_h_mkm_product_last_val_selected_power_repeat_decoded. ff_h_mkm_product_last_val_selected_power_repeat_decoded + S (p) = S ((S (ff_i_mkm_product_last_val_selected_power_repeat)) * ff_c_mkm_product_last_val_selected_power)) /\ exists ff_q_mkm_product_last_val_selected_power_repeat_decoded. ff_b_mkm_product_last_val_selected_power = ff_q_mkm_product_last_val_selected_power_repeat_decoded * S ((S (ff_i_mkm_product_last_val_selected_power_repeat)) * ff_c_mkm_product_last_val_selected_power) + (p)))) /\ (exists ff_u_mkm_product_last_val_selected_power_product ff_v_mkm_product_last_val_selected_power_product. ((((exists ff_h_mkm_product_last_val_selected_power_product_start. ff_h_mkm_product_last_val_selected_power_product_start + S (1) = S ((S (0)) * ff_v_mkm_product_last_val_selected_power_product)) /\ exists ff_q_mkm_product_last_val_selected_power_product_start. ff_u_mkm_product_last_val_selected_power_product = ff_q_mkm_product_last_val_selected_power_product_start * S ((S (0)) * ff_v_mkm_product_last_val_selected_power_product) + (1))) /\ ((((exists ff_h_mkm_product_last_val_selected_power_product_terminal. ff_h_mkm_product_last_val_selected_power_product_terminal + S (bpv_result_mkm_product_last_val_selected) = S ((S (x2)) * ff_v_mkm_product_last_val_selected_power_product)) /\ exists ff_q_mkm_product_last_val_selected_power_product_terminal. ff_u_mkm_product_last_val_selected_power_product = ff_q_mkm_product_last_val_selected_power_product_terminal * S ((S (x2)) * ff_v_mkm_product_last_val_selected_power_product) + (bpv_result_mkm_product_last_val_selected))) /\ forall ff_i_mkm_product_last_val_selected_power_product. (exists ff_lt_mkm_product_last_val_selected_power_product_bound. ff_lt_mkm_product_last_val_selected_power_product_bound + S ff_i_mkm_product_last_val_selected_power_product = x2) -> exists ff_p_mkm_product_last_val_selected_power_product ff_r_mkm_product_last_val_selected_power_product ff_s_mkm_product_last_val_selected_power_product. ((((exists ff_h_mkm_product_last_val_selected_power_product_factor. ff_h_mkm_product_last_val_selected_power_product_factor + S (ff_p_mkm_product_last_val_selected_power_product) = S ((S (ff_i_mkm_product_last_val_selected_power_product)) * ff_c_mkm_product_last_val_selected_power)) /\ exists ff_q_mkm_product_last_val_selected_power_product_factor. ff_b_mkm_product_last_val_selected_power = ff_q_mkm_product_last_val_selected_power_product_factor * S ((S (ff_i_mkm_product_last_val_selected_power_product)) * ff_c_mkm_product_last_val_selected_power) + (ff_p_mkm_product_last_val_selected_power_product))) /\ ((((exists ff_h_mkm_product_last_val_selected_power_product_partial. ff_h_mkm_product_last_val_selected_power_product_partial + S (ff_r_mkm_product_last_val_selected_power_product) = S ((S (ff_i_mkm_product_last_val_selected_power_product)) * ff_v_mkm_product_last_val_selected_power_product)) /\ exists ff_q_mkm_product_last_val_selected_power_product_partial. ff_u_mkm_product_last_val_selected_power_product = ff_q_mkm_product_last_val_selected_power_product_partial * S ((S (ff_i_mkm_product_last_val_selected_power_product)) * ff_v_mkm_product_last_val_selected_power_product) + (ff_r_mkm_product_last_val_selected_power_product))) /\ ((((exists ff_h_mkm_product_last_val_selected_power_product_successor. ff_h_mkm_product_last_val_selected_power_product_successor + S (ff_s_mkm_product_last_val_selected_power_product) = S ((S (S ff_i_mkm_product_last_val_selected_power_product)) * ff_v_mkm_product_last_val_selected_power_product)) /\ exists ff_q_mkm_product_last_val_selected_power_product_successor. ff_u_mkm_product_last_val_selected_power_product = ff_q_mkm_product_last_val_selected_power_product_successor * S ((S (S ff_i_mkm_product_last_val_selected_power_product)) * ff_v_mkm_product_last_val_selected_power_product) + (ff_s_mkm_product_last_val_selected_power_product))) /\ ff_s_mkm_product_last_val_selected_power_product = ff_r_mkm_product_last_val_selected_power_product * ff_p_mkm_product_last_val_selected_power_product)))))))) /\ (exists bpv_factor_mkm_product_last_val_selected_divides. (x) = bpv_result_mkm_product_last_val_selected * bpv_factor_mkm_product_last_val_selected_divides)))) /\ forall bpv_candidate_mkm_product_last_val. (exists bpv_gap_mkm_product_last_val_candidate_bound. bpv_gap_mkm_product_last_val_candidate_bound + bpv_candidate_mkm_product_last_val = (x)) -> (exists bpv_result_mkm_product_last_val_candidate. ((exists ff_b_mkm_product_last_val_candidate_power ff_c_mkm_product_last_val_candidate_power. ((forall ff_i_mkm_product_last_val_candidate_power_repeat. (exists ff_lt_mkm_product_last_val_candidate_power_repeat_bound. ff_lt_mkm_product_last_val_candidate_power_repeat_bound + S ff_i_mkm_product_last_val_candidate_power_repeat = bpv_candidate_mkm_product_last_val) -> (((exists ff_h_mkm_product_last_val_candidate_power_repeat_decoded. ff_h_mkm_product_last_val_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_mkm_product_last_val_candidate_power_repeat)) * ff_c_mkm_product_last_val_candidate_power)) /\ exists ff_q_mkm_product_last_val_candidate_power_repeat_decoded. ff_b_mkm_product_last_val_candidate_power = ff_q_mkm_product_last_val_candidate_power_repeat_decoded * S ((S (ff_i_mkm_product_last_val_candidate_power_repeat)) * ff_c_mkm_product_last_val_candidate_power) + (p)))) /\ (exists ff_u_mkm_product_last_val_candidate_power_product ff_v_mkm_product_last_val_candidate_power_product. ((((exists ff_h_mkm_product_last_val_candidate_power_product_start. ff_h_mkm_product_last_val_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_mkm_product_last_val_candidate_power_product)) /\ exists ff_q_mkm_product_last_val_candidate_power_product_start. ff_u_mkm_product_last_val_candidate_power_product = ff_q_mkm_product_last_val_candidate_power_product_start * S ((S (0)) * ff_v_mkm_product_last_val_candidate_power_product) + (1))) /\ ((((exists ff_h_mkm_product_last_val_candidate_power_product_terminal. ff_h_mkm_product_last_val_candidate_power_product_terminal + S (bpv_result_mkm_product_last_val_candidate) = S ((S (bpv_candidate_mkm_product_last_val)) * ff_v_mkm_product_last_val_candidate_power_product)) /\ exists ff_q_mkm_product_last_val_candidate_power_product_terminal. ff_u_mkm_product_last_val_candidate_power_product = ff_q_mkm_product_last_val_candidate_power_product_terminal * S ((S (bpv_candidate_mkm_product_last_val)) * ff_v_mkm_product_last_val_candidate_power_product) + (bpv_result_mkm_product_last_val_candidate))) /\ forall ff_i_mkm_product_last_val_candidate_power_product. (exists ff_lt_mkm_product_last_val_candidate_power_product_bound. ff_lt_mkm_product_last_val_candidate_power_product_bound + S ff_i_mkm_product_last_val_candidate_power_product = bpv_candidate_mkm_product_last_val) -> exists ff_p_mkm_product_last_val_candidate_power_product ff_r_mkm_product_last_val_candidate_power_product ff_s_mkm_product_last_val_candidate_power_product. ((((exists ff_h_mkm_product_last_val_candidate_power_product_factor. ff_h_mkm_product_last_val_candidate_power_product_factor + S (ff_p_mkm_product_last_val_candidate_power_product) = S ((S (ff_i_mkm_product_last_val_candidate_power_product)) * ff_c_mkm_product_last_val_candidate_power)) /\ exists ff_q_mkm_product_last_val_candidate_power_product_factor. ff_b_mkm_product_last_val_candidate_power = ff_q_mkm_product_last_val_candidate_power_product_factor * S ((S (ff_i_mkm_product_last_val_candidate_power_product)) * ff_c_mkm_product_last_val_candidate_power) + (ff_p_mkm_product_last_val_candidate_power_product))) /\ ((((exists ff_h_mkm_product_last_val_candidate_power_product_partial. ff_h_mkm_product_last_val_candidate_power_product_partial + S (ff_r_mkm_product_last_val_candidate_power_product) = S ((S (ff_i_mkm_product_last_val_candidate_power_product)) * ff_v_mkm_product_last_val_candidate_power_product)) /\ exists ff_q_mkm_product_last_val_candidate_power_product_partial. ff_u_mkm_product_last_val_candidate_power_product = ff_q_mkm_product_last_val_candidate_power_product_partial * S ((S (ff_i_mkm_product_last_val_candidate_power_product)) * ff_v_mkm_product_last_val_candidate_power_product) + (ff_r_mkm_product_last_val_candidate_power_product))) /\ ((((exists ff_h_mkm_product_last_val_candidate_power_product_successor. ff_h_mkm_product_last_val_candidate_power_product_successor + S (ff_s_mkm_product_last_val_candidate_power_product) = S ((S (S ff_i_mkm_product_last_val_candidate_power_product)) * ff_v_mkm_product_last_val_candidate_power_product)) /\ exists ff_q_mkm_product_last_val_candidate_power_product_successor. ff_u_mkm_product_last_val_candidate_power_product = ff_q_mkm_product_last_val_candidate_power_product_successor * S ((S (S ff_i_mkm_product_last_val_candidate_power_product)) * ff_v_mkm_product_last_val_candidate_power_product) + (ff_s_mkm_product_last_val_candidate_power_product))) /\ ff_s_mkm_product_last_val_candidate_power_product = ff_r_mkm_product_last_val_candidate_power_product * ff_p_mkm_product_last_val_candidate_power_product)))))))) /\ (exists bpv_factor_mkm_product_last_val_candidate_divides. (x) = bpv_result_mkm_product_last_val_candidate * bpv_factor_mkm_product_last_val_candidate_divides))) -> (exists bpv_gap_mkm_product_last_val_maximal. bpv_gap_mkm_product_last_val_maximal + bpv_candidate_mkm_product_last_val = x2) - 0103
specialize beta_valuation_prefix_last p - 0104
specialize beta_valuation_prefix_last b - 0105
specialize beta_valuation_prefix_last c - 0106
specialize beta_valuation_prefix_last vb - 0107
specialize beta_valuation_prefix_last vc - 0108
specialize beta_valuation_prefix_last l - 0109
specialize beta_valuation_prefix_last x - 0110
specialize beta_valuation_prefix_last x2 - 0111
apply beta_valuation_prefix_last - 0112
exact hv - 0113
exact hprodpart_witness_witness_left - 0114
exact hsumpart_witness_witness_left - 0115
rewrite hprodpart_witness_witness_right_right at hg - 0116
rewrite hprodpart_witness_witness_right_right at hg - 0117
rewrite hprodpart_witness_witness_right_right at hg - 0118
rewrite hprodpart_witness_witness_right_right at hg - 0119
trans x3 + x2 - 0120
specialize prime_power_valuation_mul p - 0121
specialize prime_power_valuation_mul x1 - 0122
specialize prime_power_valuation_mul x - 0123
specialize prime_power_valuation_mul x3 - 0124
specialize prime_power_valuation_mul x2 - 0125
specialize prime_power_valuation_mul g - 0126
apply prime_power_valuation_mul - 0127
exact hp - 0128
intro hzero - 0129
specialize crt_positive_moduli_prefix_product_nonzero b - 0130
specialize crt_positive_moduli_prefix_product_nonzero c - 0131
specialize crt_positive_moduli_prefix_product_nonzero l - 0132
specialize crt_positive_moduli_prefix_product_nonzero x1 - 0133
apply crt_positive_moduli_prefix_product_nonzero - 0134
exact hnprev - 0135
exact hprodpart_witness_witness_right_left - 0136
exact hzero - 0137
intro hzero - 0138
specialize crt_positive_moduli_prefix_last_nonzero b - 0139
specialize crt_positive_moduli_prefix_last_nonzero c - 0140
specialize crt_positive_moduli_prefix_last_nonzero l - 0141
specialize crt_positive_moduli_prefix_last_nonzero x - 0142
apply crt_positive_moduli_prefix_last_nonzero - 0143
exact hn - 0144
exact hprodpart_witness_witness_left - 0145
exact hzero - 0146
exact hprevious_witness - 0147
exact hlast - 0148
exact hg - 0149
symm - 0150
exact hsumpart_witness_witness_right_right