EL0018

lte_valuation_product_exact

Construct the exact sum valuation of a nonzero product instead of requiring its output valuation as an input.

Alpha v34 checked-use · first admitted v29 · 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.

All displayed hypotheses are required. Powers and positive differences are actual existential outputs. The proof constructs second-order correction identities and iterates the prime step; no binomial expansion or LTE oracle is assumed. The 2-adic variants remain separate open targets.

Exact theorem in conservative defined notation

∀ p. ∀ a. ∀ b. ∀ e. ∀ f. ¬p = 1 ∧ (∀ x. ∀ y. p = x · y → x = 1 ∨ y = 1) → ¬a = 0 → ¬b = 0 → BoundedPowerValuation(p,a,a,e)BoundedPowerValuation(p,b,b,f)BoundedPowerValuation(p,a · b,a · b,e + f)

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

Definition DAG

Actual proof prerequisites

power_valuation_exists · checked external prerequisiteprime_power_valuation_mul · checked external prerequisiteprime_valuation_exponent_eq_transport · checked external prerequisite
Original expanded first-order statement
forall p a b e f. (~((p) = 1) /\ forall pvs_left_product_prime pvs_right_product_prime. (p) = pvs_left_product_prime * pvs_right_product_prime -> pvs_left_product_prime = 1 \/ pvs_right_product_prime = 1) -> ~(a = 0) -> ~(b = 0) -> (((exists bpd_gap_pvs_product_left_selected_bound. bpd_gap_pvs_product_left_selected_bound + (e) = (a)) /\ (exists bpvi_result_pvs_product_left_selected. ((exists bpvi_b_pvs_product_left_selected_power bpvi_c_pvs_product_left_selected_power. ((forall bpvi_i_pvs_product_left_selected_power. (exists bpvi_repeat_gap_pvs_product_left_selected_power. bpvi_repeat_gap_pvs_product_left_selected_power + S bpvi_i_pvs_product_left_selected_power = e) -> (((exists bpvi_h_pvs_product_left_selected_power_repeat. bpvi_h_pvs_product_left_selected_power_repeat + S (p) = S ((S (bpvi_i_pvs_product_left_selected_power)) * bpvi_c_pvs_product_left_selected_power)) /\ exists bpvi_q_pvs_product_left_selected_power_repeat. bpvi_b_pvs_product_left_selected_power = bpvi_q_pvs_product_left_selected_power_repeat * S ((S (bpvi_i_pvs_product_left_selected_power)) * bpvi_c_pvs_product_left_selected_power) + (p)))) /\ (exists bpvi_u_pvs_product_left_selected_power bpvi_v_pvs_product_left_selected_power. ((((exists bpvi_h_pvs_product_left_selected_power_start. bpvi_h_pvs_product_left_selected_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_product_left_selected_power)) /\ exists bpvi_q_pvs_product_left_selected_power_start. bpvi_u_pvs_product_left_selected_power = bpvi_q_pvs_product_left_selected_power_start * S ((S (0)) * bpvi_v_pvs_product_left_selected_power) + (1))) /\ ((((exists bpvi_h_pvs_product_left_selected_power_terminal. bpvi_h_pvs_product_left_selected_power_terminal + S (bpvi_result_pvs_product_left_selected) = S ((S (e)) * bpvi_v_pvs_product_left_selected_power)) /\ exists bpvi_q_pvs_product_left_selected_power_terminal. bpvi_u_pvs_product_left_selected_power = bpvi_q_pvs_product_left_selected_power_terminal * S ((S (e)) * bpvi_v_pvs_product_left_selected_power) + (bpvi_result_pvs_product_left_selected))) /\ forall bpvi_j_pvs_product_left_selected_power. (exists bpvi_product_gap_pvs_product_left_selected_power. bpvi_product_gap_pvs_product_left_selected_power + S bpvi_j_pvs_product_left_selected_power = e) -> exists bpvi_factor_pvs_product_left_selected_power bpvi_partial_pvs_product_left_selected_power bpvi_successor_pvs_product_left_selected_power. ((((exists bpvi_h_pvs_product_left_selected_power_factor. bpvi_h_pvs_product_left_selected_power_factor + S (bpvi_factor_pvs_product_left_selected_power) = S ((S (bpvi_j_pvs_product_left_selected_power)) * bpvi_c_pvs_product_left_selected_power)) /\ exists bpvi_q_pvs_product_left_selected_power_factor. bpvi_b_pvs_product_left_selected_power = bpvi_q_pvs_product_left_selected_power_factor * S ((S (bpvi_j_pvs_product_left_selected_power)) * bpvi_c_pvs_product_left_selected_power) + (bpvi_factor_pvs_product_left_selected_power))) /\ ((((exists bpvi_h_pvs_product_left_selected_power_partial. bpvi_h_pvs_product_left_selected_power_partial + S (bpvi_partial_pvs_product_left_selected_power) = S ((S (bpvi_j_pvs_product_left_selected_power)) * bpvi_v_pvs_product_left_selected_power)) /\ exists bpvi_q_pvs_product_left_selected_power_partial. bpvi_u_pvs_product_left_selected_power = bpvi_q_pvs_product_left_selected_power_partial * S ((S (bpvi_j_pvs_product_left_selected_power)) * bpvi_v_pvs_product_left_selected_power) + (bpvi_partial_pvs_product_left_selected_power))) /\ ((((exists bpvi_h_pvs_product_left_selected_power_successor. bpvi_h_pvs_product_left_selected_power_successor + S (bpvi_successor_pvs_product_left_selected_power) = S ((S (S bpvi_j_pvs_product_left_selected_power)) * bpvi_v_pvs_product_left_selected_power)) /\ exists bpvi_q_pvs_product_left_selected_power_successor. bpvi_u_pvs_product_left_selected_power = bpvi_q_pvs_product_left_selected_power_successor * S ((S (S bpvi_j_pvs_product_left_selected_power)) * bpvi_v_pvs_product_left_selected_power) + (bpvi_successor_pvs_product_left_selected_power))) /\ bpvi_successor_pvs_product_left_selected_power = bpvi_partial_pvs_product_left_selected_power * bpvi_factor_pvs_product_left_selected_power)))))))) /\ exists bpvi_divisor_factor_pvs_product_left_selected. a = bpvi_result_pvs_product_left_selected * bpvi_divisor_factor_pvs_product_left_selected))) /\ forall bpd_candidate_pvs_product_left. (exists bpd_gap_pvs_product_left_candidate_bound. bpd_gap_pvs_product_left_candidate_bound + (bpd_candidate_pvs_product_left) = (a)) -> (exists bpvi_result_pvs_product_left_candidate. ((exists bpvi_b_pvs_product_left_candidate_power bpvi_c_pvs_product_left_candidate_power. ((forall bpvi_i_pvs_product_left_candidate_power. (exists bpvi_repeat_gap_pvs_product_left_candidate_power. bpvi_repeat_gap_pvs_product_left_candidate_power + S bpvi_i_pvs_product_left_candidate_power = bpd_candidate_pvs_product_left) -> (((exists bpvi_h_pvs_product_left_candidate_power_repeat. bpvi_h_pvs_product_left_candidate_power_repeat + S (p) = S ((S (bpvi_i_pvs_product_left_candidate_power)) * bpvi_c_pvs_product_left_candidate_power)) /\ exists bpvi_q_pvs_product_left_candidate_power_repeat. bpvi_b_pvs_product_left_candidate_power = bpvi_q_pvs_product_left_candidate_power_repeat * S ((S (bpvi_i_pvs_product_left_candidate_power)) * bpvi_c_pvs_product_left_candidate_power) + (p)))) /\ (exists bpvi_u_pvs_product_left_candidate_power bpvi_v_pvs_product_left_candidate_power. ((((exists bpvi_h_pvs_product_left_candidate_power_start. bpvi_h_pvs_product_left_candidate_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_product_left_candidate_power)) /\ exists bpvi_q_pvs_product_left_candidate_power_start. bpvi_u_pvs_product_left_candidate_power = bpvi_q_pvs_product_left_candidate_power_start * S ((S (0)) * bpvi_v_pvs_product_left_candidate_power) + (1))) /\ ((((exists bpvi_h_pvs_product_left_candidate_power_terminal. bpvi_h_pvs_product_left_candidate_power_terminal + S (bpvi_result_pvs_product_left_candidate) = S ((S (bpd_candidate_pvs_product_left)) * bpvi_v_pvs_product_left_candidate_power)) /\ exists bpvi_q_pvs_product_left_candidate_power_terminal. bpvi_u_pvs_product_left_candidate_power = bpvi_q_pvs_product_left_candidate_power_terminal * S ((S (bpd_candidate_pvs_product_left)) * bpvi_v_pvs_product_left_candidate_power) + (bpvi_result_pvs_product_left_candidate))) /\ forall bpvi_j_pvs_product_left_candidate_power. (exists bpvi_product_gap_pvs_product_left_candidate_power. bpvi_product_gap_pvs_product_left_candidate_power + S bpvi_j_pvs_product_left_candidate_power = bpd_candidate_pvs_product_left) -> exists bpvi_factor_pvs_product_left_candidate_power bpvi_partial_pvs_product_left_candidate_power bpvi_successor_pvs_product_left_candidate_power. ((((exists bpvi_h_pvs_product_left_candidate_power_factor. bpvi_h_pvs_product_left_candidate_power_factor + S (bpvi_factor_pvs_product_left_candidate_power) = S ((S (bpvi_j_pvs_product_left_candidate_power)) * bpvi_c_pvs_product_left_candidate_power)) /\ exists bpvi_q_pvs_product_left_candidate_power_factor. bpvi_b_pvs_product_left_candidate_power = bpvi_q_pvs_product_left_candidate_power_factor * S ((S (bpvi_j_pvs_product_left_candidate_power)) * bpvi_c_pvs_product_left_candidate_power) + (bpvi_factor_pvs_product_left_candidate_power))) /\ ((((exists bpvi_h_pvs_product_left_candidate_power_partial. bpvi_h_pvs_product_left_candidate_power_partial + S (bpvi_partial_pvs_product_left_candidate_power) = S ((S (bpvi_j_pvs_product_left_candidate_power)) * bpvi_v_pvs_product_left_candidate_power)) /\ exists bpvi_q_pvs_product_left_candidate_power_partial. bpvi_u_pvs_product_left_candidate_power = bpvi_q_pvs_product_left_candidate_power_partial * S ((S (bpvi_j_pvs_product_left_candidate_power)) * bpvi_v_pvs_product_left_candidate_power) + (bpvi_partial_pvs_product_left_candidate_power))) /\ ((((exists bpvi_h_pvs_product_left_candidate_power_successor. bpvi_h_pvs_product_left_candidate_power_successor + S (bpvi_successor_pvs_product_left_candidate_power) = S ((S (S bpvi_j_pvs_product_left_candidate_power)) * bpvi_v_pvs_product_left_candidate_power)) /\ exists bpvi_q_pvs_product_left_candidate_power_successor. bpvi_u_pvs_product_left_candidate_power = bpvi_q_pvs_product_left_candidate_power_successor * S ((S (S bpvi_j_pvs_product_left_candidate_power)) * bpvi_v_pvs_product_left_candidate_power) + (bpvi_successor_pvs_product_left_candidate_power))) /\ bpvi_successor_pvs_product_left_candidate_power = bpvi_partial_pvs_product_left_candidate_power * bpvi_factor_pvs_product_left_candidate_power)))))))) /\ exists bpvi_divisor_factor_pvs_product_left_candidate. a = bpvi_result_pvs_product_left_candidate * bpvi_divisor_factor_pvs_product_left_candidate)) -> (exists bpd_gap_pvs_product_left_maximal. bpd_gap_pvs_product_left_maximal + (bpd_candidate_pvs_product_left) = (e))) -> (((exists bpd_gap_pvs_product_right_selected_bound. bpd_gap_pvs_product_right_selected_bound + (f) = (b)) /\ (exists bpvi_result_pvs_product_right_selected. ((exists bpvi_b_pvs_product_right_selected_power bpvi_c_pvs_product_right_selected_power. ((forall bpvi_i_pvs_product_right_selected_power. (exists bpvi_repeat_gap_pvs_product_right_selected_power. bpvi_repeat_gap_pvs_product_right_selected_power + S bpvi_i_pvs_product_right_selected_power = f) -> (((exists bpvi_h_pvs_product_right_selected_power_repeat. bpvi_h_pvs_product_right_selected_power_repeat + S (p) = S ((S (bpvi_i_pvs_product_right_selected_power)) * bpvi_c_pvs_product_right_selected_power)) /\ exists bpvi_q_pvs_product_right_selected_power_repeat. bpvi_b_pvs_product_right_selected_power = bpvi_q_pvs_product_right_selected_power_repeat * S ((S (bpvi_i_pvs_product_right_selected_power)) * bpvi_c_pvs_product_right_selected_power) + (p)))) /\ (exists bpvi_u_pvs_product_right_selected_power bpvi_v_pvs_product_right_selected_power. ((((exists bpvi_h_pvs_product_right_selected_power_start. bpvi_h_pvs_product_right_selected_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_product_right_selected_power)) /\ exists bpvi_q_pvs_product_right_selected_power_start. bpvi_u_pvs_product_right_selected_power = bpvi_q_pvs_product_right_selected_power_start * S ((S (0)) * bpvi_v_pvs_product_right_selected_power) + (1))) /\ ((((exists bpvi_h_pvs_product_right_selected_power_terminal. bpvi_h_pvs_product_right_selected_power_terminal + S (bpvi_result_pvs_product_right_selected) = S ((S (f)) * bpvi_v_pvs_product_right_selected_power)) /\ exists bpvi_q_pvs_product_right_selected_power_terminal. bpvi_u_pvs_product_right_selected_power = bpvi_q_pvs_product_right_selected_power_terminal * S ((S (f)) * bpvi_v_pvs_product_right_selected_power) + (bpvi_result_pvs_product_right_selected))) /\ forall bpvi_j_pvs_product_right_selected_power. (exists bpvi_product_gap_pvs_product_right_selected_power. bpvi_product_gap_pvs_product_right_selected_power + S bpvi_j_pvs_product_right_selected_power = f) -> exists bpvi_factor_pvs_product_right_selected_power bpvi_partial_pvs_product_right_selected_power bpvi_successor_pvs_product_right_selected_power. ((((exists bpvi_h_pvs_product_right_selected_power_factor. bpvi_h_pvs_product_right_selected_power_factor + S (bpvi_factor_pvs_product_right_selected_power) = S ((S (bpvi_j_pvs_product_right_selected_power)) * bpvi_c_pvs_product_right_selected_power)) /\ exists bpvi_q_pvs_product_right_selected_power_factor. bpvi_b_pvs_product_right_selected_power = bpvi_q_pvs_product_right_selected_power_factor * S ((S (bpvi_j_pvs_product_right_selected_power)) * bpvi_c_pvs_product_right_selected_power) + (bpvi_factor_pvs_product_right_selected_power))) /\ ((((exists bpvi_h_pvs_product_right_selected_power_partial. bpvi_h_pvs_product_right_selected_power_partial + S (bpvi_partial_pvs_product_right_selected_power) = S ((S (bpvi_j_pvs_product_right_selected_power)) * bpvi_v_pvs_product_right_selected_power)) /\ exists bpvi_q_pvs_product_right_selected_power_partial. bpvi_u_pvs_product_right_selected_power = bpvi_q_pvs_product_right_selected_power_partial * S ((S (bpvi_j_pvs_product_right_selected_power)) * bpvi_v_pvs_product_right_selected_power) + (bpvi_partial_pvs_product_right_selected_power))) /\ ((((exists bpvi_h_pvs_product_right_selected_power_successor. bpvi_h_pvs_product_right_selected_power_successor + S (bpvi_successor_pvs_product_right_selected_power) = S ((S (S bpvi_j_pvs_product_right_selected_power)) * bpvi_v_pvs_product_right_selected_power)) /\ exists bpvi_q_pvs_product_right_selected_power_successor. bpvi_u_pvs_product_right_selected_power = bpvi_q_pvs_product_right_selected_power_successor * S ((S (S bpvi_j_pvs_product_right_selected_power)) * bpvi_v_pvs_product_right_selected_power) + (bpvi_successor_pvs_product_right_selected_power))) /\ bpvi_successor_pvs_product_right_selected_power = bpvi_partial_pvs_product_right_selected_power * bpvi_factor_pvs_product_right_selected_power)))))))) /\ exists bpvi_divisor_factor_pvs_product_right_selected. b = bpvi_result_pvs_product_right_selected * bpvi_divisor_factor_pvs_product_right_selected))) /\ forall bpd_candidate_pvs_product_right. (exists bpd_gap_pvs_product_right_candidate_bound. bpd_gap_pvs_product_right_candidate_bound + (bpd_candidate_pvs_product_right) = (b)) -> (exists bpvi_result_pvs_product_right_candidate. ((exists bpvi_b_pvs_product_right_candidate_power bpvi_c_pvs_product_right_candidate_power. ((forall bpvi_i_pvs_product_right_candidate_power. (exists bpvi_repeat_gap_pvs_product_right_candidate_power. bpvi_repeat_gap_pvs_product_right_candidate_power + S bpvi_i_pvs_product_right_candidate_power = bpd_candidate_pvs_product_right) -> (((exists bpvi_h_pvs_product_right_candidate_power_repeat. bpvi_h_pvs_product_right_candidate_power_repeat + S (p) = S ((S (bpvi_i_pvs_product_right_candidate_power)) * bpvi_c_pvs_product_right_candidate_power)) /\ exists bpvi_q_pvs_product_right_candidate_power_repeat. bpvi_b_pvs_product_right_candidate_power = bpvi_q_pvs_product_right_candidate_power_repeat * S ((S (bpvi_i_pvs_product_right_candidate_power)) * bpvi_c_pvs_product_right_candidate_power) + (p)))) /\ (exists bpvi_u_pvs_product_right_candidate_power bpvi_v_pvs_product_right_candidate_power. ((((exists bpvi_h_pvs_product_right_candidate_power_start. bpvi_h_pvs_product_right_candidate_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_product_right_candidate_power)) /\ exists bpvi_q_pvs_product_right_candidate_power_start. bpvi_u_pvs_product_right_candidate_power = bpvi_q_pvs_product_right_candidate_power_start * S ((S (0)) * bpvi_v_pvs_product_right_candidate_power) + (1))) /\ ((((exists bpvi_h_pvs_product_right_candidate_power_terminal. bpvi_h_pvs_product_right_candidate_power_terminal + S (bpvi_result_pvs_product_right_candidate) = S ((S (bpd_candidate_pvs_product_right)) * bpvi_v_pvs_product_right_candidate_power)) /\ exists bpvi_q_pvs_product_right_candidate_power_terminal. bpvi_u_pvs_product_right_candidate_power = bpvi_q_pvs_product_right_candidate_power_terminal * S ((S (bpd_candidate_pvs_product_right)) * bpvi_v_pvs_product_right_candidate_power) + (bpvi_result_pvs_product_right_candidate))) /\ forall bpvi_j_pvs_product_right_candidate_power. (exists bpvi_product_gap_pvs_product_right_candidate_power. bpvi_product_gap_pvs_product_right_candidate_power + S bpvi_j_pvs_product_right_candidate_power = bpd_candidate_pvs_product_right) -> exists bpvi_factor_pvs_product_right_candidate_power bpvi_partial_pvs_product_right_candidate_power bpvi_successor_pvs_product_right_candidate_power. ((((exists bpvi_h_pvs_product_right_candidate_power_factor. bpvi_h_pvs_product_right_candidate_power_factor + S (bpvi_factor_pvs_product_right_candidate_power) = S ((S (bpvi_j_pvs_product_right_candidate_power)) * bpvi_c_pvs_product_right_candidate_power)) /\ exists bpvi_q_pvs_product_right_candidate_power_factor. bpvi_b_pvs_product_right_candidate_power = bpvi_q_pvs_product_right_candidate_power_factor * S ((S (bpvi_j_pvs_product_right_candidate_power)) * bpvi_c_pvs_product_right_candidate_power) + (bpvi_factor_pvs_product_right_candidate_power))) /\ ((((exists bpvi_h_pvs_product_right_candidate_power_partial. bpvi_h_pvs_product_right_candidate_power_partial + S (bpvi_partial_pvs_product_right_candidate_power) = S ((S (bpvi_j_pvs_product_right_candidate_power)) * bpvi_v_pvs_product_right_candidate_power)) /\ exists bpvi_q_pvs_product_right_candidate_power_partial. bpvi_u_pvs_product_right_candidate_power = bpvi_q_pvs_product_right_candidate_power_partial * S ((S (bpvi_j_pvs_product_right_candidate_power)) * bpvi_v_pvs_product_right_candidate_power) + (bpvi_partial_pvs_product_right_candidate_power))) /\ ((((exists bpvi_h_pvs_product_right_candidate_power_successor. bpvi_h_pvs_product_right_candidate_power_successor + S (bpvi_successor_pvs_product_right_candidate_power) = S ((S (S bpvi_j_pvs_product_right_candidate_power)) * bpvi_v_pvs_product_right_candidate_power)) /\ exists bpvi_q_pvs_product_right_candidate_power_successor. bpvi_u_pvs_product_right_candidate_power = bpvi_q_pvs_product_right_candidate_power_successor * S ((S (S bpvi_j_pvs_product_right_candidate_power)) * bpvi_v_pvs_product_right_candidate_power) + (bpvi_successor_pvs_product_right_candidate_power))) /\ bpvi_successor_pvs_product_right_candidate_power = bpvi_partial_pvs_product_right_candidate_power * bpvi_factor_pvs_product_right_candidate_power)))))))) /\ exists bpvi_divisor_factor_pvs_product_right_candidate. b = bpvi_result_pvs_product_right_candidate * bpvi_divisor_factor_pvs_product_right_candidate)) -> (exists bpd_gap_pvs_product_right_maximal. bpd_gap_pvs_product_right_maximal + (bpd_candidate_pvs_product_right) = (f))) -> (((exists bpd_gap_pvs_product_result_selected_bound. bpd_gap_pvs_product_result_selected_bound + (e + f) = (a * b)) /\ (exists bpvi_result_pvs_product_result_selected. ((exists bpvi_b_pvs_product_result_selected_power bpvi_c_pvs_product_result_selected_power. ((forall bpvi_i_pvs_product_result_selected_power. (exists bpvi_repeat_gap_pvs_product_result_selected_power. bpvi_repeat_gap_pvs_product_result_selected_power + S bpvi_i_pvs_product_result_selected_power = e + f) -> (((exists bpvi_h_pvs_product_result_selected_power_repeat. bpvi_h_pvs_product_result_selected_power_repeat + S (p) = S ((S (bpvi_i_pvs_product_result_selected_power)) * bpvi_c_pvs_product_result_selected_power)) /\ exists bpvi_q_pvs_product_result_selected_power_repeat. bpvi_b_pvs_product_result_selected_power = bpvi_q_pvs_product_result_selected_power_repeat * S ((S (bpvi_i_pvs_product_result_selected_power)) * bpvi_c_pvs_product_result_selected_power) + (p)))) /\ (exists bpvi_u_pvs_product_result_selected_power bpvi_v_pvs_product_result_selected_power. ((((exists bpvi_h_pvs_product_result_selected_power_start. bpvi_h_pvs_product_result_selected_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_product_result_selected_power)) /\ exists bpvi_q_pvs_product_result_selected_power_start. bpvi_u_pvs_product_result_selected_power = bpvi_q_pvs_product_result_selected_power_start * S ((S (0)) * bpvi_v_pvs_product_result_selected_power) + (1))) /\ ((((exists bpvi_h_pvs_product_result_selected_power_terminal. bpvi_h_pvs_product_result_selected_power_terminal + S (bpvi_result_pvs_product_result_selected) = S ((S (e + f)) * bpvi_v_pvs_product_result_selected_power)) /\ exists bpvi_q_pvs_product_result_selected_power_terminal. bpvi_u_pvs_product_result_selected_power = bpvi_q_pvs_product_result_selected_power_terminal * S ((S (e + f)) * bpvi_v_pvs_product_result_selected_power) + (bpvi_result_pvs_product_result_selected))) /\ forall bpvi_j_pvs_product_result_selected_power. (exists bpvi_product_gap_pvs_product_result_selected_power. bpvi_product_gap_pvs_product_result_selected_power + S bpvi_j_pvs_product_result_selected_power = e + f) -> exists bpvi_factor_pvs_product_result_selected_power bpvi_partial_pvs_product_result_selected_power bpvi_successor_pvs_product_result_selected_power. ((((exists bpvi_h_pvs_product_result_selected_power_factor. bpvi_h_pvs_product_result_selected_power_factor + S (bpvi_factor_pvs_product_result_selected_power) = S ((S (bpvi_j_pvs_product_result_selected_power)) * bpvi_c_pvs_product_result_selected_power)) /\ exists bpvi_q_pvs_product_result_selected_power_factor. bpvi_b_pvs_product_result_selected_power = bpvi_q_pvs_product_result_selected_power_factor * S ((S (bpvi_j_pvs_product_result_selected_power)) * bpvi_c_pvs_product_result_selected_power) + (bpvi_factor_pvs_product_result_selected_power))) /\ ((((exists bpvi_h_pvs_product_result_selected_power_partial. bpvi_h_pvs_product_result_selected_power_partial + S (bpvi_partial_pvs_product_result_selected_power) = S ((S (bpvi_j_pvs_product_result_selected_power)) * bpvi_v_pvs_product_result_selected_power)) /\ exists bpvi_q_pvs_product_result_selected_power_partial. bpvi_u_pvs_product_result_selected_power = bpvi_q_pvs_product_result_selected_power_partial * S ((S (bpvi_j_pvs_product_result_selected_power)) * bpvi_v_pvs_product_result_selected_power) + (bpvi_partial_pvs_product_result_selected_power))) /\ ((((exists bpvi_h_pvs_product_result_selected_power_successor. bpvi_h_pvs_product_result_selected_power_successor + S (bpvi_successor_pvs_product_result_selected_power) = S ((S (S bpvi_j_pvs_product_result_selected_power)) * bpvi_v_pvs_product_result_selected_power)) /\ exists bpvi_q_pvs_product_result_selected_power_successor. bpvi_u_pvs_product_result_selected_power = bpvi_q_pvs_product_result_selected_power_successor * S ((S (S bpvi_j_pvs_product_result_selected_power)) * bpvi_v_pvs_product_result_selected_power) + (bpvi_successor_pvs_product_result_selected_power))) /\ bpvi_successor_pvs_product_result_selected_power = bpvi_partial_pvs_product_result_selected_power * bpvi_factor_pvs_product_result_selected_power)))))))) /\ exists bpvi_divisor_factor_pvs_product_result_selected. a * b = bpvi_result_pvs_product_result_selected * bpvi_divisor_factor_pvs_product_result_selected))) /\ forall bpd_candidate_pvs_product_result. (exists bpd_gap_pvs_product_result_candidate_bound. bpd_gap_pvs_product_result_candidate_bound + (bpd_candidate_pvs_product_result) = (a * b)) -> (exists bpvi_result_pvs_product_result_candidate. ((exists bpvi_b_pvs_product_result_candidate_power bpvi_c_pvs_product_result_candidate_power. ((forall bpvi_i_pvs_product_result_candidate_power. (exists bpvi_repeat_gap_pvs_product_result_candidate_power. bpvi_repeat_gap_pvs_product_result_candidate_power + S bpvi_i_pvs_product_result_candidate_power = bpd_candidate_pvs_product_result) -> (((exists bpvi_h_pvs_product_result_candidate_power_repeat. bpvi_h_pvs_product_result_candidate_power_repeat + S (p) = S ((S (bpvi_i_pvs_product_result_candidate_power)) * bpvi_c_pvs_product_result_candidate_power)) /\ exists bpvi_q_pvs_product_result_candidate_power_repeat. bpvi_b_pvs_product_result_candidate_power = bpvi_q_pvs_product_result_candidate_power_repeat * S ((S (bpvi_i_pvs_product_result_candidate_power)) * bpvi_c_pvs_product_result_candidate_power) + (p)))) /\ (exists bpvi_u_pvs_product_result_candidate_power bpvi_v_pvs_product_result_candidate_power. ((((exists bpvi_h_pvs_product_result_candidate_power_start. bpvi_h_pvs_product_result_candidate_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_product_result_candidate_power)) /\ exists bpvi_q_pvs_product_result_candidate_power_start. bpvi_u_pvs_product_result_candidate_power = bpvi_q_pvs_product_result_candidate_power_start * S ((S (0)) * bpvi_v_pvs_product_result_candidate_power) + (1))) /\ ((((exists bpvi_h_pvs_product_result_candidate_power_terminal. bpvi_h_pvs_product_result_candidate_power_terminal + S (bpvi_result_pvs_product_result_candidate) = S ((S (bpd_candidate_pvs_product_result)) * bpvi_v_pvs_product_result_candidate_power)) /\ exists bpvi_q_pvs_product_result_candidate_power_terminal. bpvi_u_pvs_product_result_candidate_power = bpvi_q_pvs_product_result_candidate_power_terminal * S ((S (bpd_candidate_pvs_product_result)) * bpvi_v_pvs_product_result_candidate_power) + (bpvi_result_pvs_product_result_candidate))) /\ forall bpvi_j_pvs_product_result_candidate_power. (exists bpvi_product_gap_pvs_product_result_candidate_power. bpvi_product_gap_pvs_product_result_candidate_power + S bpvi_j_pvs_product_result_candidate_power = bpd_candidate_pvs_product_result) -> exists bpvi_factor_pvs_product_result_candidate_power bpvi_partial_pvs_product_result_candidate_power bpvi_successor_pvs_product_result_candidate_power. ((((exists bpvi_h_pvs_product_result_candidate_power_factor. bpvi_h_pvs_product_result_candidate_power_factor + S (bpvi_factor_pvs_product_result_candidate_power) = S ((S (bpvi_j_pvs_product_result_candidate_power)) * bpvi_c_pvs_product_result_candidate_power)) /\ exists bpvi_q_pvs_product_result_candidate_power_factor. bpvi_b_pvs_product_result_candidate_power = bpvi_q_pvs_product_result_candidate_power_factor * S ((S (bpvi_j_pvs_product_result_candidate_power)) * bpvi_c_pvs_product_result_candidate_power) + (bpvi_factor_pvs_product_result_candidate_power))) /\ ((((exists bpvi_h_pvs_product_result_candidate_power_partial. bpvi_h_pvs_product_result_candidate_power_partial + S (bpvi_partial_pvs_product_result_candidate_power) = S ((S (bpvi_j_pvs_product_result_candidate_power)) * bpvi_v_pvs_product_result_candidate_power)) /\ exists bpvi_q_pvs_product_result_candidate_power_partial. bpvi_u_pvs_product_result_candidate_power = bpvi_q_pvs_product_result_candidate_power_partial * S ((S (bpvi_j_pvs_product_result_candidate_power)) * bpvi_v_pvs_product_result_candidate_power) + (bpvi_partial_pvs_product_result_candidate_power))) /\ ((((exists bpvi_h_pvs_product_result_candidate_power_successor. bpvi_h_pvs_product_result_candidate_power_successor + S (bpvi_successor_pvs_product_result_candidate_power) = S ((S (S bpvi_j_pvs_product_result_candidate_power)) * bpvi_v_pvs_product_result_candidate_power)) /\ exists bpvi_q_pvs_product_result_candidate_power_successor. bpvi_u_pvs_product_result_candidate_power = bpvi_q_pvs_product_result_candidate_power_successor * S ((S (S bpvi_j_pvs_product_result_candidate_power)) * bpvi_v_pvs_product_result_candidate_power) + (bpvi_successor_pvs_product_result_candidate_power))) /\ bpvi_successor_pvs_product_result_candidate_power = bpvi_partial_pvs_product_result_candidate_power * bpvi_factor_pvs_product_result_candidate_power)))))))) /\ exists bpvi_divisor_factor_pvs_product_result_candidate. a * b = bpvi_result_pvs_product_result_candidate * bpvi_divisor_factor_pvs_product_result_candidate)) -> (exists bpd_gap_pvs_product_result_maximal. bpd_gap_pvs_product_result_maximal + (bpd_candidate_pvs_product_result) = (e + f)))

