MK0007

beta_prime_product_valuation_from_sum

A real finite sum of factor valuations constructs the exact valuation of their nonzero product.

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

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.

The carry relation contains actual quotient columns and carry bits, not the desired valuation. The theorem includes all finite lists and zero parts. It uses sequential binary-column carries; a separate simultaneous-grid or permutation-invariance theorem is not asserted.

Exact theorem in conservative defined notation

∀ p. ∀ b. ∀ c. ∀ vb. ∀ vc. ∀ l. ∀ z. ∀ e. Prime(p) → (∀ x. ∀ y. Lt(x,l)BetaAt(b,c,x,y) → ¬y = 0) → BetaValuationPrefix(p,b,c,vb,vc,l)Product(b,c,l,z)Sum(vb,vc,l,e)BoundedPowerValuation(p,z,z,e)

Every linked abbreviation expands hygienically to the identical original native formula.

Definition DAG

Actual proof prerequisites

power_valuation_exists · checked external prerequisitebeta_prime_product_valuation_eq_sum
Original expanded first-order statement
forall p b c vb vc l z e. ((~(p = 1) /\ forall frm_prime_left_mkm_construct_prime frm_prime_right_mkm_construct_prime. p = frm_prime_left_mkm_construct_prime * frm_prime_right_mkm_construct_prime -> frm_prime_left_mkm_construct_prime = 1 \/ frm_prime_right_mkm_construct_prime = 1)) -> (forall gcrt_positive_index_mkm_construct_nonzero gcrt_positive_value_mkm_construct_nonzero. (exists ff_lt_gcrt_mkm_construct_nonzero_bound. ff_lt_gcrt_mkm_construct_nonzero_bound + S gcrt_positive_index_mkm_construct_nonzero = l) -> (((exists ff_h_gcrt_mkm_construct_nonzero_entry. ff_h_gcrt_mkm_construct_nonzero_entry + S (gcrt_positive_value_mkm_construct_nonzero) = S ((S (gcrt_positive_index_mkm_construct_nonzero)) * c)) /\ exists ff_q_gcrt_mkm_construct_nonzero_entry. b = ff_q_gcrt_mkm_construct_nonzero_entry * S ((S (gcrt_positive_index_mkm_construct_nonzero)) * c) + (gcrt_positive_value_mkm_construct_nonzero))) -> ~(gcrt_positive_value_mkm_construct_nonzero = 0)) -> (forall mkm_index_construct_valuations. (exists mkm_lt_construct_valuations_bound. mkm_lt_construct_valuations_bound + S (mkm_index_construct_valuations) = (l)) -> (exists mkm_value_construct_valuations_point mkm_exponent_construct_valuations_point. (((exists fs_h_mkm_construct_valuations_point_source. fs_h_mkm_construct_valuations_point_source + S (mkm_value_construct_valuations_point) = S ((S (mkm_index_construct_valuations)) * c)) /\ exists fs_q_mkm_construct_valuations_point_source. b = fs_q_mkm_construct_valuations_point_source * S ((S (mkm_index_construct_valuations)) * c) + (mkm_value_construct_valuations_point))) /\ ((((exists fs_h_mkm_construct_valuations_point_decoded. fs_h_mkm_construct_valuations_point_decoded + S (mkm_exponent_construct_valuations_point) = S ((S (mkm_index_construct_valuations)) * vc)) /\ exists fs_q_mkm_construct_valuations_point_decoded. vb = fs_q_mkm_construct_valuations_point_decoded * S ((S (mkm_index_construct_valuations)) * vc) + (mkm_exponent_construct_valuations_point))) /\ (((exists bpv_gap_mkm_construct_valuations_point_valuation_exponent_bound. bpv_gap_mkm_construct_valuations_point_valuation_exponent_bound + mkm_exponent_construct_valuations_point = (mkm_value_construct_valuations_point)) /\ (exists bpv_result_mkm_construct_valuations_point_valuation_selected. ((exists ff_b_mkm_construct_valuations_point_valuation_selected_power ff_c_mkm_construct_valuations_point_valuation_selected_power. ((forall ff_i_mkm_construct_valuations_point_valuation_selected_power_repeat. (exists ff_lt_mkm_construct_valuations_point_valuation_selected_power_repeat_bound. ff_lt_mkm_construct_valuations_point_valuation_selected_power_repeat_bound + S ff_i_mkm_construct_valuations_point_valuation_selected_power_repeat = mkm_exponent_construct_valuations_point) -> (((exists ff_h_mkm_construct_valuations_point_valuation_selected_power_repeat_decoded. ff_h_mkm_construct_valuations_point_valuation_selected_power_repeat_decoded + S (p) = S ((S (ff_i_mkm_construct_valuations_point_valuation_selected_power_repeat)) * ff_c_mkm_construct_valuations_point_valuation_selected_power)) /\ exists ff_q_mkm_construct_valuations_point_valuation_selected_power_repeat_decoded. ff_b_mkm_construct_valuations_point_valuation_selected_power = ff_q_mkm_construct_valuations_point_valuation_selected_power_repeat_decoded * S ((S (ff_i_mkm_construct_valuations_point_valuation_selected_power_repeat)) * ff_c_mkm_construct_valuations_point_valuation_selected_power) + (p)))) /\ (exists ff_u_mkm_construct_valuations_point_valuation_selected_power_product ff_v_mkm_construct_valuations_point_valuation_selected_power_product. ((((exists ff_h_mkm_construct_valuations_point_valuation_selected_power_product_start. ff_h_mkm_construct_valuations_point_valuation_selected_power_product_start + S (1) = S ((S (0)) * ff_v_mkm_construct_valuations_point_valuation_selected_power_product)) /\ exists ff_q_mkm_construct_valuations_point_valuation_selected_power_product_start. ff_u_mkm_construct_valuations_point_valuation_selected_power_product = ff_q_mkm_construct_valuations_point_valuation_selected_power_product_start * S ((S (0)) * ff_v_mkm_construct_valuations_point_valuation_selected_power_product) + (1))) /\ ((((exists ff_h_mkm_construct_valuations_point_valuation_selected_power_product_terminal. ff_h_mkm_construct_valuations_point_valuation_selected_power_product_terminal + S (bpv_result_mkm_construct_valuations_point_valuation_selected) = S ((S (mkm_exponent_construct_valuations_point)) * ff_v_mkm_construct_valuations_point_valuation_selected_power_product)) /\ exists ff_q_mkm_construct_valuations_point_valuation_selected_power_product_terminal. ff_u_mkm_construct_valuations_point_valuation_selected_power_product = ff_q_mkm_construct_valuations_point_valuation_selected_power_product_terminal * S ((S (mkm_exponent_construct_valuations_point)) * ff_v_mkm_construct_valuations_point_valuation_selected_power_product) + (bpv_result_mkm_construct_valuations_point_valuation_selected))) /\ forall ff_i_mkm_construct_valuations_point_valuation_selected_power_product. (exists ff_lt_mkm_construct_valuations_point_valuation_selected_power_product_bound. ff_lt_mkm_construct_valuations_point_valuation_selected_power_product_bound + S ff_i_mkm_construct_valuations_point_valuation_selected_power_product = mkm_exponent_construct_valuations_point) -> exists ff_p_mkm_construct_valuations_point_valuation_selected_power_product ff_r_mkm_construct_valuations_point_valuation_selected_power_product ff_s_mkm_construct_valuations_point_valuation_selected_power_product. ((((exists ff_h_mkm_construct_valuations_point_valuation_selected_power_product_factor. ff_h_mkm_construct_valuations_point_valuation_selected_power_product_factor + S (ff_p_mkm_construct_valuations_point_valuation_selected_power_product) = S ((S (ff_i_mkm_construct_valuations_point_valuation_selected_power_product)) * ff_c_mkm_construct_valuations_point_valuation_selected_power)) /\ exists ff_q_mkm_construct_valuations_point_valuation_selected_power_product_factor. ff_b_mkm_construct_valuations_point_valuation_selected_power = ff_q_mkm_construct_valuations_point_valuation_selected_power_product_factor * S ((S (ff_i_mkm_construct_valuations_point_valuation_selected_power_product)) * ff_c_mkm_construct_valuations_point_valuation_selected_power) + (ff_p_mkm_construct_valuations_point_valuation_selected_power_product))) /\ ((((exists ff_h_mkm_construct_valuations_point_valuation_selected_power_product_partial. ff_h_mkm_construct_valuations_point_valuation_selected_power_product_partial + S (ff_r_mkm_construct_valuations_point_valuation_selected_power_product) = S ((S (ff_i_mkm_construct_valuations_point_valuation_selected_power_product)) * ff_v_mkm_construct_valuations_point_valuation_selected_power_product)) /\ exists ff_q_mkm_construct_valuations_point_valuation_selected_power_product_partial. ff_u_mkm_construct_valuations_point_valuation_selected_power_product = ff_q_mkm_construct_valuations_point_valuation_selected_power_product_partial * S ((S (ff_i_mkm_construct_valuations_point_valuation_selected_power_product)) * ff_v_mkm_construct_valuations_point_valuation_selected_power_product) + (ff_r_mkm_construct_valuations_point_valuation_selected_power_product))) /\ ((((exists ff_h_mkm_construct_valuations_point_valuation_selected_power_product_successor. ff_h_mkm_construct_valuations_point_valuation_selected_power_product_successor + S (ff_s_mkm_construct_valuations_point_valuation_selected_power_product) = S ((S (S ff_i_mkm_construct_valuations_point_valuation_selected_power_product)) * ff_v_mkm_construct_valuations_point_valuation_selected_power_product)) /\ exists ff_q_mkm_construct_valuations_point_valuation_selected_power_product_successor. ff_u_mkm_construct_valuations_point_valuation_selected_power_product = ff_q_mkm_construct_valuations_point_valuation_selected_power_product_successor * S ((S (S ff_i_mkm_construct_valuations_point_valuation_selected_power_product)) * ff_v_mkm_construct_valuations_point_valuation_selected_power_product) + (ff_s_mkm_construct_valuations_point_valuation_selected_power_product))) /\ ff_s_mkm_construct_valuations_point_valuation_selected_power_product = ff_r_mkm_construct_valuations_point_valuation_selected_power_product * ff_p_mkm_construct_valuations_point_valuation_selected_power_product)))))))) /\ (exists bpv_factor_mkm_construct_valuations_point_valuation_selected_divides. (mkm_value_construct_valuations_point) = bpv_result_mkm_construct_valuations_point_valuation_selected * bpv_factor_mkm_construct_valuations_point_valuation_selected_divides)))) /\ forall bpv_candidate_mkm_construct_valuations_point_valuation. (exists bpv_gap_mkm_construct_valuations_point_valuation_candidate_bound. bpv_gap_mkm_construct_valuations_point_valuation_candidate_bound + bpv_candidate_mkm_construct_valuations_point_valuation = (mkm_value_construct_valuations_point)) -> (exists bpv_result_mkm_construct_valuations_point_valuation_candidate. ((exists ff_b_mkm_construct_valuations_point_valuation_candidate_power ff_c_mkm_construct_valuations_point_valuation_candidate_power. ((forall ff_i_mkm_construct_valuations_point_valuation_candidate_power_repeat. (exists ff_lt_mkm_construct_valuations_point_valuation_candidate_power_repeat_bound. ff_lt_mkm_construct_valuations_point_valuation_candidate_power_repeat_bound + S ff_i_mkm_construct_valuations_point_valuation_candidate_power_repeat = bpv_candidate_mkm_construct_valuations_point_valuation) -> (((exists ff_h_mkm_construct_valuations_point_valuation_candidate_power_repeat_decoded. ff_h_mkm_construct_valuations_point_valuation_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_mkm_construct_valuations_point_valuation_candidate_power_repeat)) * ff_c_mkm_construct_valuations_point_valuation_candidate_power)) /\ exists ff_q_mkm_construct_valuations_point_valuation_candidate_power_repeat_decoded. ff_b_mkm_construct_valuations_point_valuation_candidate_power = ff_q_mkm_construct_valuations_point_valuation_candidate_power_repeat_decoded * S ((S (ff_i_mkm_construct_valuations_point_valuation_candidate_power_repeat)) * ff_c_mkm_construct_valuations_point_valuation_candidate_power) + (p)))) /\ (exists ff_u_mkm_construct_valuations_point_valuation_candidate_power_product ff_v_mkm_construct_valuations_point_valuation_candidate_power_product. ((((exists ff_h_mkm_construct_valuations_point_valuation_candidate_power_product_start. ff_h_mkm_construct_valuations_point_valuation_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_mkm_construct_valuations_point_valuation_candidate_power_product)) /\ exists ff_q_mkm_construct_valuations_point_valuation_candidate_power_product_start. ff_u_mkm_construct_valuations_point_valuation_candidate_power_product = ff_q_mkm_construct_valuations_point_valuation_candidate_power_product_start * S ((S (0)) * ff_v_mkm_construct_valuations_point_valuation_candidate_power_product) + (1))) /\ ((((exists ff_h_mkm_construct_valuations_point_valuation_candidate_power_product_terminal. ff_h_mkm_construct_valuations_point_valuation_candidate_power_product_terminal + S (bpv_result_mkm_construct_valuations_point_valuation_candidate) = S ((S (bpv_candidate_mkm_construct_valuations_point_valuation)) * ff_v_mkm_construct_valuations_point_valuation_candidate_power_product)) /\ exists ff_q_mkm_construct_valuations_point_valuation_candidate_power_product_terminal. ff_u_mkm_construct_valuations_point_valuation_candidate_power_product = ff_q_mkm_construct_valuations_point_valuation_candidate_power_product_terminal * S ((S (bpv_candidate_mkm_construct_valuations_point_valuation)) * ff_v_mkm_construct_valuations_point_valuation_candidate_power_product) + (bpv_result_mkm_construct_valuations_point_valuation_candidate))) /\ forall ff_i_mkm_construct_valuations_point_valuation_candidate_power_product. (exists ff_lt_mkm_construct_valuations_point_valuation_candidate_power_product_bound. ff_lt_mkm_construct_valuations_point_valuation_candidate_power_product_bound + S ff_i_mkm_construct_valuations_point_valuation_candidate_power_product = bpv_candidate_mkm_construct_valuations_point_valuation) -> exists ff_p_mkm_construct_valuations_point_valuation_candidate_power_product ff_r_mkm_construct_valuations_point_valuation_candidate_power_product ff_s_mkm_construct_valuations_point_valuation_candidate_power_product. ((((exists ff_h_mkm_construct_valuations_point_valuation_candidate_power_product_factor. ff_h_mkm_construct_valuations_point_valuation_candidate_power_product_factor + S (ff_p_mkm_construct_valuations_point_valuation_candidate_power_product) = S ((S (ff_i_mkm_construct_valuations_point_valuation_candidate_power_product)) * ff_c_mkm_construct_valuations_point_valuation_candidate_power)) /\ exists ff_q_mkm_construct_valuations_point_valuation_candidate_power_product_factor. ff_b_mkm_construct_valuations_point_valuation_candidate_power = ff_q_mkm_construct_valuations_point_valuation_candidate_power_product_factor * S ((S (ff_i_mkm_construct_valuations_point_valuation_candidate_power_product)) * ff_c_mkm_construct_valuations_point_valuation_candidate_power) + (ff_p_mkm_construct_valuations_point_valuation_candidate_power_product))) /\ ((((exists ff_h_mkm_construct_valuations_point_valuation_candidate_power_product_partial. ff_h_mkm_construct_valuations_point_valuation_candidate_power_product_partial + S (ff_r_mkm_construct_valuations_point_valuation_candidate_power_product) = S ((S (ff_i_mkm_construct_valuations_point_valuation_candidate_power_product)) * ff_v_mkm_construct_valuations_point_valuation_candidate_power_product)) /\ exists ff_q_mkm_construct_valuations_point_valuation_candidate_power_product_partial. ff_u_mkm_construct_valuations_point_valuation_candidate_power_product = ff_q_mkm_construct_valuations_point_valuation_candidate_power_product_partial * S ((S (ff_i_mkm_construct_valuations_point_valuation_candidate_power_product)) * ff_v_mkm_construct_valuations_point_valuation_candidate_power_product) + (ff_r_mkm_construct_valuations_point_valuation_candidate_power_product))) /\ ((((exists ff_h_mkm_construct_valuations_point_valuation_candidate_power_product_successor. ff_h_mkm_construct_valuations_point_valuation_candidate_power_product_successor + S (ff_s_mkm_construct_valuations_point_valuation_candidate_power_product) = S ((S (S ff_i_mkm_construct_valuations_point_valuation_candidate_power_product)) * ff_v_mkm_construct_valuations_point_valuation_candidate_power_product)) /\ exists ff_q_mkm_construct_valuations_point_valuation_candidate_power_product_successor. ff_u_mkm_construct_valuations_point_valuation_candidate_power_product = ff_q_mkm_construct_valuations_point_valuation_candidate_power_product_successor * S ((S (S ff_i_mkm_construct_valuations_point_valuation_candidate_power_product)) * ff_v_mkm_construct_valuations_point_valuation_candidate_power_product) + (ff_s_mkm_construct_valuations_point_valuation_candidate_power_product))) /\ ff_s_mkm_construct_valuations_point_valuation_candidate_power_product = ff_r_mkm_construct_valuations_point_valuation_candidate_power_product * ff_p_mkm_construct_valuations_point_valuation_candidate_power_product)))))))) /\ (exists bpv_factor_mkm_construct_valuations_point_valuation_candidate_divides. (mkm_value_construct_valuations_point) = bpv_result_mkm_construct_valuations_point_valuation_candidate * bpv_factor_mkm_construct_valuations_point_valuation_candidate_divides))) -> (exists bpv_gap_mkm_construct_valuations_point_valuation_maximal. bpv_gap_mkm_construct_valuations_point_valuation_maximal + bpv_candidate_mkm_construct_valuations_point_valuation = mkm_exponent_construct_valuations_point))))) -> (exists ff_u_mkm_construct_product ff_v_mkm_construct_product. ((((exists ff_h_mkm_construct_product_start. ff_h_mkm_construct_product_start + S (1) = S ((S (0)) * ff_v_mkm_construct_product)) /\ exists ff_q_mkm_construct_product_start. ff_u_mkm_construct_product = ff_q_mkm_construct_product_start * S ((S (0)) * ff_v_mkm_construct_product) + (1))) /\ ((((exists ff_h_mkm_construct_product_terminal. ff_h_mkm_construct_product_terminal + S (z) = S ((S (l)) * ff_v_mkm_construct_product)) /\ exists ff_q_mkm_construct_product_terminal. ff_u_mkm_construct_product = ff_q_mkm_construct_product_terminal * S ((S (l)) * ff_v_mkm_construct_product) + (z))) /\ forall ff_i_mkm_construct_product. (exists ff_lt_mkm_construct_product_bound. ff_lt_mkm_construct_product_bound + S ff_i_mkm_construct_product = l) -> exists ff_p_mkm_construct_product ff_r_mkm_construct_product ff_s_mkm_construct_product. ((((exists ff_h_mkm_construct_product_factor. ff_h_mkm_construct_product_factor + S (ff_p_mkm_construct_product) = S ((S (ff_i_mkm_construct_product)) * c)) /\ exists ff_q_mkm_construct_product_factor. b = ff_q_mkm_construct_product_factor * S ((S (ff_i_mkm_construct_product)) * c) + (ff_p_mkm_construct_product))) /\ ((((exists ff_h_mkm_construct_product_partial. ff_h_mkm_construct_product_partial + S (ff_r_mkm_construct_product) = S ((S (ff_i_mkm_construct_product)) * ff_v_mkm_construct_product)) /\ exists ff_q_mkm_construct_product_partial. ff_u_mkm_construct_product = ff_q_mkm_construct_product_partial * S ((S (ff_i_mkm_construct_product)) * ff_v_mkm_construct_product) + (ff_r_mkm_construct_product))) /\ ((((exists ff_h_mkm_construct_product_successor. ff_h_mkm_construct_product_successor + S (ff_s_mkm_construct_product) = S ((S (S ff_i_mkm_construct_product)) * ff_v_mkm_construct_product)) /\ exists ff_q_mkm_construct_product_successor. ff_u_mkm_construct_product = ff_q_mkm_construct_product_successor * S ((S (S ff_i_mkm_construct_product)) * ff_v_mkm_construct_product) + (ff_s_mkm_construct_product))) /\ ff_s_mkm_construct_product = ff_r_mkm_construct_product * ff_p_mkm_construct_product)))))) -> (exists fs_u_mkm_construct_sum fs_v_mkm_construct_sum. ((((exists fs_h_mkm_construct_sum_body_start. fs_h_mkm_construct_sum_body_start + S (0) = S ((S (0)) * fs_v_mkm_construct_sum)) /\ exists fs_q_mkm_construct_sum_body_start. fs_u_mkm_construct_sum = fs_q_mkm_construct_sum_body_start * S ((S (0)) * fs_v_mkm_construct_sum) + (0))) /\ ((((exists fs_h_mkm_construct_sum_body_terminal. fs_h_mkm_construct_sum_body_terminal + S (e) = S ((S (l)) * fs_v_mkm_construct_sum)) /\ exists fs_q_mkm_construct_sum_body_terminal. fs_u_mkm_construct_sum = fs_q_mkm_construct_sum_body_terminal * S ((S (l)) * fs_v_mkm_construct_sum) + (e))) /\ forall fs_i_mkm_construct_sum_body_steps. (exists fs_lt_mkm_construct_sum_body_steps_bound. fs_lt_mkm_construct_sum_body_steps_bound + S fs_i_mkm_construct_sum_body_steps = l) -> exists fs_a_mkm_construct_sum_body_steps fs_r_mkm_construct_sum_body_steps fs_s_mkm_construct_sum_body_steps. ((((exists fs_h_mkm_construct_sum_body_steps_summand. fs_h_mkm_construct_sum_body_steps_summand + S (fs_a_mkm_construct_sum_body_steps) = S ((S (fs_i_mkm_construct_sum_body_steps)) * vc)) /\ exists fs_q_mkm_construct_sum_body_steps_summand. vb = fs_q_mkm_construct_sum_body_steps_summand * S ((S (fs_i_mkm_construct_sum_body_steps)) * vc) + (fs_a_mkm_construct_sum_body_steps))) /\ ((((exists fs_h_mkm_construct_sum_body_steps_partial. fs_h_mkm_construct_sum_body_steps_partial + S (fs_r_mkm_construct_sum_body_steps) = S ((S (fs_i_mkm_construct_sum_body_steps)) * fs_v_mkm_construct_sum)) /\ exists fs_q_mkm_construct_sum_body_steps_partial. fs_u_mkm_construct_sum = fs_q_mkm_construct_sum_body_steps_partial * S ((S (fs_i_mkm_construct_sum_body_steps)) * fs_v_mkm_construct_sum) + (fs_r_mkm_construct_sum_body_steps))) /\ ((((exists fs_h_mkm_construct_sum_body_steps_successor. fs_h_mkm_construct_sum_body_steps_successor + S (fs_s_mkm_construct_sum_body_steps) = S ((S (S fs_i_mkm_construct_sum_body_steps)) * fs_v_mkm_construct_sum)) /\ exists fs_q_mkm_construct_sum_body_steps_successor. fs_u_mkm_construct_sum = fs_q_mkm_construct_sum_body_steps_successor * S ((S (S fs_i_mkm_construct_sum_body_steps)) * fs_v_mkm_construct_sum) + (fs_s_mkm_construct_sum_body_steps))) /\ fs_s_mkm_construct_sum_body_steps = fs_r_mkm_construct_sum_body_steps + fs_a_mkm_construct_sum_body_steps)))))) -> (((exists bpv_gap_mkm_construct_val_exponent_bound. bpv_gap_mkm_construct_val_exponent_bound + e = (z)) /\ (exists bpv_result_mkm_construct_val_selected. ((exists ff_b_mkm_construct_val_selected_power ff_c_mkm_construct_val_selected_power. ((forall ff_i_mkm_construct_val_selected_power_repeat. (exists ff_lt_mkm_construct_val_selected_power_repeat_bound. ff_lt_mkm_construct_val_selected_power_repeat_bound + S ff_i_mkm_construct_val_selected_power_repeat = e) -> (((exists ff_h_mkm_construct_val_selected_power_repeat_decoded. ff_h_mkm_construct_val_selected_power_repeat_decoded + S (p) = S ((S (ff_i_mkm_construct_val_selected_power_repeat)) * ff_c_mkm_construct_val_selected_power)) /\ exists ff_q_mkm_construct_val_selected_power_repeat_decoded. ff_b_mkm_construct_val_selected_power = ff_q_mkm_construct_val_selected_power_repeat_decoded * S ((S (ff_i_mkm_construct_val_selected_power_repeat)) * ff_c_mkm_construct_val_selected_power) + (p)))) /\ (exists ff_u_mkm_construct_val_selected_power_product ff_v_mkm_construct_val_selected_power_product. ((((exists ff_h_mkm_construct_val_selected_power_product_start. ff_h_mkm_construct_val_selected_power_product_start + S (1) = S ((S (0)) * ff_v_mkm_construct_val_selected_power_product)) /\ exists ff_q_mkm_construct_val_selected_power_product_start. ff_u_mkm_construct_val_selected_power_product = ff_q_mkm_construct_val_selected_power_product_start * S ((S (0)) * ff_v_mkm_construct_val_selected_power_product) + (1))) /\ ((((exists ff_h_mkm_construct_val_selected_power_product_terminal. ff_h_mkm_construct_val_selected_power_product_terminal + S (bpv_result_mkm_construct_val_selected) = S ((S (e)) * ff_v_mkm_construct_val_selected_power_product)) /\ exists ff_q_mkm_construct_val_selected_power_product_terminal. ff_u_mkm_construct_val_selected_power_product = ff_q_mkm_construct_val_selected_power_product_terminal * S ((S (e)) * ff_v_mkm_construct_val_selected_power_product) + (bpv_result_mkm_construct_val_selected))) /\ forall ff_i_mkm_construct_val_selected_power_product. (exists ff_lt_mkm_construct_val_selected_power_product_bound. ff_lt_mkm_construct_val_selected_power_product_bound + S ff_i_mkm_construct_val_selected_power_product = e) -> exists ff_p_mkm_construct_val_selected_power_product ff_r_mkm_construct_val_selected_power_product ff_s_mkm_construct_val_selected_power_product. ((((exists ff_h_mkm_construct_val_selected_power_product_factor. ff_h_mkm_construct_val_selected_power_product_factor + S (ff_p_mkm_construct_val_selected_power_product) = S ((S (ff_i_mkm_construct_val_selected_power_product)) * ff_c_mkm_construct_val_selected_power)) /\ exists ff_q_mkm_construct_val_selected_power_product_factor. ff_b_mkm_construct_val_selected_power = ff_q_mkm_construct_val_selected_power_product_factor * S ((S (ff_i_mkm_construct_val_selected_power_product)) * ff_c_mkm_construct_val_selected_power) + (ff_p_mkm_construct_val_selected_power_product))) /\ ((((exists ff_h_mkm_construct_val_selected_power_product_partial. ff_h_mkm_construct_val_selected_power_product_partial + S (ff_r_mkm_construct_val_selected_power_product) = S ((S (ff_i_mkm_construct_val_selected_power_product)) * ff_v_mkm_construct_val_selected_power_product)) /\ exists ff_q_mkm_construct_val_selected_power_product_partial. ff_u_mkm_construct_val_selected_power_product = ff_q_mkm_construct_val_selected_power_product_partial * S ((S (ff_i_mkm_construct_val_selected_power_product)) * ff_v_mkm_construct_val_selected_power_product) + (ff_r_mkm_construct_val_selected_power_product))) /\ ((((exists ff_h_mkm_construct_val_selected_power_product_successor. ff_h_mkm_construct_val_selected_power_product_successor + S (ff_s_mkm_construct_val_selected_power_product) = S ((S (S ff_i_mkm_construct_val_selected_power_product)) * ff_v_mkm_construct_val_selected_power_product)) /\ exists ff_q_mkm_construct_val_selected_power_product_successor. ff_u_mkm_construct_val_selected_power_product = ff_q_mkm_construct_val_selected_power_product_successor * S ((S (S ff_i_mkm_construct_val_selected_power_product)) * ff_v_mkm_construct_val_selected_power_product) + (ff_s_mkm_construct_val_selected_power_product))) /\ ff_s_mkm_construct_val_selected_power_product = ff_r_mkm_construct_val_selected_power_product * ff_p_mkm_construct_val_selected_power_product)))))))) /\ (exists bpv_factor_mkm_construct_val_selected_divides. (z) = bpv_result_mkm_construct_val_selected * bpv_factor_mkm_construct_val_selected_divides)))) /\ forall bpv_candidate_mkm_construct_val. (exists bpv_gap_mkm_construct_val_candidate_bound. bpv_gap_mkm_construct_val_candidate_bound + bpv_candidate_mkm_construct_val = (z)) -> (exists bpv_result_mkm_construct_val_candidate. ((exists ff_b_mkm_construct_val_candidate_power ff_c_mkm_construct_val_candidate_power. ((forall ff_i_mkm_construct_val_candidate_power_repeat. (exists ff_lt_mkm_construct_val_candidate_power_repeat_bound. ff_lt_mkm_construct_val_candidate_power_repeat_bound + S ff_i_mkm_construct_val_candidate_power_repeat = bpv_candidate_mkm_construct_val) -> (((exists ff_h_mkm_construct_val_candidate_power_repeat_decoded. ff_h_mkm_construct_val_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_mkm_construct_val_candidate_power_repeat)) * ff_c_mkm_construct_val_candidate_power)) /\ exists ff_q_mkm_construct_val_candidate_power_repeat_decoded. ff_b_mkm_construct_val_candidate_power = ff_q_mkm_construct_val_candidate_power_repeat_decoded * S ((S (ff_i_mkm_construct_val_candidate_power_repeat)) * ff_c_mkm_construct_val_candidate_power) + (p)))) /\ (exists ff_u_mkm_construct_val_candidate_power_product ff_v_mkm_construct_val_candidate_power_product. ((((exists ff_h_mkm_construct_val_candidate_power_product_start. ff_h_mkm_construct_val_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_mkm_construct_val_candidate_power_product)) /\ exists ff_q_mkm_construct_val_candidate_power_product_start. ff_u_mkm_construct_val_candidate_power_product = ff_q_mkm_construct_val_candidate_power_product_start * S ((S (0)) * ff_v_mkm_construct_val_candidate_power_product) + (1))) /\ ((((exists ff_h_mkm_construct_val_candidate_power_product_terminal. ff_h_mkm_construct_val_candidate_power_product_terminal + S (bpv_result_mkm_construct_val_candidate) = S ((S (bpv_candidate_mkm_construct_val)) * ff_v_mkm_construct_val_candidate_power_product)) /\ exists ff_q_mkm_construct_val_candidate_power_product_terminal. ff_u_mkm_construct_val_candidate_power_product = ff_q_mkm_construct_val_candidate_power_product_terminal * S ((S (bpv_candidate_mkm_construct_val)) * ff_v_mkm_construct_val_candidate_power_product) + (bpv_result_mkm_construct_val_candidate))) /\ forall ff_i_mkm_construct_val_candidate_power_product. (exists ff_lt_mkm_construct_val_candidate_power_product_bound. ff_lt_mkm_construct_val_candidate_power_product_bound + S ff_i_mkm_construct_val_candidate_power_product = bpv_candidate_mkm_construct_val) -> exists ff_p_mkm_construct_val_candidate_power_product ff_r_mkm_construct_val_candidate_power_product ff_s_mkm_construct_val_candidate_power_product. ((((exists ff_h_mkm_construct_val_candidate_power_product_factor. ff_h_mkm_construct_val_candidate_power_product_factor + S (ff_p_mkm_construct_val_candidate_power_product) = S ((S (ff_i_mkm_construct_val_candidate_power_product)) * ff_c_mkm_construct_val_candidate_power)) /\ exists ff_q_mkm_construct_val_candidate_power_product_factor. ff_b_mkm_construct_val_candidate_power = ff_q_mkm_construct_val_candidate_power_product_factor * S ((S (ff_i_mkm_construct_val_candidate_power_product)) * ff_c_mkm_construct_val_candidate_power) + (ff_p_mkm_construct_val_candidate_power_product))) /\ ((((exists ff_h_mkm_construct_val_candidate_power_product_partial. ff_h_mkm_construct_val_candidate_power_product_partial + S (ff_r_mkm_construct_val_candidate_power_product) = S ((S (ff_i_mkm_construct_val_candidate_power_product)) * ff_v_mkm_construct_val_candidate_power_product)) /\ exists ff_q_mkm_construct_val_candidate_power_product_partial. ff_u_mkm_construct_val_candidate_power_product = ff_q_mkm_construct_val_candidate_power_product_partial * S ((S (ff_i_mkm_construct_val_candidate_power_product)) * ff_v_mkm_construct_val_candidate_power_product) + (ff_r_mkm_construct_val_candidate_power_product))) /\ ((((exists ff_h_mkm_construct_val_candidate_power_product_successor. ff_h_mkm_construct_val_candidate_power_product_successor + S (ff_s_mkm_construct_val_candidate_power_product) = S ((S (S ff_i_mkm_construct_val_candidate_power_product)) * ff_v_mkm_construct_val_candidate_power_product)) /\ exists ff_q_mkm_construct_val_candidate_power_product_successor. ff_u_mkm_construct_val_candidate_power_product = ff_q_mkm_construct_val_candidate_power_product_successor * S ((S (S ff_i_mkm_construct_val_candidate_power_product)) * ff_v_mkm_construct_val_candidate_power_product) + (ff_s_mkm_construct_val_candidate_power_product))) /\ ff_s_mkm_construct_val_candidate_power_product = ff_r_mkm_construct_val_candidate_power_product * ff_p_mkm_construct_val_candidate_power_product)))))))) /\ (exists bpv_factor_mkm_construct_val_candidate_divides. (z) = bpv_result_mkm_construct_val_candidate * bpv_factor_mkm_construct_val_candidate_divides))) -> (exists bpv_gap_mkm_construct_val_maximal. bpv_gap_mkm_construct_val_maximal + bpv_candidate_mkm_construct_val = e))

