SK0023

prime_valuation_support_exponent_gcd_nonzero

The actual gcd of the positive valuations of a nonunit is positive; a decoded positive exponent prevents a zero gcd.

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.

For n>1 the exponent gcd and a real beta table classify and witness all positive root degrees. The unit n=1 has a separate uniform certificate for every positive degree. Zero is excluded. NaturalSquarefreeDecomposition is deliberately distinct from the unrelated polynomial definition.

Exact theorem in conservative defined notation

∀ n. ∀ pb. ∀ pc. ∀ eb. ∀ ec. ∀ vb. ∀ vc. ∀ l. ∀ g. PrimeValuationSupport(n,pb,pc,eb,ec,vb,vc,l) → ¬n = 1 → PrimeExponentPrefixGCD(eb,ec,l,g) → ¬g = 0

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

Definition DAG

Actual proof prerequisites

prime_valuation_support_nonemptyone_le_of_ne_zero · checked external prerequisitemul_zero_left · checked external prerequisite
Original expanded first-order statement
forall n pb pc eb ec vb vc l g. (((~((n) = 0)) /\ (((forall pfp_i_pvs_positive_gcd_supportdistinct pfp_j_pvs_positive_gcd_supportdistinct pfp_a_pvs_positive_gcd_supportdistinct. (exists pfp_gap_pvs_positive_gcd_supportdistinctfirst. pfp_gap_pvs_positive_gcd_supportdistinctfirst + S (pfp_i_pvs_positive_gcd_supportdistinct) = (l)) -> (exists pfp_gap_pvs_positive_gcd_supportdistinctsecond. pfp_gap_pvs_positive_gcd_supportdistinctsecond + S (pfp_j_pvs_positive_gcd_supportdistinct) = (l)) -> (((exists ff_h_pfp_pvs_positive_gcd_supportdistinctleft. ff_h_pfp_pvs_positive_gcd_supportdistinctleft + S (pfp_a_pvs_positive_gcd_supportdistinct) = S ((S (pfp_i_pvs_positive_gcd_supportdistinct)) * pc)) /\ exists ff_q_pfp_pvs_positive_gcd_supportdistinctleft. pb = ff_q_pfp_pvs_positive_gcd_supportdistinctleft * S ((S (pfp_i_pvs_positive_gcd_supportdistinct)) * pc) + (pfp_a_pvs_positive_gcd_supportdistinct))) -> (((exists ff_h_pfp_pvs_positive_gcd_supportdistinctright. ff_h_pfp_pvs_positive_gcd_supportdistinctright + S (pfp_a_pvs_positive_gcd_supportdistinct) = S ((S (pfp_j_pvs_positive_gcd_supportdistinct)) * pc)) /\ exists ff_q_pfp_pvs_positive_gcd_supportdistinctright. pb = ff_q_pfp_pvs_positive_gcd_supportdistinctright * S ((S (pfp_j_pvs_positive_gcd_supportdistinct)) * pc) + (pfp_a_pvs_positive_gcd_supportdistinct))) -> pfp_i_pvs_positive_gcd_supportdistinct = pfp_j_pvs_positive_gcd_supportdistinct) /\ (((forall pvs_index_positive_gcd_supportentries. (exists pvs_gap_positive_gcd_supportentriesindex. pvs_gap_positive_gcd_supportentriesindex + S (pvs_index_positive_gcd_supportentries) = (l)) -> exists pvs_prime_positive_gcd_supportentries pvs_exponent_positive_gcd_supportentries pvs_power_positive_gcd_supportentries. (((((exists ff_h_pvs_positive_gcd_supportentriesprime. ff_h_pvs_positive_gcd_supportentriesprime + S (pvs_prime_positive_gcd_supportentries) = S ((S (pvs_index_positive_gcd_supportentries)) * pc)) /\ exists ff_q_pvs_positive_gcd_supportentriesprime. pb = ff_q_pvs_positive_gcd_supportentriesprime * S ((S (pvs_index_positive_gcd_supportentries)) * pc) + (pvs_prime_positive_gcd_supportentries))) /\ (((((exists ff_h_pvs_positive_gcd_supportentriesexponent. ff_h_pvs_positive_gcd_supportentriesexponent + S (pvs_exponent_positive_gcd_supportentries) = S ((S (pvs_index_positive_gcd_supportentries)) * ec)) /\ exists ff_q_pvs_positive_gcd_supportentriesexponent. eb = ff_q_pvs_positive_gcd_supportentriesexponent * S ((S (pvs_index_positive_gcd_supportentries)) * ec) + (pvs_exponent_positive_gcd_supportentries))) /\ (((((exists ff_h_pvs_positive_gcd_supportentriespower. ff_h_pvs_positive_gcd_supportentriespower + S (pvs_power_positive_gcd_supportentries) = S ((S (pvs_index_positive_gcd_supportentries)) * vc)) /\ exists ff_q_pvs_positive_gcd_supportentriespower. vb = ff_q_pvs_positive_gcd_supportentriespower * S ((S (pvs_index_positive_gcd_supportentries)) * vc) + (pvs_power_positive_gcd_supportentries))) /\ (((~((pvs_prime_positive_gcd_supportentries) = 1) /\ forall pvs_left_positive_gcd_supportentriesdomain pvs_right_positive_gcd_supportentriesdomain. (pvs_prime_positive_gcd_supportentries) = pvs_left_positive_gcd_supportentriesdomain * pvs_right_positive_gcd_supportentriesdomain -> pvs_left_positive_gcd_supportentriesdomain = 1 \/ pvs_right_positive_gcd_supportentriesdomain = 1) /\ (((~(pvs_exponent_positive_gcd_supportentries = 0)) /\ (((((exists bpd_gap_pvs_positive_gcd_supportentriesvaluation_selected_bound. bpd_gap_pvs_positive_gcd_supportentriesvaluation_selected_bound + (pvs_exponent_positive_gcd_supportentries) = (n)) /\ (exists bpvi_result_pvs_positive_gcd_supportentriesvaluation_selected. ((exists bpvi_b_pvs_positive_gcd_supportentriesvaluation_selected_power bpvi_c_pvs_positive_gcd_supportentriesvaluation_selected_power. ((forall bpvi_i_pvs_positive_gcd_supportentriesvaluation_selected_power. (exists bpvi_repeat_gap_pvs_positive_gcd_supportentriesvaluation_selected_power. bpvi_repeat_gap_pvs_positive_gcd_supportentriesvaluation_selected_power + S bpvi_i_pvs_positive_gcd_supportentriesvaluation_selected_power = pvs_exponent_positive_gcd_supportentries) -> (((exists bpvi_h_pvs_positive_gcd_supportentriesvaluation_selected_power_repeat. bpvi_h_pvs_positive_gcd_supportentriesvaluation_selected_power_repeat + S (pvs_prime_positive_gcd_supportentries) = S ((S (bpvi_i_pvs_positive_gcd_supportentriesvaluation_selected_power)) * bpvi_c_pvs_positive_gcd_supportentriesvaluation_selected_power)) /\ exists bpvi_q_pvs_positive_gcd_supportentriesvaluation_selected_power_repeat. bpvi_b_pvs_positive_gcd_supportentriesvaluation_selected_power = bpvi_q_pvs_positive_gcd_supportentriesvaluation_selected_power_repeat * S ((S (bpvi_i_pvs_positive_gcd_supportentriesvaluation_selected_power)) * bpvi_c_pvs_positive_gcd_supportentriesvaluation_selected_power) + (pvs_prime_positive_gcd_supportentries)))) /\ (exists bpvi_u_pvs_positive_gcd_supportentriesvaluation_selected_power bpvi_v_pvs_positive_gcd_supportentriesvaluation_selected_power. ((((exists bpvi_h_pvs_positive_gcd_supportentriesvaluation_selected_power_start. bpvi_h_pvs_positive_gcd_supportentriesvaluation_selected_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_positive_gcd_supportentriesvaluation_selected_power)) /\ exists bpvi_q_pvs_positive_gcd_supportentriesvaluation_selected_power_start. bpvi_u_pvs_positive_gcd_supportentriesvaluation_selected_power = bpvi_q_pvs_positive_gcd_supportentriesvaluation_selected_power_start * S ((S (0)) * bpvi_v_pvs_positive_gcd_supportentriesvaluation_selected_power) + (1))) /\ ((((exists bpvi_h_pvs_positive_gcd_supportentriesvaluation_selected_power_terminal. bpvi_h_pvs_positive_gcd_supportentriesvaluation_selected_power_terminal + S (bpvi_result_pvs_positive_gcd_supportentriesvaluation_selected) = S ((S (pvs_exponent_positive_gcd_supportentries)) * bpvi_v_pvs_positive_gcd_supportentriesvaluation_selected_power)) /\ exists bpvi_q_pvs_positive_gcd_supportentriesvaluation_selected_power_terminal. bpvi_u_pvs_positive_gcd_supportentriesvaluation_selected_power = bpvi_q_pvs_positive_gcd_supportentriesvaluation_selected_power_terminal * S ((S (pvs_exponent_positive_gcd_supportentries)) * bpvi_v_pvs_positive_gcd_supportentriesvaluation_selected_power) + (bpvi_result_pvs_positive_gcd_supportentriesvaluation_selected))) /\ forall bpvi_j_pvs_positive_gcd_supportentriesvaluation_selected_power. (exists bpvi_product_gap_pvs_positive_gcd_supportentriesvaluation_selected_power. bpvi_product_gap_pvs_positive_gcd_supportentriesvaluation_selected_power + S bpvi_j_pvs_positive_gcd_supportentriesvaluation_selected_power = pvs_exponent_positive_gcd_supportentries) -> exists bpvi_factor_pvs_positive_gcd_supportentriesvaluation_selected_power bpvi_partial_pvs_positive_gcd_supportentriesvaluation_selected_power bpvi_successor_pvs_positive_gcd_supportentriesvaluation_selected_power. ((((exists bpvi_h_pvs_positive_gcd_supportentriesvaluation_selected_power_factor. bpvi_h_pvs_positive_gcd_supportentriesvaluation_selected_power_factor + S (bpvi_factor_pvs_positive_gcd_supportentriesvaluation_selected_power) = S ((S (bpvi_j_pvs_positive_gcd_supportentriesvaluation_selected_power)) * bpvi_c_pvs_positive_gcd_supportentriesvaluation_selected_power)) /\ exists bpvi_q_pvs_positive_gcd_supportentriesvaluation_selected_power_factor. bpvi_b_pvs_positive_gcd_supportentriesvaluation_selected_power = bpvi_q_pvs_positive_gcd_supportentriesvaluation_selected_power_factor * S ((S (bpvi_j_pvs_positive_gcd_supportentriesvaluation_selected_power)) * bpvi_c_pvs_positive_gcd_supportentriesvaluation_selected_power) + (bpvi_factor_pvs_positive_gcd_supportentriesvaluation_selected_power))) /\ ((((exists bpvi_h_pvs_positive_gcd_supportentriesvaluation_selected_power_partial. bpvi_h_pvs_positive_gcd_supportentriesvaluation_selected_power_partial + S (bpvi_partial_pvs_positive_gcd_supportentriesvaluation_selected_power) = S ((S (bpvi_j_pvs_positive_gcd_supportentriesvaluation_selected_power)) * bpvi_v_pvs_positive_gcd_supportentriesvaluation_selected_power)) /\ exists bpvi_q_pvs_positive_gcd_supportentriesvaluation_selected_power_partial. bpvi_u_pvs_positive_gcd_supportentriesvaluation_selected_power = bpvi_q_pvs_positive_gcd_supportentriesvaluation_selected_power_partial * S ((S (bpvi_j_pvs_positive_gcd_supportentriesvaluation_selected_power)) * bpvi_v_pvs_positive_gcd_supportentriesvaluation_selected_power) + (bpvi_partial_pvs_positive_gcd_supportentriesvaluation_selected_power))) /\ ((((exists bpvi_h_pvs_positive_gcd_supportentriesvaluation_selected_power_successor. bpvi_h_pvs_positive_gcd_supportentriesvaluation_selected_power_successor + S (bpvi_successor_pvs_positive_gcd_supportentriesvaluation_selected_power) = S ((S (S bpvi_j_pvs_positive_gcd_supportentriesvaluation_selected_power)) * bpvi_v_pvs_positive_gcd_supportentriesvaluation_selected_power)) /\ exists bpvi_q_pvs_positive_gcd_supportentriesvaluation_selected_power_successor. bpvi_u_pvs_positive_gcd_supportentriesvaluation_selected_power = bpvi_q_pvs_positive_gcd_supportentriesvaluation_selected_power_successor * S ((S (S bpvi_j_pvs_positive_gcd_supportentriesvaluation_selected_power)) * bpvi_v_pvs_positive_gcd_supportentriesvaluation_selected_power) + (bpvi_successor_pvs_positive_gcd_supportentriesvaluation_selected_power))) /\ bpvi_successor_pvs_positive_gcd_supportentriesvaluation_selected_power = bpvi_partial_pvs_positive_gcd_supportentriesvaluation_selected_power * bpvi_factor_pvs_positive_gcd_supportentriesvaluation_selected_power)))))))) /\ exists bpvi_divisor_factor_pvs_positive_gcd_supportentriesvaluation_selected. n = bpvi_result_pvs_positive_gcd_supportentriesvaluation_selected * bpvi_divisor_factor_pvs_positive_gcd_supportentriesvaluation_selected))) /\ forall bpd_candidate_pvs_positive_gcd_supportentriesvaluation. (exists bpd_gap_pvs_positive_gcd_supportentriesvaluation_candidate_bound. bpd_gap_pvs_positive_gcd_supportentriesvaluation_candidate_bound + (bpd_candidate_pvs_positive_gcd_supportentriesvaluation) = (n)) -> (exists bpvi_result_pvs_positive_gcd_supportentriesvaluation_candidate. ((exists bpvi_b_pvs_positive_gcd_supportentriesvaluation_candidate_power bpvi_c_pvs_positive_gcd_supportentriesvaluation_candidate_power. ((forall bpvi_i_pvs_positive_gcd_supportentriesvaluation_candidate_power. (exists bpvi_repeat_gap_pvs_positive_gcd_supportentriesvaluation_candidate_power. bpvi_repeat_gap_pvs_positive_gcd_supportentriesvaluation_candidate_power + S bpvi_i_pvs_positive_gcd_supportentriesvaluation_candidate_power = bpd_candidate_pvs_positive_gcd_supportentriesvaluation) -> (((exists bpvi_h_pvs_positive_gcd_supportentriesvaluation_candidate_power_repeat. bpvi_h_pvs_positive_gcd_supportentriesvaluation_candidate_power_repeat + S (pvs_prime_positive_gcd_supportentries) = S ((S (bpvi_i_pvs_positive_gcd_supportentriesvaluation_candidate_power)) * bpvi_c_pvs_positive_gcd_supportentriesvaluation_candidate_power)) /\ exists bpvi_q_pvs_positive_gcd_supportentriesvaluation_candidate_power_repeat. bpvi_b_pvs_positive_gcd_supportentriesvaluation_candidate_power = bpvi_q_pvs_positive_gcd_supportentriesvaluation_candidate_power_repeat * S ((S (bpvi_i_pvs_positive_gcd_supportentriesvaluation_candidate_power)) * bpvi_c_pvs_positive_gcd_supportentriesvaluation_candidate_power) + (pvs_prime_positive_gcd_supportentries)))) /\ (exists bpvi_u_pvs_positive_gcd_supportentriesvaluation_candidate_power bpvi_v_pvs_positive_gcd_supportentriesvaluation_candidate_power. ((((exists bpvi_h_pvs_positive_gcd_supportentriesvaluation_candidate_power_start. bpvi_h_pvs_positive_gcd_supportentriesvaluation_candidate_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_positive_gcd_supportentriesvaluation_candidate_power)) /\ exists bpvi_q_pvs_positive_gcd_supportentriesvaluation_candidate_power_start. bpvi_u_pvs_positive_gcd_supportentriesvaluation_candidate_power = bpvi_q_pvs_positive_gcd_supportentriesvaluation_candidate_power_start * S ((S (0)) * bpvi_v_pvs_positive_gcd_supportentriesvaluation_candidate_power) + (1))) /\ ((((exists bpvi_h_pvs_positive_gcd_supportentriesvaluation_candidate_power_terminal. bpvi_h_pvs_positive_gcd_supportentriesvaluation_candidate_power_terminal + S (bpvi_result_pvs_positive_gcd_supportentriesvaluation_candidate) = S ((S (bpd_candidate_pvs_positive_gcd_supportentriesvaluation)) * bpvi_v_pvs_positive_gcd_supportentriesvaluation_candidate_power)) /\ exists bpvi_q_pvs_positive_gcd_supportentriesvaluation_candidate_power_terminal. bpvi_u_pvs_positive_gcd_supportentriesvaluation_candidate_power = bpvi_q_pvs_positive_gcd_supportentriesvaluation_candidate_power_terminal * S ((S (bpd_candidate_pvs_positive_gcd_supportentriesvaluation)) * bpvi_v_pvs_positive_gcd_supportentriesvaluation_candidate_power) + (bpvi_result_pvs_positive_gcd_supportentriesvaluation_candidate))) /\ forall bpvi_j_pvs_positive_gcd_supportentriesvaluation_candidate_power. (exists bpvi_product_gap_pvs_positive_gcd_supportentriesvaluation_candidate_power. bpvi_product_gap_pvs_positive_gcd_supportentriesvaluation_candidate_power + S bpvi_j_pvs_positive_gcd_supportentriesvaluation_candidate_power = bpd_candidate_pvs_positive_gcd_supportentriesvaluation) -> exists bpvi_factor_pvs_positive_gcd_supportentriesvaluation_candidate_power bpvi_partial_pvs_positive_gcd_supportentriesvaluation_candidate_power bpvi_successor_pvs_positive_gcd_supportentriesvaluation_candidate_power. ((((exists bpvi_h_pvs_positive_gcd_supportentriesvaluation_candidate_power_factor. bpvi_h_pvs_positive_gcd_supportentriesvaluation_candidate_power_factor + S (bpvi_factor_pvs_positive_gcd_supportentriesvaluation_candidate_power) = S ((S (bpvi_j_pvs_positive_gcd_supportentriesvaluation_candidate_power)) * bpvi_c_pvs_positive_gcd_supportentriesvaluation_candidate_power)) /\ exists bpvi_q_pvs_positive_gcd_supportentriesvaluation_candidate_power_factor. bpvi_b_pvs_positive_gcd_supportentriesvaluation_candidate_power = bpvi_q_pvs_positive_gcd_supportentriesvaluation_candidate_power_factor * S ((S (bpvi_j_pvs_positive_gcd_supportentriesvaluation_candidate_power)) * bpvi_c_pvs_positive_gcd_supportentriesvaluation_candidate_power) + (bpvi_factor_pvs_positive_gcd_supportentriesvaluation_candidate_power))) /\ ((((exists bpvi_h_pvs_positive_gcd_supportentriesvaluation_candidate_power_partial. bpvi_h_pvs_positive_gcd_supportentriesvaluation_candidate_power_partial + S (bpvi_partial_pvs_positive_gcd_supportentriesvaluation_candidate_power) = S ((S (bpvi_j_pvs_positive_gcd_supportentriesvaluation_candidate_power)) * bpvi_v_pvs_positive_gcd_supportentriesvaluation_candidate_power)) /\ exists bpvi_q_pvs_positive_gcd_supportentriesvaluation_candidate_power_partial. bpvi_u_pvs_positive_gcd_supportentriesvaluation_candidate_power = bpvi_q_pvs_positive_gcd_supportentriesvaluation_candidate_power_partial * S ((S (bpvi_j_pvs_positive_gcd_supportentriesvaluation_candidate_power)) * bpvi_v_pvs_positive_gcd_supportentriesvaluation_candidate_power) + (bpvi_partial_pvs_positive_gcd_supportentriesvaluation_candidate_power))) /\ ((((exists bpvi_h_pvs_positive_gcd_supportentriesvaluation_candidate_power_successor. bpvi_h_pvs_positive_gcd_supportentriesvaluation_candidate_power_successor + S (bpvi_successor_pvs_positive_gcd_supportentriesvaluation_candidate_power) = S ((S (S bpvi_j_pvs_positive_gcd_supportentriesvaluation_candidate_power)) * bpvi_v_pvs_positive_gcd_supportentriesvaluation_candidate_power)) /\ exists bpvi_q_pvs_positive_gcd_supportentriesvaluation_candidate_power_successor. bpvi_u_pvs_positive_gcd_supportentriesvaluation_candidate_power = bpvi_q_pvs_positive_gcd_supportentriesvaluation_candidate_power_successor * S ((S (S bpvi_j_pvs_positive_gcd_supportentriesvaluation_candidate_power)) * bpvi_v_pvs_positive_gcd_supportentriesvaluation_candidate_power) + (bpvi_successor_pvs_positive_gcd_supportentriesvaluation_candidate_power))) /\ bpvi_successor_pvs_positive_gcd_supportentriesvaluation_candidate_power = bpvi_partial_pvs_positive_gcd_supportentriesvaluation_candidate_power * bpvi_factor_pvs_positive_gcd_supportentriesvaluation_candidate_power)))))))) /\ exists bpvi_divisor_factor_pvs_positive_gcd_supportentriesvaluation_candidate. n = bpvi_result_pvs_positive_gcd_supportentriesvaluation_candidate * bpvi_divisor_factor_pvs_positive_gcd_supportentriesvaluation_candidate)) -> (exists bpd_gap_pvs_positive_gcd_supportentriesvaluation_maximal. bpd_gap_pvs_positive_gcd_supportentriesvaluation_maximal + (bpd_candidate_pvs_positive_gcd_supportentriesvaluation) = (pvs_exponent_positive_gcd_supportentries))) /\ (exists pa_b_pvs_positive_gcd_supportentriesvalue pa_c_pvs_positive_gcd_supportentriesvalue. ((forall pa_i_pvs_positive_gcd_supportentriesvalue_repeat. (exists pa_lt_pvs_positive_gcd_supportentriesvalue_repeat_bound. pa_lt_pvs_positive_gcd_supportentriesvalue_repeat_bound + S pa_i_pvs_positive_gcd_supportentriesvalue_repeat = pvs_exponent_positive_gcd_supportentries) -> (((exists pa_h_pvs_positive_gcd_supportentriesvalue_repeat_decoded. pa_h_pvs_positive_gcd_supportentriesvalue_repeat_decoded + S (pvs_prime_positive_gcd_supportentries) = S ((S (pa_i_pvs_positive_gcd_supportentriesvalue_repeat)) * pa_c_pvs_positive_gcd_supportentriesvalue)) /\ exists pa_q_pvs_positive_gcd_supportentriesvalue_repeat_decoded. pa_b_pvs_positive_gcd_supportentriesvalue = pa_q_pvs_positive_gcd_supportentriesvalue_repeat_decoded * S ((S (pa_i_pvs_positive_gcd_supportentriesvalue_repeat)) * pa_c_pvs_positive_gcd_supportentriesvalue) + (pvs_prime_positive_gcd_supportentries)))) /\ (exists pa_u_pvs_positive_gcd_supportentriesvalue_product pa_v_pvs_positive_gcd_supportentriesvalue_product. ((((exists pa_h_pvs_positive_gcd_supportentriesvalue_product_start. pa_h_pvs_positive_gcd_supportentriesvalue_product_start + S (1) = S ((S (0)) * pa_v_pvs_positive_gcd_supportentriesvalue_product)) /\ exists pa_q_pvs_positive_gcd_supportentriesvalue_product_start. pa_u_pvs_positive_gcd_supportentriesvalue_product = pa_q_pvs_positive_gcd_supportentriesvalue_product_start * S ((S (0)) * pa_v_pvs_positive_gcd_supportentriesvalue_product) + (1))) /\ ((((exists pa_h_pvs_positive_gcd_supportentriesvalue_product_terminal. pa_h_pvs_positive_gcd_supportentriesvalue_product_terminal + S (pvs_power_positive_gcd_supportentries) = S ((S (pvs_exponent_positive_gcd_supportentries)) * pa_v_pvs_positive_gcd_supportentriesvalue_product)) /\ exists pa_q_pvs_positive_gcd_supportentriesvalue_product_terminal. pa_u_pvs_positive_gcd_supportentriesvalue_product = pa_q_pvs_positive_gcd_supportentriesvalue_product_terminal * S ((S (pvs_exponent_positive_gcd_supportentries)) * pa_v_pvs_positive_gcd_supportentriesvalue_product) + (pvs_power_positive_gcd_supportentries))) /\ forall pa_i_pvs_positive_gcd_supportentriesvalue_product. (exists pa_lt_pvs_positive_gcd_supportentriesvalue_product_bound. pa_lt_pvs_positive_gcd_supportentriesvalue_product_bound + S pa_i_pvs_positive_gcd_supportentriesvalue_product = pvs_exponent_positive_gcd_supportentries) -> exists pa_p_pvs_positive_gcd_supportentriesvalue_product pa_r_pvs_positive_gcd_supportentriesvalue_product pa_s_pvs_positive_gcd_supportentriesvalue_product. ((((exists pa_h_pvs_positive_gcd_supportentriesvalue_product_factor. pa_h_pvs_positive_gcd_supportentriesvalue_product_factor + S (pa_p_pvs_positive_gcd_supportentriesvalue_product) = S ((S (pa_i_pvs_positive_gcd_supportentriesvalue_product)) * pa_c_pvs_positive_gcd_supportentriesvalue)) /\ exists pa_q_pvs_positive_gcd_supportentriesvalue_product_factor. pa_b_pvs_positive_gcd_supportentriesvalue = pa_q_pvs_positive_gcd_supportentriesvalue_product_factor * S ((S (pa_i_pvs_positive_gcd_supportentriesvalue_product)) * pa_c_pvs_positive_gcd_supportentriesvalue) + (pa_p_pvs_positive_gcd_supportentriesvalue_product))) /\ ((((exists pa_h_pvs_positive_gcd_supportentriesvalue_product_partial. pa_h_pvs_positive_gcd_supportentriesvalue_product_partial + S (pa_r_pvs_positive_gcd_supportentriesvalue_product) = S ((S (pa_i_pvs_positive_gcd_supportentriesvalue_product)) * pa_v_pvs_positive_gcd_supportentriesvalue_product)) /\ exists pa_q_pvs_positive_gcd_supportentriesvalue_product_partial. pa_u_pvs_positive_gcd_supportentriesvalue_product = pa_q_pvs_positive_gcd_supportentriesvalue_product_partial * S ((S (pa_i_pvs_positive_gcd_supportentriesvalue_product)) * pa_v_pvs_positive_gcd_supportentriesvalue_product) + (pa_r_pvs_positive_gcd_supportentriesvalue_product))) /\ ((((exists pa_h_pvs_positive_gcd_supportentriesvalue_product_successor. pa_h_pvs_positive_gcd_supportentriesvalue_product_successor + S (pa_s_pvs_positive_gcd_supportentriesvalue_product) = S ((S (S pa_i_pvs_positive_gcd_supportentriesvalue_product)) * pa_v_pvs_positive_gcd_supportentriesvalue_product)) /\ exists pa_q_pvs_positive_gcd_supportentriesvalue_product_successor. pa_u_pvs_positive_gcd_supportentriesvalue_product = pa_q_pvs_positive_gcd_supportentriesvalue_product_successor * S ((S (S pa_i_pvs_positive_gcd_supportentriesvalue_product)) * pa_v_pvs_positive_gcd_supportentriesvalue_product) + (pa_s_pvs_positive_gcd_supportentriesvalue_product))) /\ pa_s_pvs_positive_gcd_supportentriesvalue_product = pa_r_pvs_positive_gcd_supportentriesvalue_product * pa_p_pvs_positive_gcd_supportentriesvalue_product))))))))))))))))))))) /\ (((forall pvs_divisor_positive_gcd_supportcover. (~((pvs_divisor_positive_gcd_supportcover) = 1) /\ forall pvs_left_positive_gcd_supportcoverprime pvs_right_positive_gcd_supportcoverprime. (pvs_divisor_positive_gcd_supportcover) = pvs_left_positive_gcd_supportcoverprime * pvs_right_positive_gcd_supportcoverprime -> pvs_left_positive_gcd_supportcoverprime = 1 \/ pvs_right_positive_gcd_supportcoverprime = 1) -> (exists pvs_factor_positive_gcd_supportcoverdivides. (n) = (pvs_divisor_positive_gcd_supportcover) * pvs_factor_positive_gcd_supportcoverdivides) -> exists pvs_position_positive_gcd_supportcover. (exists pvs_gap_positive_gcd_supportcoverbound. pvs_gap_positive_gcd_supportcoverbound + S (pvs_position_positive_gcd_supportcover) = (l)) /\ (((exists ff_h_pvs_positive_gcd_supportcoverentry. ff_h_pvs_positive_gcd_supportcoverentry + S (pvs_divisor_positive_gcd_supportcover) = S ((S (pvs_position_positive_gcd_supportcover)) * pc)) /\ exists ff_q_pvs_positive_gcd_supportcoverentry. pb = ff_q_pvs_positive_gcd_supportcoverentry * S ((S (pvs_position_positive_gcd_supportcover)) * pc) + (pvs_divisor_positive_gcd_supportcover)))) /\ (exists ff_u_pvs_positive_gcd_supportproduct ff_v_pvs_positive_gcd_supportproduct. ((((exists ff_h_pvs_positive_gcd_supportproduct_start. ff_h_pvs_positive_gcd_supportproduct_start + S (1) = S ((S (0)) * ff_v_pvs_positive_gcd_supportproduct)) /\ exists ff_q_pvs_positive_gcd_supportproduct_start. ff_u_pvs_positive_gcd_supportproduct = ff_q_pvs_positive_gcd_supportproduct_start * S ((S (0)) * ff_v_pvs_positive_gcd_supportproduct) + (1))) /\ ((((exists ff_h_pvs_positive_gcd_supportproduct_terminal. ff_h_pvs_positive_gcd_supportproduct_terminal + S (n) = S ((S (l)) * ff_v_pvs_positive_gcd_supportproduct)) /\ exists ff_q_pvs_positive_gcd_supportproduct_terminal. ff_u_pvs_positive_gcd_supportproduct = ff_q_pvs_positive_gcd_supportproduct_terminal * S ((S (l)) * ff_v_pvs_positive_gcd_supportproduct) + (n))) /\ forall ff_i_pvs_positive_gcd_supportproduct. (exists ff_lt_pvs_positive_gcd_supportproduct_bound. ff_lt_pvs_positive_gcd_supportproduct_bound + S ff_i_pvs_positive_gcd_supportproduct = l) -> exists ff_p_pvs_positive_gcd_supportproduct ff_r_pvs_positive_gcd_supportproduct ff_s_pvs_positive_gcd_supportproduct. ((((exists ff_h_pvs_positive_gcd_supportproduct_factor. ff_h_pvs_positive_gcd_supportproduct_factor + S (ff_p_pvs_positive_gcd_supportproduct) = S ((S (ff_i_pvs_positive_gcd_supportproduct)) * vc)) /\ exists ff_q_pvs_positive_gcd_supportproduct_factor. vb = ff_q_pvs_positive_gcd_supportproduct_factor * S ((S (ff_i_pvs_positive_gcd_supportproduct)) * vc) + (ff_p_pvs_positive_gcd_supportproduct))) /\ ((((exists ff_h_pvs_positive_gcd_supportproduct_partial. ff_h_pvs_positive_gcd_supportproduct_partial + S (ff_r_pvs_positive_gcd_supportproduct) = S ((S (ff_i_pvs_positive_gcd_supportproduct)) * ff_v_pvs_positive_gcd_supportproduct)) /\ exists ff_q_pvs_positive_gcd_supportproduct_partial. ff_u_pvs_positive_gcd_supportproduct = ff_q_pvs_positive_gcd_supportproduct_partial * S ((S (ff_i_pvs_positive_gcd_supportproduct)) * ff_v_pvs_positive_gcd_supportproduct) + (ff_r_pvs_positive_gcd_supportproduct))) /\ ((((exists ff_h_pvs_positive_gcd_supportproduct_successor. ff_h_pvs_positive_gcd_supportproduct_successor + S (ff_s_pvs_positive_gcd_supportproduct) = S ((S (S ff_i_pvs_positive_gcd_supportproduct)) * ff_v_pvs_positive_gcd_supportproduct)) /\ exists ff_q_pvs_positive_gcd_supportproduct_successor. ff_u_pvs_positive_gcd_supportproduct = ff_q_pvs_positive_gcd_supportproduct_successor * S ((S (S ff_i_pvs_positive_gcd_supportproduct)) * ff_v_pvs_positive_gcd_supportproduct) + (ff_s_pvs_positive_gcd_supportproduct))) /\ ff_s_pvs_positive_gcd_supportproduct = ff_r_pvs_positive_gcd_supportproduct * ff_p_pvs_positive_gcd_supportproduct)))))))))))))) -> ~(n = 1) -> (((forall ppf_index_positive_gcd_graphcommon ppf_entry_positive_gcd_graphcommon. (exists pvs_gap_positive_gcd_graphcommonbound. pvs_gap_positive_gcd_graphcommonbound + S (ppf_index_positive_gcd_graphcommon) = (l)) -> (((exists ff_h_pvs_positive_gcd_graphcommonentry. ff_h_pvs_positive_gcd_graphcommonentry + S (ppf_entry_positive_gcd_graphcommon) = S ((S (ppf_index_positive_gcd_graphcommon)) * ec)) /\ exists ff_q_pvs_positive_gcd_graphcommonentry. eb = ff_q_pvs_positive_gcd_graphcommonentry * S ((S (ppf_index_positive_gcd_graphcommon)) * ec) + (ppf_entry_positive_gcd_graphcommon))) -> (exists pvs_factor_positive_gcd_graphcommondivisor. (ppf_entry_positive_gcd_graphcommon) = (g) * pvs_factor_positive_gcd_graphcommondivisor)) /\ (forall ppf_common_positive_gcd_graph. (forall ppf_index_positive_gcd_graphother ppf_entry_positive_gcd_graphother. (exists pvs_gap_positive_gcd_graphotherbound. pvs_gap_positive_gcd_graphotherbound + S (ppf_index_positive_gcd_graphother) = (l)) -> (((exists ff_h_pvs_positive_gcd_graphotherentry. ff_h_pvs_positive_gcd_graphotherentry + S (ppf_entry_positive_gcd_graphother) = S ((S (ppf_index_positive_gcd_graphother)) * ec)) /\ exists ff_q_pvs_positive_gcd_graphotherentry. eb = ff_q_pvs_positive_gcd_graphotherentry * S ((S (ppf_index_positive_gcd_graphother)) * ec) + (ppf_entry_positive_gcd_graphother))) -> (exists pvs_factor_positive_gcd_graphotherdivisor. (ppf_entry_positive_gcd_graphother) = (ppf_common_positive_gcd_graph) * pvs_factor_positive_gcd_graphotherdivisor)) -> (exists pvs_factor_positive_gcd_graphgreatest. (g) = (ppf_common_positive_gcd_graph) * pvs_factor_positive_gcd_graphgreatest)))) -> ~(g = 0)