Complete tactic proof in conservative notation

All 34 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

34 script commands · 5 reading checkpoints · 1 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.

01Fix variables and assumptionsL1–10

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

  1. L1
    intro p
  2. L2
    intro a
  3. L3
    intro b
  4. L4
    intro e
  5. L5
    intro f
  6. L6
    intro hp
  7. L7
    intro ha
  8. L8
    intro hb
  9. L9
    intro hleft
  10. L10
    intro hright
02Establish hexL11–14

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

  1. L11
    have hex : ∃ g. BoundedPowerValuation(p,a · b,a · b,g)Definitions: BoundedPowerValuation(p,a · b,a · b,g)Original native command in the exact edition
  2. L12
    specialize power_valuation_exists (p)
  3. L13
    specialize power_valuation_exists (a * b)
  4. L14
    apply power_valuation_exists
03Separate the logical casesL15–15

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

  1. L15
    cases hex
04Use earlier factsL16–25

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

  1. L16
    specialize prime_valuation_exponent_eq_transport (p)
  2. L17
    specialize prime_valuation_exponent_eq_transport (a * b)
  3. L18
    specialize prime_valuation_exponent_eq_transport (x)
  4. L19
    specialize prime_valuation_exponent_eq_transport (e + f)
  5. L20
    apply prime_valuation_exponent_eq_transport
  6. L21
    specialize prime_power_valuation_mul (p)
  7. L22
    specialize prime_power_valuation_mul (a)
  8. L23
    specialize prime_power_valuation_mul (b)
  9. L24
    specialize prime_power_valuation_mul (e)
  10. L25
    specialize prime_power_valuation_mul (f)