Complete tactic proof in conservative notation

All 42 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay script.

Read the argument

Proof checkpoints

42 script commands · 8 reading checkpoints · 2 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.

Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.

Named ingredients (1)
01Fix variables and assumptionsL1–10

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

  1. L1
    intro p
  2. L2
    intro b
  3. L3
    intro c
  4. L4
    intro vb
  5. L5
    intro vc
  6. L6
    intro l
  7. L7
    intro z
  8. L8
    intro e
  9. L9
    intro hp
  10. L10
    intro hn
02Fix variables and assumptionsL11–13

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

  1. L11
    intro hv
  2. L12
    intro hz
  3. L13
    intro he
03Establish hactualL14–17

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply power valuation exists.

  1. L14
    have hactual : ∃ g. BoundedPowerValuation(p,z,z,g)Definitions: BoundedPowerValuation(p,z,z,g)Original native command in the exact edition
  2. L15
    specialize power_valuation_exists p
  3. L16
    specialize power_valuation_exists z
  4. L17
    apply power_valuation_exists
04Separate the logical casesL18–18

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

  1. L18
    cases hactual
05Establish heqL19–28

Establish this local claim before using it. It is not an additional assumption.

  1. L19
    have heq : x = e
  2. L20
    specialize beta_prime_product_valuation_eq_sum p
  3. L21
    specialize beta_prime_product_valuation_eq_sum b
  4. L22
    specialize beta_prime_product_valuation_eq_sum c
  5. L23
    specialize beta_prime_product_valuation_eq_sum vb
  6. L24
    specialize beta_prime_product_valuation_eq_sum vc
  7. L25
    specialize beta_prime_product_valuation_eq_sum l
  8. L26
    specialize beta_prime_product_valuation_eq_sum z
  9. L27
    specialize beta_prime_product_valuation_eq_sum e
  10. L28
    specialize beta_prime_product_valuation_eq_sum x