Complete tactic proof in conservative notation

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

59 script commands · 14 reading checkpoints · 3 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 n
  2. L2
    intro pb
  3. L3
    intro pc
  4. L4
    intro eb
  5. L5
    intro ec
  6. L6
    intro vb
  7. L7
    intro vc
  8. L8
    intro l
  9. L9
    intro g
  10. L10
    intro hsupport
02Fix variables and assumptionsL11–13

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

  1. L11
    intro hunit
  2. L12
    intro hgcd
  3. L13
    intro hgzero
03Establish hboundL14–23

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply one le of ne zero.

  1. L14
    have hbound : Lt(0,l)Definitions: Lt(0,l)Original native command in the exact edition
  2. L15
    specialize one_le_of_ne_zero (l)
  3. L16
    apply one_le_of_ne_zero
  4. L17
    intro hlzero
  5. L18
    specialize prime_valuation_support_nonempty (n)
  6. L19
    specialize prime_valuation_support_nonempty (pb)
  7. L20
    specialize prime_valuation_support_nonempty (pc)
  8. L21
    specialize prime_valuation_support_nonempty (eb)
  9. L22
    specialize prime_valuation_support_nonempty (ec)
  10. L23
    specialize prime_valuation_support_nonempty (vb)
04Use earlier factsL24–29

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

  1. L24
    specialize prime_valuation_support_nonempty (vc)
  2. L25
    specialize prime_valuation_support_nonempty (l)
  3. L26
    apply prime_valuation_support_nonempty
  4. L27
    exact hsupport
  5. L28
    exact hunit
  6. L29
    exact hlzero
