SK002D

perfect_power_root_table_exists

Alpha v34 independently verified · alpha_closed; checked-use authorized; not Stable

A positive gcd bounds all its positive divisors, so a finite table through index g covers every perfect-power degree.

Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.

Exact expanded first-order arithmetic statement

forall n g. ~(g = 0) -> (forall ppf_degree_complete_table_available. ~(ppf_degree_complete_table_available = 0) -> (exists pvs_factor_complete_table_availabledivisor. (g) = (ppf_degree_complete_table_available) * pvs_factor_complete_table_availabledivisor) -> exists ppf_root_complete_table_available. (exists pa_b_pvs_complete_table_availablepower pa_c_pvs_complete_table_availablepower. ((forall pa_i_pvs_complete_table_availablepower_repeat. (exists pa_lt_pvs_complete_table_availablepower_repeat_bound. pa_lt_pvs_complete_table_availablepower_repeat_bound + S pa_i_pvs_complete_table_availablepower_repeat = ppf_degree_complete_table_available) -> (((exists pa_h_pvs_complete_table_availablepower_repeat_decoded. pa_h_pvs_complete_table_availablepower_repeat_decoded + S (ppf_root_complete_table_available) = S ((S (pa_i_pvs_complete_table_availablepower_repeat)) * pa_c_pvs_complete_table_availablepower)) /\ exists pa_q_pvs_complete_table_availablepower_repeat_decoded. pa_b_pvs_complete_table_availablepower = pa_q_pvs_complete_table_availablepower_repeat_decoded * S ((S (pa_i_pvs_complete_table_availablepower_repeat)) * pa_c_pvs_complete_table_availablepower) + (ppf_root_complete_table_available)))) /\ (exists pa_u_pvs_complete_table_availablepower_product pa_v_pvs_complete_table_availablepower_product. ((((exists pa_h_pvs_complete_table_availablepower_product_start. pa_h_pvs_complete_table_availablepower_product_start + S (1) = S ((S (0)) * pa_v_pvs_complete_table_availablepower_product)) /\ exists pa_q_pvs_complete_table_availablepower_product_start. pa_u_pvs_complete_table_availablepower_product = pa_q_pvs_complete_table_availablepower_product_start * S ((S (0)) * pa_v_pvs_complete_table_availablepower_product) + (1))) /\ ((((exists pa_h_pvs_complete_table_availablepower_product_terminal. pa_h_pvs_complete_table_availablepower_product_terminal + S (n) = S ((S (ppf_degree_complete_table_available)) * pa_v_pvs_complete_table_availablepower_product)) /\ exists pa_q_pvs_complete_table_availablepower_product_terminal. pa_u_pvs_complete_table_availablepower_product = pa_q_pvs_complete_table_availablepower_product_terminal * S ((S (ppf_degree_complete_table_available)) * pa_v_pvs_complete_table_availablepower_product) + (n))) /\ forall pa_i_pvs_complete_table_availablepower_product. (exists pa_lt_pvs_complete_table_availablepower_product_bound. pa_lt_pvs_complete_table_availablepower_product_bound + S pa_i_pvs_complete_table_availablepower_product = ppf_degree_complete_table_available) -> exists pa_p_pvs_complete_table_availablepower_product pa_r_pvs_complete_table_availablepower_product pa_s_pvs_complete_table_availablepower_product. ((((exists pa_h_pvs_complete_table_availablepower_product_factor. pa_h_pvs_complete_table_availablepower_product_factor + S (pa_p_pvs_complete_table_availablepower_product) = S ((S (pa_i_pvs_complete_table_availablepower_product)) * pa_c_pvs_complete_table_availablepower)) /\ exists pa_q_pvs_complete_table_availablepower_product_factor. pa_b_pvs_complete_table_availablepower = pa_q_pvs_complete_table_availablepower_product_factor * S ((S (pa_i_pvs_complete_table_availablepower_product)) * pa_c_pvs_complete_table_availablepower) + (pa_p_pvs_complete_table_availablepower_product))) /\ ((((exists pa_h_pvs_complete_table_availablepower_product_partial. pa_h_pvs_complete_table_availablepower_product_partial + S (pa_r_pvs_complete_table_availablepower_product) = S ((S (pa_i_pvs_complete_table_availablepower_product)) * pa_v_pvs_complete_table_availablepower_product)) /\ exists pa_q_pvs_complete_table_availablepower_product_partial. pa_u_pvs_complete_table_availablepower_product = pa_q_pvs_complete_table_availablepower_product_partial * S ((S (pa_i_pvs_complete_table_availablepower_product)) * pa_v_pvs_complete_table_availablepower_product) + (pa_r_pvs_complete_table_availablepower_product))) /\ ((((exists pa_h_pvs_complete_table_availablepower_product_successor. pa_h_pvs_complete_table_availablepower_product_successor + S (pa_s_pvs_complete_table_availablepower_product) = S ((S (S pa_i_pvs_complete_table_availablepower_product)) * pa_v_pvs_complete_table_availablepower_product)) /\ exists pa_q_pvs_complete_table_availablepower_product_successor. pa_u_pvs_complete_table_availablepower_product = pa_q_pvs_complete_table_availablepower_product_successor * S ((S (S pa_i_pvs_complete_table_availablepower_product)) * pa_v_pvs_complete_table_availablepower_product) + (pa_s_pvs_complete_table_availablepower_product))) /\ pa_s_pvs_complete_table_availablepower_product = pa_r_pvs_complete_table_availablepower_product * pa_p_pvs_complete_table_availablepower_product))))))))) -> exists b c. (forall ppf_table_degree_complete_table. ~(ppf_table_degree_complete_table = 0) -> (exists pvs_factor_complete_tabledivisor. (g) = (ppf_table_degree_complete_table) * pvs_factor_complete_tabledivisor) -> exists ppf_table_root_complete_table. (((exists ff_h_pvs_complete_tableentry. ff_h_pvs_complete_tableentry + S (ppf_table_root_complete_table) = S ((S (ppf_table_degree_complete_table)) * c)) /\ exists ff_q_pvs_complete_tableentry. b = ff_q_pvs_complete_tableentry * S ((S (ppf_table_degree_complete_table)) * c) + (ppf_table_root_complete_table))) /\ (exists pa_b_pvs_complete_tablepower pa_c_pvs_complete_tablepower. ((forall pa_i_pvs_complete_tablepower_repeat. (exists pa_lt_pvs_complete_tablepower_repeat_bound. pa_lt_pvs_complete_tablepower_repeat_bound + S pa_i_pvs_complete_tablepower_repeat = ppf_table_degree_complete_table) -> (((exists pa_h_pvs_complete_tablepower_repeat_decoded. pa_h_pvs_complete_tablepower_repeat_decoded + S (ppf_table_root_complete_table) = S ((S (pa_i_pvs_complete_tablepower_repeat)) * pa_c_pvs_complete_tablepower)) /\ exists pa_q_pvs_complete_tablepower_repeat_decoded. pa_b_pvs_complete_tablepower = pa_q_pvs_complete_tablepower_repeat_decoded * S ((S (pa_i_pvs_complete_tablepower_repeat)) * pa_c_pvs_complete_tablepower) + (ppf_table_root_complete_table)))) /\ (exists pa_u_pvs_complete_tablepower_product pa_v_pvs_complete_tablepower_product. ((((exists pa_h_pvs_complete_tablepower_product_start. pa_h_pvs_complete_tablepower_product_start + S (1) = S ((S (0)) * pa_v_pvs_complete_tablepower_product)) /\ exists pa_q_pvs_complete_tablepower_product_start. pa_u_pvs_complete_tablepower_product = pa_q_pvs_complete_tablepower_product_start * S ((S (0)) * pa_v_pvs_complete_tablepower_product) + (1))) /\ ((((exists pa_h_pvs_complete_tablepower_product_terminal. pa_h_pvs_complete_tablepower_product_terminal + S (n) = S ((S (ppf_table_degree_complete_table)) * pa_v_pvs_complete_tablepower_product)) /\ exists pa_q_pvs_complete_tablepower_product_terminal. pa_u_pvs_complete_tablepower_product = pa_q_pvs_complete_tablepower_product_terminal * S ((S (ppf_table_degree_complete_table)) * pa_v_pvs_complete_tablepower_product) + (n))) /\ forall pa_i_pvs_complete_tablepower_product. (exists pa_lt_pvs_complete_tablepower_product_bound. pa_lt_pvs_complete_tablepower_product_bound + S pa_i_pvs_complete_tablepower_product = ppf_table_degree_complete_table) -> exists pa_p_pvs_complete_tablepower_product pa_r_pvs_complete_tablepower_product pa_s_pvs_complete_tablepower_product. ((((exists pa_h_pvs_complete_tablepower_product_factor. pa_h_pvs_complete_tablepower_product_factor + S (pa_p_pvs_complete_tablepower_product) = S ((S (pa_i_pvs_complete_tablepower_product)) * pa_c_pvs_complete_tablepower)) /\ exists pa_q_pvs_complete_tablepower_product_factor. pa_b_pvs_complete_tablepower = pa_q_pvs_complete_tablepower_product_factor * S ((S (pa_i_pvs_complete_tablepower_product)) * pa_c_pvs_complete_tablepower) + (pa_p_pvs_complete_tablepower_product))) /\ ((((exists pa_h_pvs_complete_tablepower_product_partial. pa_h_pvs_complete_tablepower_product_partial + S (pa_r_pvs_complete_tablepower_product) = S ((S (pa_i_pvs_complete_tablepower_product)) * pa_v_pvs_complete_tablepower_product)) /\ exists pa_q_pvs_complete_tablepower_product_partial. pa_u_pvs_complete_tablepower_product = pa_q_pvs_complete_tablepower_product_partial * S ((S (pa_i_pvs_complete_tablepower_product)) * pa_v_pvs_complete_tablepower_product) + (pa_r_pvs_complete_tablepower_product))) /\ ((((exists pa_h_pvs_complete_tablepower_product_successor. pa_h_pvs_complete_tablepower_product_successor + S (pa_s_pvs_complete_tablepower_product) = S ((S (S pa_i_pvs_complete_tablepower_product)) * pa_v_pvs_complete_tablepower_product)) /\ exists pa_q_pvs_complete_tablepower_product_successor. pa_u_pvs_complete_tablepower_product = pa_q_pvs_complete_tablepower_product_successor * S ((S (S pa_i_pvs_complete_tablepower_product)) * pa_v_pvs_complete_tablepower_product) + (pa_s_pvs_complete_tablepower_product))) /\ pa_s_pvs_complete_tablepower_product = pa_r_pvs_complete_tablepower_product * pa_p_pvs_complete_tablepower_product)))))))))