05Use earlier factsL26–34

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

  1. L26
    specialize prime_power_valuation_mul (x)
  2. L27
    apply prime_power_valuation_mul
  3. L28
    exact hp
  4. L29
    exact ha
  5. L30
    exact hb
  6. L31
    exact hleft
  7. L32
    exact hright
  8. L33
    exact hex_witness
  9. L34
    exact hex_witness

Library-wide reading audit

Original defined command ledger · 34 lines
  1. 0001intro p
  2. 0002intro a
  3. 0003intro b
  4. 0004intro e
  5. 0005intro f
  6. 0006intro hp
  7. 0007intro ha
  8. 0008intro hb
  9. 0009intro hleft
  10. 0010intro hright
  11. 0011have hex : ∃ g. BoundedPowerValuation(p,a · b,a · b,g)
  12. 0012specialize power_valuation_exists (p)
  13. 0013specialize power_valuation_exists (a * b)
  14. 0014apply power_valuation_exists
  15. 0015cases hex
  16. 0016specialize prime_valuation_exponent_eq_transport (p)
  17. 0017specialize prime_valuation_exponent_eq_transport (a * b)
  18. 0018specialize prime_valuation_exponent_eq_transport (x)
  19. 0019specialize prime_valuation_exponent_eq_transport (e + f)
  20. 0020apply prime_valuation_exponent_eq_transport
  21. 0021specialize prime_power_valuation_mul (p)
  22. 0022specialize prime_power_valuation_mul (a)
  23. 0023specialize prime_power_valuation_mul (b)
  24. 0024specialize prime_power_valuation_mul (e)
  25. 0025specialize prime_power_valuation_mul (f)
  26. 0026specialize prime_power_valuation_mul (x)
  27. 0027apply prime_power_valuation_mul
  28. 0028exact hp
  29. 0029exact ha
  30. 0030exact hb
  31. 0031exact hleft
  32. 0032exact hright
  33. 0033exact hex_witness
  34. 0034exact hex_witness