06Use earlier factsL29–35

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

  1. L29
    apply beta_prime_product_valuation_eq_sum
  2. L30
    exact hp
  3. L31
    exact hn
  4. L32
    exact hv
  5. L33
    exact hz
  6. L34
    exact he
  7. L35
    exact hactual_witness
07Calculate and transport equalitiesL36–41

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L36
    rewrite heq at hactual_witness
  2. L37
    rewrite heq at hactual_witness
  3. L38
    rewrite heq at hactual_witness
  4. L39
    rewrite heq at hactual_witness
  5. L40
    rewrite heq at hactual_witness
  6. L41
    rewrite heq at hactual_witness
08Use earlier factsL42–42

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

  1. L42
    exact hactual_witness

Library-wide reading audit

Original defined command ledger · 42 lines
  1. 0001intro p
  2. 0002intro b
  3. 0003intro c
  4. 0004intro vb
  5. 0005intro vc
  6. 0006intro l
  7. 0007intro z
  8. 0008intro e
  9. 0009intro hp
  10. 0010intro hn
  11. 0011intro hv
  12. 0012intro hz
  13. 0013intro he
  14. 0014have hactual : ∃ g. BoundedPowerValuation(p,z,z,g)
  15. 0015specialize power_valuation_exists p
  16. 0016specialize power_valuation_exists z
  17. 0017apply power_valuation_exists
  18. 0018cases hactual
  19. 0019have heq : x = e
  20. 0020specialize beta_prime_product_valuation_eq_sum p
  21. 0021specialize beta_prime_product_valuation_eq_sum b
  22. 0022specialize beta_prime_product_valuation_eq_sum c
  23. 0023specialize beta_prime_product_valuation_eq_sum vb
  24. 0024specialize beta_prime_product_valuation_eq_sum vc
  25. 0025specialize beta_prime_product_valuation_eq_sum l
  26. 0026specialize beta_prime_product_valuation_eq_sum z
  27. 0027specialize beta_prime_product_valuation_eq_sum e
  28. 0028specialize beta_prime_product_valuation_eq_sum x
  29. 0029apply beta_prime_product_valuation_eq_sum
  30. 0030exact hp
  31. 0031exact hn
  32. 0032exact hv
  33. 0033exact hz
  34. 0034exact he
  35. 0035exact hactual_witness
  36. 0036rewrite heq at hactual_witness
  37. 0037rewrite heq at hactual_witness
  38. 0038rewrite heq at hactual_witness
  39. 0039rewrite heq at hactual_witness
  40. 0040rewrite heq at hactual_witness
  41. 0041rewrite heq at hactual_witness
  42. 0042exact hactual_witness