SK0029

prime_support_exponent_gcd_roots_available

Each positive divisor of the actual exponent gcd has a constructively available actual root, ready for finite beta tabulation.

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)PrimeExponentPrefixGCD(eb,ec,l,g) → ∀ x. ¬x = 0 → Dvd(x,g) → ∃ y. Pow(y,x,n)

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

Definition DAG

Actual proof prerequisites

Original expanded first-order statement
forall n pb pc eb ec vb vc l g. (((~((n) = 0)) /\ (((forall pfp_i_pvs_available_supportdistinct pfp_j_pvs_available_supportdistinct pfp_a_pvs_available_supportdistinct. (exists pfp_gap_pvs_available_supportdistinctfirst. pfp_gap_pvs_available_supportdistinctfirst + S (pfp_i_pvs_available_supportdistinct) = (l)) -> (exists pfp_gap_pvs_available_supportdistinctsecond. pfp_gap_pvs_available_supportdistinctsecond + S (pfp_j_pvs_available_supportdistinct) = (l)) -> (((exists ff_h_pfp_pvs_available_supportdistinctleft. ff_h_pfp_pvs_available_supportdistinctleft + S (pfp_a_pvs_available_supportdistinct) = S ((S (pfp_i_pvs_available_supportdistinct)) * pc)) /\ exists ff_q_pfp_pvs_available_supportdistinctleft. pb = ff_q_pfp_pvs_available_supportdistinctleft * S ((S (pfp_i_pvs_available_supportdistinct)) * pc) + (pfp_a_pvs_available_supportdistinct))) -> (((exists ff_h_pfp_pvs_available_supportdistinctright. ff_h_pfp_pvs_available_supportdistinctright + S (pfp_a_pvs_available_supportdistinct) = S ((S (pfp_j_pvs_available_supportdistinct)) * pc)) /\ exists ff_q_pfp_pvs_available_supportdistinctright. pb = ff_q_pfp_pvs_available_supportdistinctright * S ((S (pfp_j_pvs_available_supportdistinct)) * pc) + (pfp_a_pvs_available_supportdistinct))) -> pfp_i_pvs_available_supportdistinct = pfp_j_pvs_available_supportdistinct) /\ (((forall pvs_index_available_supportentries. (exists pvs_gap_available_supportentriesindex. pvs_gap_available_supportentriesindex + S (pvs_index_available_supportentries) = (l)) -> exists pvs_prime_available_supportentries pvs_exponent_available_supportentries pvs_power_available_supportentries. (((((exists ff_h_pvs_available_supportentriesprime. ff_h_pvs_available_supportentriesprime + S (pvs_prime_available_supportentries) = S ((S (pvs_index_available_supportentries)) * pc)) /\ exists ff_q_pvs_available_supportentriesprime. pb = ff_q_pvs_available_supportentriesprime * S ((S (pvs_index_available_supportentries)) * pc) + (pvs_prime_available_supportentries))) /\ (((((exists ff_h_pvs_available_supportentriesexponent. ff_h_pvs_available_supportentriesexponent + S (pvs_exponent_available_supportentries) = S ((S (pvs_index_available_supportentries)) * ec)) /\ exists ff_q_pvs_available_supportentriesexponent. eb = ff_q_pvs_available_supportentriesexponent * S ((S (pvs_index_available_supportentries)) * ec) + (pvs_exponent_available_supportentries))) /\ (((((exists ff_h_pvs_available_supportentriespower. ff_h_pvs_available_supportentriespower + S (pvs_power_available_supportentries) = S ((S (pvs_index_available_supportentries)) * vc)) /\ exists ff_q_pvs_available_supportentriespower. vb = ff_q_pvs_available_supportentriespower * S ((S (pvs_index_available_supportentries)) * vc) + (pvs_power_available_supportentries))) /\ (((~((pvs_prime_available_supportentries) = 1) /\ forall pvs_left_available_supportentriesdomain pvs_right_available_supportentriesdomain. (pvs_prime_available_supportentries) = pvs_left_available_supportentriesdomain * pvs_right_available_supportentriesdomain -> pvs_left_available_supportentriesdomain = 1 \/ pvs_right_available_supportentriesdomain = 1) /\ (((~(pvs_exponent_available_supportentries = 0)) /\ (((((exists bpd_gap_pvs_available_supportentriesvaluation_selected_bound. bpd_gap_pvs_available_supportentriesvaluation_selected_bound + (pvs_exponent_available_supportentries) = (n)) /\ (exists bpvi_result_pvs_available_supportentriesvaluation_selected. ((exists bpvi_b_pvs_available_supportentriesvaluation_selected_power bpvi_c_pvs_available_supportentriesvaluation_selected_power. ((forall bpvi_i_pvs_available_supportentriesvaluation_selected_power. (exists bpvi_repeat_gap_pvs_available_supportentriesvaluation_selected_power. bpvi_repeat_gap_pvs_available_supportentriesvaluation_selected_power + S bpvi_i_pvs_available_supportentriesvaluation_selected_power = pvs_exponent_available_supportentries) -> (((exists bpvi_h_pvs_available_supportentriesvaluation_selected_power_repeat. bpvi_h_pvs_available_supportentriesvaluation_selected_power_repeat + S (pvs_prime_available_supportentries) = S ((S (bpvi_i_pvs_available_supportentriesvaluation_selected_power)) * bpvi_c_pvs_available_supportentriesvaluation_selected_power)) /\ exists bpvi_q_pvs_available_supportentriesvaluation_selected_power_repeat. bpvi_b_pvs_available_supportentriesvaluation_selected_power = bpvi_q_pvs_available_supportentriesvaluation_selected_power_repeat * S ((S (bpvi_i_pvs_available_supportentriesvaluation_selected_power)) * bpvi_c_pvs_available_supportentriesvaluation_selected_power) + (pvs_prime_available_supportentries)))) /\ (exists bpvi_u_pvs_available_supportentriesvaluation_selected_power bpvi_v_pvs_available_supportentriesvaluation_selected_power. ((((exists bpvi_h_pvs_available_supportentriesvaluation_selected_power_start. bpvi_h_pvs_available_supportentriesvaluation_selected_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_available_supportentriesvaluation_selected_power)) /\ exists bpvi_q_pvs_available_supportentriesvaluation_selected_power_start. bpvi_u_pvs_available_supportentriesvaluation_selected_power = bpvi_q_pvs_available_supportentriesvaluation_selected_power_start * S ((S (0)) * bpvi_v_pvs_available_supportentriesvaluation_selected_power) + (1))) /\ ((((exists bpvi_h_pvs_available_supportentriesvaluation_selected_power_terminal. bpvi_h_pvs_available_supportentriesvaluation_selected_power_terminal + S (bpvi_result_pvs_available_supportentriesvaluation_selected) = S ((S (pvs_exponent_available_supportentries)) * bpvi_v_pvs_available_supportentriesvaluation_selected_power)) /\ exists bpvi_q_pvs_available_supportentriesvaluation_selected_power_terminal. bpvi_u_pvs_available_supportentriesvaluation_selected_power = bpvi_q_pvs_available_supportentriesvaluation_selected_power_terminal * S ((S (pvs_exponent_available_supportentries)) * bpvi_v_pvs_available_supportentriesvaluation_selected_power) + (bpvi_result_pvs_available_supportentriesvaluation_selected))) /\ forall bpvi_j_pvs_available_supportentriesvaluation_selected_power. (exists bpvi_product_gap_pvs_available_supportentriesvaluation_selected_power. bpvi_product_gap_pvs_available_supportentriesvaluation_selected_power + S bpvi_j_pvs_available_supportentriesvaluation_selected_power = pvs_exponent_available_supportentries) -> exists bpvi_factor_pvs_available_supportentriesvaluation_selected_power bpvi_partial_pvs_available_supportentriesvaluation_selected_power bpvi_successor_pvs_available_supportentriesvaluation_selected_power. ((((exists bpvi_h_pvs_available_supportentriesvaluation_selected_power_factor. bpvi_h_pvs_available_supportentriesvaluation_selected_power_factor + S (bpvi_factor_pvs_available_supportentriesvaluation_selected_power) = S ((S (bpvi_j_pvs_available_supportentriesvaluation_selected_power)) * bpvi_c_pvs_available_supportentriesvaluation_selected_power)) /\ exists bpvi_q_pvs_available_supportentriesvaluation_selected_power_factor. bpvi_b_pvs_available_supportentriesvaluation_selected_power = bpvi_q_pvs_available_supportentriesvaluation_selected_power_factor * S ((S (bpvi_j_pvs_available_supportentriesvaluation_selected_power)) * bpvi_c_pvs_available_supportentriesvaluation_selected_power) + (bpvi_factor_pvs_available_supportentriesvaluation_selected_power))) /\ ((((exists bpvi_h_pvs_available_supportentriesvaluation_selected_power_partial. bpvi_h_pvs_available_supportentriesvaluation_selected_power_partial + S (bpvi_partial_pvs_available_supportentriesvaluation_selected_power) = S ((S (bpvi_j_pvs_available_supportentriesvaluation_selected_power)) * bpvi_v_pvs_available_supportentriesvaluation_selected_power)) /\ exists bpvi_q_pvs_available_supportentriesvaluation_selected_power_partial. bpvi_u_pvs_available_supportentriesvaluation_selected_power = bpvi_q_pvs_available_supportentriesvaluation_selected_power_partial * S ((S (bpvi_j_pvs_available_supportentriesvaluation_selected_power)) * bpvi_v_pvs_available_supportentriesvaluation_selected_power) + (bpvi_partial_pvs_available_supportentriesvaluation_selected_power))) /\ ((((exists bpvi_h_pvs_available_supportentriesvaluation_selected_power_successor. bpvi_h_pvs_available_supportentriesvaluation_selected_power_successor + S (bpvi_successor_pvs_available_supportentriesvaluation_selected_power) = S ((S (S bpvi_j_pvs_available_supportentriesvaluation_selected_power)) * bpvi_v_pvs_available_supportentriesvaluation_selected_power)) /\ exists bpvi_q_pvs_available_supportentriesvaluation_selected_power_successor. bpvi_u_pvs_available_supportentriesvaluation_selected_power = bpvi_q_pvs_available_supportentriesvaluation_selected_power_successor * S ((S (S bpvi_j_pvs_available_supportentriesvaluation_selected_power)) * bpvi_v_pvs_available_supportentriesvaluation_selected_power) + (bpvi_successor_pvs_available_supportentriesvaluation_selected_power))) /\ bpvi_successor_pvs_available_supportentriesvaluation_selected_power = bpvi_partial_pvs_available_supportentriesvaluation_selected_power * bpvi_factor_pvs_available_supportentriesvaluation_selected_power)))))))) /\ exists bpvi_divisor_factor_pvs_available_supportentriesvaluation_selected. n = bpvi_result_pvs_available_supportentriesvaluation_selected * bpvi_divisor_factor_pvs_available_supportentriesvaluation_selected))) /\ forall bpd_candidate_pvs_available_supportentriesvaluation. (exists bpd_gap_pvs_available_supportentriesvaluation_candidate_bound. bpd_gap_pvs_available_supportentriesvaluation_candidate_bound + (bpd_candidate_pvs_available_supportentriesvaluation) = (n)) -> (exists bpvi_result_pvs_available_supportentriesvaluation_candidate. ((exists bpvi_b_pvs_available_supportentriesvaluation_candidate_power bpvi_c_pvs_available_supportentriesvaluation_candidate_power. ((forall bpvi_i_pvs_available_supportentriesvaluation_candidate_power. (exists bpvi_repeat_gap_pvs_available_supportentriesvaluation_candidate_power. bpvi_repeat_gap_pvs_available_supportentriesvaluation_candidate_power + S bpvi_i_pvs_available_supportentriesvaluation_candidate_power = bpd_candidate_pvs_available_supportentriesvaluation) -> (((exists bpvi_h_pvs_available_supportentriesvaluation_candidate_power_repeat. bpvi_h_pvs_available_supportentriesvaluation_candidate_power_repeat + S (pvs_prime_available_supportentries) = S ((S (bpvi_i_pvs_available_supportentriesvaluation_candidate_power)) * bpvi_c_pvs_available_supportentriesvaluation_candidate_power)) /\ exists bpvi_q_pvs_available_supportentriesvaluation_candidate_power_repeat. bpvi_b_pvs_available_supportentriesvaluation_candidate_power = bpvi_q_pvs_available_supportentriesvaluation_candidate_power_repeat * S ((S (bpvi_i_pvs_available_supportentriesvaluation_candidate_power)) * bpvi_c_pvs_available_supportentriesvaluation_candidate_power) + (pvs_prime_available_supportentries)))) /\ (exists bpvi_u_pvs_available_supportentriesvaluation_candidate_power bpvi_v_pvs_available_supportentriesvaluation_candidate_power. ((((exists bpvi_h_pvs_available_supportentriesvaluation_candidate_power_start. bpvi_h_pvs_available_supportentriesvaluation_candidate_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_available_supportentriesvaluation_candidate_power)) /\ exists bpvi_q_pvs_available_supportentriesvaluation_candidate_power_start. bpvi_u_pvs_available_supportentriesvaluation_candidate_power = bpvi_q_pvs_available_supportentriesvaluation_candidate_power_start * S ((S (0)) * bpvi_v_pvs_available_supportentriesvaluation_candidate_power) + (1))) /\ ((((exists bpvi_h_pvs_available_supportentriesvaluation_candidate_power_terminal. bpvi_h_pvs_available_supportentriesvaluation_candidate_power_terminal + S (bpvi_result_pvs_available_supportentriesvaluation_candidate) = S ((S (bpd_candidate_pvs_available_supportentriesvaluation)) * bpvi_v_pvs_available_supportentriesvaluation_candidate_power)) /\ exists bpvi_q_pvs_available_supportentriesvaluation_candidate_power_terminal. bpvi_u_pvs_available_supportentriesvaluation_candidate_power = bpvi_q_pvs_available_supportentriesvaluation_candidate_power_terminal * S ((S (bpd_candidate_pvs_available_supportentriesvaluation)) * bpvi_v_pvs_available_supportentriesvaluation_candidate_power) + (bpvi_result_pvs_available_supportentriesvaluation_candidate))) /\ forall bpvi_j_pvs_available_supportentriesvaluation_candidate_power. (exists bpvi_product_gap_pvs_available_supportentriesvaluation_candidate_power. bpvi_product_gap_pvs_available_supportentriesvaluation_candidate_power + S bpvi_j_pvs_available_supportentriesvaluation_candidate_power = bpd_candidate_pvs_available_supportentriesvaluation) -> exists bpvi_factor_pvs_available_supportentriesvaluation_candidate_power bpvi_partial_pvs_available_supportentriesvaluation_candidate_power bpvi_successor_pvs_available_supportentriesvaluation_candidate_power. ((((exists bpvi_h_pvs_available_supportentriesvaluation_candidate_power_factor. bpvi_h_pvs_available_supportentriesvaluation_candidate_power_factor + S (bpvi_factor_pvs_available_supportentriesvaluation_candidate_power) = S ((S (bpvi_j_pvs_available_supportentriesvaluation_candidate_power)) * bpvi_c_pvs_available_supportentriesvaluation_candidate_power)) /\ exists bpvi_q_pvs_available_supportentriesvaluation_candidate_power_factor. bpvi_b_pvs_available_supportentriesvaluation_candidate_power = bpvi_q_pvs_available_supportentriesvaluation_candidate_power_factor * S ((S (bpvi_j_pvs_available_supportentriesvaluation_candidate_power)) * bpvi_c_pvs_available_supportentriesvaluation_candidate_power) + (bpvi_factor_pvs_available_supportentriesvaluation_candidate_power))) /\ ((((exists bpvi_h_pvs_available_supportentriesvaluation_candidate_power_partial. bpvi_h_pvs_available_supportentriesvaluation_candidate_power_partial + S (bpvi_partial_pvs_available_supportentriesvaluation_candidate_power) = S ((S (bpvi_j_pvs_available_supportentriesvaluation_candidate_power)) * bpvi_v_pvs_available_supportentriesvaluation_candidate_power)) /\ exists bpvi_q_pvs_available_supportentriesvaluation_candidate_power_partial. bpvi_u_pvs_available_supportentriesvaluation_candidate_power = bpvi_q_pvs_available_supportentriesvaluation_candidate_power_partial * S ((S (bpvi_j_pvs_available_supportentriesvaluation_candidate_power)) * bpvi_v_pvs_available_supportentriesvaluation_candidate_power) + (bpvi_partial_pvs_available_supportentriesvaluation_candidate_power))) /\ ((((exists bpvi_h_pvs_available_supportentriesvaluation_candidate_power_successor. bpvi_h_pvs_available_supportentriesvaluation_candidate_power_successor + S (bpvi_successor_pvs_available_supportentriesvaluation_candidate_power) = S ((S (S bpvi_j_pvs_available_supportentriesvaluation_candidate_power)) * bpvi_v_pvs_available_supportentriesvaluation_candidate_power)) /\ exists bpvi_q_pvs_available_supportentriesvaluation_candidate_power_successor. bpvi_u_pvs_available_supportentriesvaluation_candidate_power = bpvi_q_pvs_available_supportentriesvaluation_candidate_power_successor * S ((S (S bpvi_j_pvs_available_supportentriesvaluation_candidate_power)) * bpvi_v_pvs_available_supportentriesvaluation_candidate_power) + (bpvi_successor_pvs_available_supportentriesvaluation_candidate_power))) /\ bpvi_successor_pvs_available_supportentriesvaluation_candidate_power = bpvi_partial_pvs_available_supportentriesvaluation_candidate_power * bpvi_factor_pvs_available_supportentriesvaluation_candidate_power)))))))) /\ exists bpvi_divisor_factor_pvs_available_supportentriesvaluation_candidate. n = bpvi_result_pvs_available_supportentriesvaluation_candidate * bpvi_divisor_factor_pvs_available_supportentriesvaluation_candidate)) -> (exists bpd_gap_pvs_available_supportentriesvaluation_maximal. bpd_gap_pvs_available_supportentriesvaluation_maximal + (bpd_candidate_pvs_available_supportentriesvaluation) = (pvs_exponent_available_supportentries))) /\ (exists pa_b_pvs_available_supportentriesvalue pa_c_pvs_available_supportentriesvalue. ((forall pa_i_pvs_available_supportentriesvalue_repeat. (exists pa_lt_pvs_available_supportentriesvalue_repeat_bound. pa_lt_pvs_available_supportentriesvalue_repeat_bound + S pa_i_pvs_available_supportentriesvalue_repeat = pvs_exponent_available_supportentries) -> (((exists pa_h_pvs_available_supportentriesvalue_repeat_decoded. pa_h_pvs_available_supportentriesvalue_repeat_decoded + S (pvs_prime_available_supportentries) = S ((S (pa_i_pvs_available_supportentriesvalue_repeat)) * pa_c_pvs_available_supportentriesvalue)) /\ exists pa_q_pvs_available_supportentriesvalue_repeat_decoded. pa_b_pvs_available_supportentriesvalue = pa_q_pvs_available_supportentriesvalue_repeat_decoded * S ((S (pa_i_pvs_available_supportentriesvalue_repeat)) * pa_c_pvs_available_supportentriesvalue) + (pvs_prime_available_supportentries)))) /\ (exists pa_u_pvs_available_supportentriesvalue_product pa_v_pvs_available_supportentriesvalue_product. ((((exists pa_h_pvs_available_supportentriesvalue_product_start. pa_h_pvs_available_supportentriesvalue_product_start + S (1) = S ((S (0)) * pa_v_pvs_available_supportentriesvalue_product)) /\ exists pa_q_pvs_available_supportentriesvalue_product_start. pa_u_pvs_available_supportentriesvalue_product = pa_q_pvs_available_supportentriesvalue_product_start * S ((S (0)) * pa_v_pvs_available_supportentriesvalue_product) + (1))) /\ ((((exists pa_h_pvs_available_supportentriesvalue_product_terminal. pa_h_pvs_available_supportentriesvalue_product_terminal + S (pvs_power_available_supportentries) = S ((S (pvs_exponent_available_supportentries)) * pa_v_pvs_available_supportentriesvalue_product)) /\ exists pa_q_pvs_available_supportentriesvalue_product_terminal. pa_u_pvs_available_supportentriesvalue_product = pa_q_pvs_available_supportentriesvalue_product_terminal * S ((S (pvs_exponent_available_supportentries)) * pa_v_pvs_available_supportentriesvalue_product) + (pvs_power_available_supportentries))) /\ forall pa_i_pvs_available_supportentriesvalue_product. (exists pa_lt_pvs_available_supportentriesvalue_product_bound. pa_lt_pvs_available_supportentriesvalue_product_bound + S pa_i_pvs_available_supportentriesvalue_product = pvs_exponent_available_supportentries) -> exists pa_p_pvs_available_supportentriesvalue_product pa_r_pvs_available_supportentriesvalue_product pa_s_pvs_available_supportentriesvalue_product. ((((exists pa_h_pvs_available_supportentriesvalue_product_factor. pa_h_pvs_available_supportentriesvalue_product_factor + S (pa_p_pvs_available_supportentriesvalue_product) = S ((S (pa_i_pvs_available_supportentriesvalue_product)) * pa_c_pvs_available_supportentriesvalue)) /\ exists pa_q_pvs_available_supportentriesvalue_product_factor. pa_b_pvs_available_supportentriesvalue = pa_q_pvs_available_supportentriesvalue_product_factor * S ((S (pa_i_pvs_available_supportentriesvalue_product)) * pa_c_pvs_available_supportentriesvalue) + (pa_p_pvs_available_supportentriesvalue_product))) /\ ((((exists pa_h_pvs_available_supportentriesvalue_product_partial. pa_h_pvs_available_supportentriesvalue_product_partial + S (pa_r_pvs_available_supportentriesvalue_product) = S ((S (pa_i_pvs_available_supportentriesvalue_product)) * pa_v_pvs_available_supportentriesvalue_product)) /\ exists pa_q_pvs_available_supportentriesvalue_product_partial. pa_u_pvs_available_supportentriesvalue_product = pa_q_pvs_available_supportentriesvalue_product_partial * S ((S (pa_i_pvs_available_supportentriesvalue_product)) * pa_v_pvs_available_supportentriesvalue_product) + (pa_r_pvs_available_supportentriesvalue_product))) /\ ((((exists pa_h_pvs_available_supportentriesvalue_product_successor. pa_h_pvs_available_supportentriesvalue_product_successor + S (pa_s_pvs_available_supportentriesvalue_product) = S ((S (S pa_i_pvs_available_supportentriesvalue_product)) * pa_v_pvs_available_supportentriesvalue_product)) /\ exists pa_q_pvs_available_supportentriesvalue_product_successor. pa_u_pvs_available_supportentriesvalue_product = pa_q_pvs_available_supportentriesvalue_product_successor * S ((S (S pa_i_pvs_available_supportentriesvalue_product)) * pa_v_pvs_available_supportentriesvalue_product) + (pa_s_pvs_available_supportentriesvalue_product))) /\ pa_s_pvs_available_supportentriesvalue_product = pa_r_pvs_available_supportentriesvalue_product * pa_p_pvs_available_supportentriesvalue_product))))))))))))))))))))) /\ (((forall pvs_divisor_available_supportcover. (~((pvs_divisor_available_supportcover) = 1) /\ forall pvs_left_available_supportcoverprime pvs_right_available_supportcoverprime. (pvs_divisor_available_supportcover) = pvs_left_available_supportcoverprime * pvs_right_available_supportcoverprime -> pvs_left_available_supportcoverprime = 1 \/ pvs_right_available_supportcoverprime = 1) -> (exists pvs_factor_available_supportcoverdivides. (n) = (pvs_divisor_available_supportcover) * pvs_factor_available_supportcoverdivides) -> exists pvs_position_available_supportcover. (exists pvs_gap_available_supportcoverbound. pvs_gap_available_supportcoverbound + S (pvs_position_available_supportcover) = (l)) /\ (((exists ff_h_pvs_available_supportcoverentry. ff_h_pvs_available_supportcoverentry + S (pvs_divisor_available_supportcover) = S ((S (pvs_position_available_supportcover)) * pc)) /\ exists ff_q_pvs_available_supportcoverentry. pb = ff_q_pvs_available_supportcoverentry * S ((S (pvs_position_available_supportcover)) * pc) + (pvs_divisor_available_supportcover)))) /\ (exists ff_u_pvs_available_supportproduct ff_v_pvs_available_supportproduct. ((((exists ff_h_pvs_available_supportproduct_start. ff_h_pvs_available_supportproduct_start + S (1) = S ((S (0)) * ff_v_pvs_available_supportproduct)) /\ exists ff_q_pvs_available_supportproduct_start. ff_u_pvs_available_supportproduct = ff_q_pvs_available_supportproduct_start * S ((S (0)) * ff_v_pvs_available_supportproduct) + (1))) /\ ((((exists ff_h_pvs_available_supportproduct_terminal. ff_h_pvs_available_supportproduct_terminal + S (n) = S ((S (l)) * ff_v_pvs_available_supportproduct)) /\ exists ff_q_pvs_available_supportproduct_terminal. ff_u_pvs_available_supportproduct = ff_q_pvs_available_supportproduct_terminal * S ((S (l)) * ff_v_pvs_available_supportproduct) + (n))) /\ forall ff_i_pvs_available_supportproduct. (exists ff_lt_pvs_available_supportproduct_bound. ff_lt_pvs_available_supportproduct_bound + S ff_i_pvs_available_supportproduct = l) -> exists ff_p_pvs_available_supportproduct ff_r_pvs_available_supportproduct ff_s_pvs_available_supportproduct. ((((exists ff_h_pvs_available_supportproduct_factor. ff_h_pvs_available_supportproduct_factor + S (ff_p_pvs_available_supportproduct) = S ((S (ff_i_pvs_available_supportproduct)) * vc)) /\ exists ff_q_pvs_available_supportproduct_factor. vb = ff_q_pvs_available_supportproduct_factor * S ((S (ff_i_pvs_available_supportproduct)) * vc) + (ff_p_pvs_available_supportproduct))) /\ ((((exists ff_h_pvs_available_supportproduct_partial. ff_h_pvs_available_supportproduct_partial + S (ff_r_pvs_available_supportproduct) = S ((S (ff_i_pvs_available_supportproduct)) * ff_v_pvs_available_supportproduct)) /\ exists ff_q_pvs_available_supportproduct_partial. ff_u_pvs_available_supportproduct = ff_q_pvs_available_supportproduct_partial * S ((S (ff_i_pvs_available_supportproduct)) * ff_v_pvs_available_supportproduct) + (ff_r_pvs_available_supportproduct))) /\ ((((exists ff_h_pvs_available_supportproduct_successor. ff_h_pvs_available_supportproduct_successor + S (ff_s_pvs_available_supportproduct) = S ((S (S ff_i_pvs_available_supportproduct)) * ff_v_pvs_available_supportproduct)) /\ exists ff_q_pvs_available_supportproduct_successor. ff_u_pvs_available_supportproduct = ff_q_pvs_available_supportproduct_successor * S ((S (S ff_i_pvs_available_supportproduct)) * ff_v_pvs_available_supportproduct) + (ff_s_pvs_available_supportproduct))) /\ ff_s_pvs_available_supportproduct = ff_r_pvs_available_supportproduct * ff_p_pvs_available_supportproduct)))))))))))))) -> (((forall ppf_index_available_gcdcommon ppf_entry_available_gcdcommon. (exists pvs_gap_available_gcdcommonbound. pvs_gap_available_gcdcommonbound + S (ppf_index_available_gcdcommon) = (l)) -> (((exists ff_h_pvs_available_gcdcommonentry. ff_h_pvs_available_gcdcommonentry + S (ppf_entry_available_gcdcommon) = S ((S (ppf_index_available_gcdcommon)) * ec)) /\ exists ff_q_pvs_available_gcdcommonentry. eb = ff_q_pvs_available_gcdcommonentry * S ((S (ppf_index_available_gcdcommon)) * ec) + (ppf_entry_available_gcdcommon))) -> (exists pvs_factor_available_gcdcommondivisor. (ppf_entry_available_gcdcommon) = (g) * pvs_factor_available_gcdcommondivisor)) /\ (forall ppf_common_available_gcd. (forall ppf_index_available_gcdother ppf_entry_available_gcdother. (exists pvs_gap_available_gcdotherbound. pvs_gap_available_gcdotherbound + S (ppf_index_available_gcdother) = (l)) -> (((exists ff_h_pvs_available_gcdotherentry. ff_h_pvs_available_gcdotherentry + S (ppf_entry_available_gcdother) = S ((S (ppf_index_available_gcdother)) * ec)) /\ exists ff_q_pvs_available_gcdotherentry. eb = ff_q_pvs_available_gcdotherentry * S ((S (ppf_index_available_gcdother)) * ec) + (ppf_entry_available_gcdother))) -> (exists pvs_factor_available_gcdotherdivisor. (ppf_entry_available_gcdother) = (ppf_common_available_gcd) * pvs_factor_available_gcdotherdivisor)) -> (exists pvs_factor_available_gcdgreatest. (g) = (ppf_common_available_gcd) * pvs_factor_available_gcdgreatest)))) -> (forall ppf_degree_available_roots. ~(ppf_degree_available_roots = 0) -> (exists pvs_factor_available_rootsdivisor. (g) = (ppf_degree_available_roots) * pvs_factor_available_rootsdivisor) -> exists ppf_root_available_roots. (exists pa_b_pvs_available_rootspower pa_c_pvs_available_rootspower. ((forall pa_i_pvs_available_rootspower_repeat. (exists pa_lt_pvs_available_rootspower_repeat_bound. pa_lt_pvs_available_rootspower_repeat_bound + S pa_i_pvs_available_rootspower_repeat = ppf_degree_available_roots) -> (((exists pa_h_pvs_available_rootspower_repeat_decoded. pa_h_pvs_available_rootspower_repeat_decoded + S (ppf_root_available_roots) = S ((S (pa_i_pvs_available_rootspower_repeat)) * pa_c_pvs_available_rootspower)) /\ exists pa_q_pvs_available_rootspower_repeat_decoded. pa_b_pvs_available_rootspower = pa_q_pvs_available_rootspower_repeat_decoded * S ((S (pa_i_pvs_available_rootspower_repeat)) * pa_c_pvs_available_rootspower) + (ppf_root_available_roots)))) /\ (exists pa_u_pvs_available_rootspower_product pa_v_pvs_available_rootspower_product. ((((exists pa_h_pvs_available_rootspower_product_start. pa_h_pvs_available_rootspower_product_start + S (1) = S ((S (0)) * pa_v_pvs_available_rootspower_product)) /\ exists pa_q_pvs_available_rootspower_product_start. pa_u_pvs_available_rootspower_product = pa_q_pvs_available_rootspower_product_start * S ((S (0)) * pa_v_pvs_available_rootspower_product) + (1))) /\ ((((exists pa_h_pvs_available_rootspower_product_terminal. pa_h_pvs_available_rootspower_product_terminal + S (n) = S ((S (ppf_degree_available_roots)) * pa_v_pvs_available_rootspower_product)) /\ exists pa_q_pvs_available_rootspower_product_terminal. pa_u_pvs_available_rootspower_product = pa_q_pvs_available_rootspower_product_terminal * S ((S (ppf_degree_available_roots)) * pa_v_pvs_available_rootspower_product) + (n))) /\ forall pa_i_pvs_available_rootspower_product. (exists pa_lt_pvs_available_rootspower_product_bound. pa_lt_pvs_available_rootspower_product_bound + S pa_i_pvs_available_rootspower_product = ppf_degree_available_roots) -> exists pa_p_pvs_available_rootspower_product pa_r_pvs_available_rootspower_product pa_s_pvs_available_rootspower_product. ((((exists pa_h_pvs_available_rootspower_product_factor. pa_h_pvs_available_rootspower_product_factor + S (pa_p_pvs_available_rootspower_product) = S ((S (pa_i_pvs_available_rootspower_product)) * pa_c_pvs_available_rootspower)) /\ exists pa_q_pvs_available_rootspower_product_factor. pa_b_pvs_available_rootspower = pa_q_pvs_available_rootspower_product_factor * S ((S (pa_i_pvs_available_rootspower_product)) * pa_c_pvs_available_rootspower) + (pa_p_pvs_available_rootspower_product))) /\ ((((exists pa_h_pvs_available_rootspower_product_partial. pa_h_pvs_available_rootspower_product_partial + S (pa_r_pvs_available_rootspower_product) = S ((S (pa_i_pvs_available_rootspower_product)) * pa_v_pvs_available_rootspower_product)) /\ exists pa_q_pvs_available_rootspower_product_partial. pa_u_pvs_available_rootspower_product = pa_q_pvs_available_rootspower_product_partial * S ((S (pa_i_pvs_available_rootspower_product)) * pa_v_pvs_available_rootspower_product) + (pa_r_pvs_available_rootspower_product))) /\ ((((exists pa_h_pvs_available_rootspower_product_successor. pa_h_pvs_available_rootspower_product_successor + S (pa_s_pvs_available_rootspower_product) = S ((S (S pa_i_pvs_available_rootspower_product)) * pa_v_pvs_available_rootspower_product)) /\ exists pa_q_pvs_available_rootspower_product_successor. pa_u_pvs_available_rootspower_product = pa_q_pvs_available_rootspower_product_successor * S ((S (S pa_i_pvs_available_rootspower_product)) * pa_v_pvs_available_rootspower_product) + (pa_s_pvs_available_rootspower_product))) /\ pa_s_pvs_available_rootspower_product = pa_r_pvs_available_rootspower_product * pa_p_pvs_available_rootspower_product)))))))))