Constructive proof overview

Generated structural guide

A positive gcd bounds all its positive divisors, so a finite table through index g covers every perfect-power degree.

The unchanged tactic script uses 3 declared prerequisites and contains 29 exact native proof lines.

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

Proof neighborhood

Direct dependencies

SK002C perfect_power_root_table_prefix_exists divisor_le_nonzero Stable theorem; checked-use authorized succ_le_succ Stable theorem; checked-use authorized

Direct dependents

Formal native tactic body

Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.

Read the argument

Proof checkpoints

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

Named ingredients (1)

Long local formulas use this family’s existing definitions. Each new abbreviation was expanded back to the identical native formula, including its free-variable context. The original edition is preserved below.

01Fix variables and assumptionsL1–4

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

  1. L1
    intro n
  2. L2
    intro g
  3. L3
    intro hg
  4. L4
    intro havailable
02Establish htableL5–10

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

  1. L5
    have htable : ∃ b. ∃ c. ∀ x. Lt(x,S g) → ¬x = 0 → Dvd(x,g) → ∃ y. BetaAt(b,c,x,y) ∧ Pow(y,x,n)Definitions: LtDvdBetaAtPow
  2. L6
    specialize perfect_power_root_table_prefix_exists (S g)
  3. L7
    specialize perfect_power_root_table_prefix_exists (n)
  4. L8
    specialize perfect_power_root_table_prefix_exists (g)
  5. L9
    apply perfect_power_root_table_prefix_exists
  6. L10
    exact havailable