05Separate the logical casesL30–33

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

  1. L30
    cases hsupport
  2. L31
    cases hsupport_right
  3. L32
    cases hsupport_right_right
  4. L33
    cases hsupport_right_right_right
06Establish hrowL34–37

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hsupport right right left.

  1. L34
    have hrow : ∃ p. ∃ e. ∃ v. BetaAt(pb,pc,0,p) ∧ (BetaAt(eb,ec,0,e) ∧ (BetaAt(vb,vc,0,v) ∧ (Prime(p) ∧ (¬e = 0 ∧ (BoundedPowerValuation(p,n,n,e) ∧ Pow(p,e,v))))))Definitions: BetaAt(pb,pc,0,p)BetaAt(eb,ec,0,e)BetaAt(vb,vc,0,v)Prime(p)BoundedPowerValuation(p,n,n,e)Pow(p,e,v)Original native command in the exact edition
  2. L35
    specialize hsupport_right_right_left (0)
  3. L36
    apply hsupport_right_right_left
  4. L37
    exact hbound
07Separate the logical casesL38–47

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

  1. L38
    cases hrow
  2. L39
    cases hrow_witness
  3. L40
    cases hrow_witness_witness
  4. L41
    cases hrow_witness_witness_witness
  5. L42
    cases hrow_witness_witness_witness_right
  6. L43
    cases hrow_witness_witness_witness_right_right
  7. L44
    cases hrow_witness_witness_witness_right_right_right
  8. L45
    cases hrow_witness_witness_witness_right_right_right_right
  9. L46
    cases hrow_witness_witness_witness_right_right_right_right_right
  10. L47
    cases hgcd