Complete tactic proof in conservative notation

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

32 script commands · 6 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.

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

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

  1. L11
    intro hgcd
  2. L12
    intro k
  3. L13
    intro hk
  4. L14
    intro hdiv
03Establish hiffL15–24

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

  1. L15
    have hiff : ((∃ x. Pow(x,k,n)) → Dvd(k,g)) ∧ (Dvd(k,g) → ∃ x. Pow(x,k,n))Definitions: Pow(x,k,n)Dvd(k,g)Original native command in the exact edition
  2. L16
    specialize prime_support_perfect_power_iff_degree_divides (n)
  3. L17
    specialize prime_support_perfect_power_iff_degree_divides (pb)
  4. L18
    specialize prime_support_perfect_power_iff_degree_divides (pc)
  5. L19
    specialize prime_support_perfect_power_iff_degree_divides (eb)
  6. L20
    specialize prime_support_perfect_power_iff_degree_divides (ec)
  7. L21
    specialize prime_support_perfect_power_iff_degree_divides (vb)
  8. L22
    specialize prime_support_perfect_power_iff_degree_divides (vc)
  9. L23
    specialize prime_support_perfect_power_iff_degree_divides (l)
  10. L24
    specialize prime_support_perfect_power_iff_degree_divides (g)
04Use earlier factsL25–29

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

  1. L25
    specialize prime_support_perfect_power_iff_degree_divides (k)
  2. L26
    apply prime_support_perfect_power_iff_degree_divides
  3. L27
    exact hsupport
  4. L28
    exact hgcd
  5. L29
    exact hk