03Separate the logical casesL11–12

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

  1. L11
    cases htable
  2. L12
    cases htable_witness
04Construct an explicit witnessL13–14

Supply the displayed value, then prove that it has the required property.

  1. L13
    exists x
  2. L14
    exists x1
05Fix variables and assumptionsL15–17

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

  1. L15
    intro k
  2. L16
    intro hk
  3. L17
    intro hdiv
06Use earlier factsL18–27

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

  1. L18
    specialize htable_witness_witness (k)
  2. L19
    apply htable_witness_witness
  3. L20
    specialize succ_le_succ (k)
  4. L21
    specialize succ_le_succ (g)
  5. L22
    apply succ_le_succ
  6. L23
    specialize divisor_le_nonzero (k)
  7. L24
    specialize divisor_le_nonzero (g)
  8. L25
    apply divisor_le_nonzero
  9. L26
    exact hg
  10. L27
    exact hdiv
07Use earlier factsL28–29

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

  1. L28
    exact hk
  2. L29
    exact hdiv

Library-wide reading audit

Original exact command ledger · 29 lines
  1. 0001intro n
  2. 0002intro g
  3. 0003intro hg
  4. 0004intro havailable
  5. 0005have htable : exists b c. (forall ppf_table_degree_complete_prefix. (exists pvs_gap_complete_prefixbound. pvs_gap_complete_prefixbound + S (ppf_table_degree_complete_prefix) = (S g)) -> ~(ppf_table_degree_complete_prefix = 0) -> (exists pvs_factor_complete_prefixdivisor. (g) = (ppf_table_degree_complete_prefix) * pvs_factor_complete_prefixdivisor) -> exists ppf_table_root_complete_prefix. (((exists ff_h_pvs_complete_prefixentry. ff_h_pvs_complete_prefixentry + S (ppf_table_root_complete_prefix) = S ((S (ppf_table_degree_complete_prefix)) * c)) /\ exists ff_q_pvs_complete_prefixentry. b = ff_q_pvs_complete_prefixentry * S ((S (ppf_table_degree_complete_prefix)) * c) + (ppf_table_root_complete_prefix))) /\ (exists pa_b_pvs_complete_prefixpower pa_c_pvs_complete_prefixpower. ((forall pa_i_pvs_complete_prefixpower_repeat. (exists pa_lt_pvs_complete_prefixpower_repeat_bound. pa_lt_pvs_complete_prefixpower_repeat_bound + S pa_i_pvs_complete_prefixpower_repeat = ppf_table_degree_complete_prefix) -> (((exists pa_h_pvs_complete_prefixpower_repeat_decoded. pa_h_pvs_complete_prefixpower_repeat_decoded + S (ppf_table_root_complete_prefix) = S ((S (pa_i_pvs_complete_prefixpower_repeat)) * pa_c_pvs_complete_prefixpower)) /\ exists pa_q_pvs_complete_prefixpower_repeat_decoded. pa_b_pvs_complete_prefixpower = pa_q_pvs_complete_prefixpower_repeat_decoded * S ((S (pa_i_pvs_complete_prefixpower_repeat)) * pa_c_pvs_complete_prefixpower) + (ppf_table_root_complete_prefix)))) /\ (exists pa_u_pvs_complete_prefixpower_product pa_v_pvs_complete_prefixpower_product. ((((exists pa_h_pvs_complete_prefixpower_product_start. pa_h_pvs_complete_prefixpower_product_start + S (1) = S ((S (0)) * pa_v_pvs_complete_prefixpower_product)) /\ exists pa_q_pvs_complete_prefixpower_product_start. pa_u_pvs_complete_prefixpower_product = pa_q_pvs_complete_prefixpower_product_start * S ((S (0)) * pa_v_pvs_complete_prefixpower_product) + (1))) /\ ((((exists pa_h_pvs_complete_prefixpower_product_terminal. pa_h_pvs_complete_prefixpower_product_terminal + S (n) = S ((S (ppf_table_degree_complete_prefix)) * pa_v_pvs_complete_prefixpower_product)) /\ exists pa_q_pvs_complete_prefixpower_product_terminal. pa_u_pvs_complete_prefixpower_product = pa_q_pvs_complete_prefixpower_product_terminal * S ((S (ppf_table_degree_complete_prefix)) * pa_v_pvs_complete_prefixpower_product) + (n))) /\ forall pa_i_pvs_complete_prefixpower_product. (exists pa_lt_pvs_complete_prefixpower_product_bound. pa_lt_pvs_complete_prefixpower_product_bound + S pa_i_pvs_complete_prefixpower_product = ppf_table_degree_complete_prefix) -> exists pa_p_pvs_complete_prefixpower_product pa_r_pvs_complete_prefixpower_product pa_s_pvs_complete_prefixpower_product. ((((exists pa_h_pvs_complete_prefixpower_product_factor. pa_h_pvs_complete_prefixpower_product_factor + S (pa_p_pvs_complete_prefixpower_product) = S ((S (pa_i_pvs_complete_prefixpower_product)) * pa_c_pvs_complete_prefixpower)) /\ exists pa_q_pvs_complete_prefixpower_product_factor. pa_b_pvs_complete_prefixpower = pa_q_pvs_complete_prefixpower_product_factor * S ((S (pa_i_pvs_complete_prefixpower_product)) * pa_c_pvs_complete_prefixpower) + (pa_p_pvs_complete_prefixpower_product))) /\ ((((exists pa_h_pvs_complete_prefixpower_product_partial. pa_h_pvs_complete_prefixpower_product_partial + S (pa_r_pvs_complete_prefixpower_product) = S ((S (pa_i_pvs_complete_prefixpower_product)) * pa_v_pvs_complete_prefixpower_product)) /\ exists pa_q_pvs_complete_prefixpower_product_partial. pa_u_pvs_complete_prefixpower_product = pa_q_pvs_complete_prefixpower_product_partial * S ((S (pa_i_pvs_complete_prefixpower_product)) * pa_v_pvs_complete_prefixpower_product) + (pa_r_pvs_complete_prefixpower_product))) /\ ((((exists pa_h_pvs_complete_prefixpower_product_successor. pa_h_pvs_complete_prefixpower_product_successor + S (pa_s_pvs_complete_prefixpower_product) = S ((S (S pa_i_pvs_complete_prefixpower_product)) * pa_v_pvs_complete_prefixpower_product)) /\ exists pa_q_pvs_complete_prefixpower_product_successor. pa_u_pvs_complete_prefixpower_product = pa_q_pvs_complete_prefixpower_product_successor * S ((S (S pa_i_pvs_complete_prefixpower_product)) * pa_v_pvs_complete_prefixpower_product) + (pa_s_pvs_complete_prefixpower_product))) /\ pa_s_pvs_complete_prefixpower_product = pa_r_pvs_complete_prefixpower_product * pa_p_pvs_complete_prefixpower_product)))))))))
  6. 0006specialize perfect_power_root_table_prefix_exists (S g)
  7. 0007specialize perfect_power_root_table_prefix_exists (n)
  8. 0008specialize perfect_power_root_table_prefix_exists (g)
  9. 0009apply perfect_power_root_table_prefix_exists
  10. 0010exact havailable
  11. 0011cases htable
  12. 0012cases htable_witness
  13. 0013exists x
  14. 0014exists x1
  15. 0015intro k
  16. 0016intro hk
  17. 0017intro hdiv
  18. 0018specialize htable_witness_witness (k)
  19. 0019apply htable_witness_witness
  20. 0020specialize succ_le_succ (k)
  21. 0021specialize succ_le_succ (g)
  22. 0022apply succ_le_succ
  23. 0023specialize divisor_le_nonzero (k)
  24. 0024specialize divisor_le_nonzero (g)
  25. 0025apply divisor_le_nonzero
  26. 0026exact hg
  27. 0027exact hdiv
  28. 0028exact hk
  29. 0029exact hdiv