08Establish hdivL48–53

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hgcd left.

  1. L48
  2. L49
    specialize hgcd_left (0)
  3. L50
    specialize hgcd_left (x1)
  4. L51
    apply hgcd_left
  5. L52
    exact hbound
  6. L53
    exact hrow_witness_witness_witness_right_left
09Separate the logical casesL54–54

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

  1. L54
    cases hdiv
10Use earlier factsL55–55

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

  1. L55
    apply hrow_witness_witness_witness_right_right_right_right_left
11Calculate and transport equalitiesL56–56

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

  1. L56
    trans g * x3
12Use earlier factsL57–57

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

  1. L57
    exact hdiv_witness
13Calculate and transport equalitiesL58–58

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

  1. L58
    rewrite hgzero
14Use earlier factsL59–59

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

  1. L59
    apply mul_zero_left

Library-wide reading audit

Original defined command ledger · 59 lines
  1. 0001intro n
  2. 0002intro pb
  3. 0003intro pc
  4. 0004intro eb
  5. 0005intro ec
  6. 0006intro vb
  7. 0007intro vc
  8. 0008intro l
  9. 0009intro g
  10. 0010intro hsupport
  11. 0011intro hunit
  12. 0012intro hgcd
  13. 0013intro hgzero
  14. 0014have hbound : Lt(0,l)
  15. 0015specialize one_le_of_ne_zero (l)
  16. 0016apply one_le_of_ne_zero
  17. 0017intro hlzero
  18. 0018specialize prime_valuation_support_nonempty (n)
  19. 0019specialize prime_valuation_support_nonempty (pb)
  20. 0020specialize prime_valuation_support_nonempty (pc)
  21. 0021specialize prime_valuation_support_nonempty (eb)
  22. 0022specialize prime_valuation_support_nonempty (ec)
  23. 0023specialize prime_valuation_support_nonempty (vb)
  24. 0024specialize prime_valuation_support_nonempty (vc)
  25. 0025specialize prime_valuation_support_nonempty (l)
  26. 0026apply prime_valuation_support_nonempty
  27. 0027exact hsupport
  28. 0028exact hunit
  29. 0029exact hlzero
  30. 0030cases hsupport
  31. 0031cases hsupport_right
  32. 0032cases hsupport_right_right
  33. 0033cases hsupport_right_right_right
  34. 0034have hrow : ∃ p. ∃ e. ∃ v. BetaAt(pb,pc,0,p) ∧ (BetaAt(eb,ec,0,e) ∧ (BetaAt(vb,vc,0,v) ∧ (Prime(p) ∧ (¬e = 0 ∧ (BoundedPowerValuation(p,n,n,e)Pow(p,e,v))))))
  35. 0035specialize hsupport_right_right_left (0)
  36. 0036apply hsupport_right_right_left
  37. 0037exact hbound
  38. 0038cases hrow
  39. 0039cases hrow_witness
  40. 0040cases hrow_witness_witness
  41. 0041cases hrow_witness_witness_witness
  42. 0042cases hrow_witness_witness_witness_right
  43. 0043cases hrow_witness_witness_witness_right_right
  44. 0044cases hrow_witness_witness_witness_right_right_right
  45. 0045cases hrow_witness_witness_witness_right_right_right_right
  46. 0046cases hrow_witness_witness_witness_right_right_right_right_right
  47. 0047cases hgcd
  48. 0048have hdiv : Dvd(g,x1)
  49. 0049specialize hgcd_left (0)
  50. 0050specialize hgcd_left (x1)
  51. 0051apply hgcd_left
  52. 0052exact hbound
  53. 0053exact hrow_witness_witness_witness_right_left
  54. 0054cases hdiv
  55. 0055apply hrow_witness_witness_witness_right_right_right_right_left
  56. 0056trans g * x3
  57. 0057exact hdiv_witness
  58. 0058rewrite hgzero
  59. 0059apply mul_zero_left