05Separate the logical casesL30–30

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

  1. L30
    cases hiff
06Use earlier factsL31–32

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

  1. L31
    apply hiff_right
  2. L32
    exact hdiv

Library-wide reading audit

Original defined command ledger · 32 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 hgcd
  12. 0012intro k
  13. 0013intro hk
  14. 0014intro hdiv
  15. 0015have hiff : ((∃ x. Pow(x,k,n)) → Dvd(k,g)) ∧ (Dvd(k,g) → ∃ x. Pow(x,k,n))
  16. 0016specialize prime_support_perfect_power_iff_degree_divides (n)
  17. 0017specialize prime_support_perfect_power_iff_degree_divides (pb)
  18. 0018specialize prime_support_perfect_power_iff_degree_divides (pc)
  19. 0019specialize prime_support_perfect_power_iff_degree_divides (eb)
  20. 0020specialize prime_support_perfect_power_iff_degree_divides (ec)
  21. 0021specialize prime_support_perfect_power_iff_degree_divides (vb)
  22. 0022specialize prime_support_perfect_power_iff_degree_divides (vc)
  23. 0023specialize prime_support_perfect_power_iff_degree_divides (l)
  24. 0024specialize prime_support_perfect_power_iff_degree_divides (g)
  25. 0025specialize prime_support_perfect_power_iff_degree_divides (k)
  26. 0026apply prime_support_perfect_power_iff_degree_divides
  27. 0027exact hsupport
  28. 0028exact hgcd
  29. 0029exact hk
  30. 0030cases hiff
  31. 0031apply hiff_right
  32. 0032exact hdiv