SK001C

prime_exponent_common_divisor_successor

A common divisor and its actual final divisibility witness extend to the entire successor prefix.

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

∀ b. ∀ c. ∀ l. ∀ d. ∀ v. (∀ x. ∀ y. Lt(x,l)BetaAt(b,c,x,y)Dvd(d,y)) → BetaAt(b,c,l,v)Dvd(d,v) → ∀ x. ∀ y. Lt(x,S l)BetaAt(b,c,x,y)Dvd(d,y)

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

Definition DAG

Actual proof prerequisites

finite_lt_succ_eq_or_lt · checked external prerequisitebeta_at_unique · checked external prerequisite
Original expanded first-order statement
forall b c l d v. (forall ppf_index_common_old ppf_entry_common_old. (exists pvs_gap_common_oldbound. pvs_gap_common_oldbound + S (ppf_index_common_old) = (l)) -> (((exists ff_h_pvs_common_oldentry. ff_h_pvs_common_oldentry + S (ppf_entry_common_old) = S ((S (ppf_index_common_old)) * c)) /\ exists ff_q_pvs_common_oldentry. b = ff_q_pvs_common_oldentry * S ((S (ppf_index_common_old)) * c) + (ppf_entry_common_old))) -> (exists pvs_factor_common_olddivisor. (ppf_entry_common_old) = (d) * pvs_factor_common_olddivisor)) -> (((exists ff_h_pvs_common_last. ff_h_pvs_common_last + S (v) = S ((S (l)) * c)) /\ exists ff_q_pvs_common_last. b = ff_q_pvs_common_last * S ((S (l)) * c) + (v))) -> (exists pvs_factor_common_last_divides. (v) = (d) * pvs_factor_common_last_divides) -> (forall ppf_index_common_next ppf_entry_common_next. (exists pvs_gap_common_nextbound. pvs_gap_common_nextbound + S (ppf_index_common_next) = (S l)) -> (((exists ff_h_pvs_common_nextentry. ff_h_pvs_common_nextentry + S (ppf_entry_common_next) = S ((S (ppf_index_common_next)) * c)) /\ exists ff_q_pvs_common_nextentry. b = ff_q_pvs_common_nextentry * S ((S (ppf_index_common_next)) * c) + (ppf_entry_common_next))) -> (exists pvs_factor_common_nextdivisor. (ppf_entry_common_next) = (d) * pvs_factor_common_nextdivisor))

Complete tactic proof in conservative notation

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

36 script commands · 7 reading checkpoints · 2 local claims

This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.

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

01Fix variables and assumptionsL1–10

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

  1. L1
    intro b
  2. L2
    intro c
  3. L3
    intro l
  4. L4
    intro d
  5. L5
    intro v
  6. L6
    intro hcommon
  7. L7
    intro hlast
  8. L8
    intro hdiv
  9. L9
    intro i
  10. L10
    intro e
02Fix variables and assumptionsL11–12

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

  1. L11
    intro hi
  2. L12
    intro hat
03Establish hcaseL13–17

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.

  1. L13
    have hcase : i = l ∨ Lt(i,l)Definitions: Lt(i,l)Original native command in the exact edition
  2. L14
    specialize finite_lt_succ_eq_or_lt (l)
  3. L15
    specialize finite_lt_succ_eq_or_lt (i)
  4. L16
    apply finite_lt_succ_eq_or_lt
  5. L17
    exact hi
04Separate the logical casesL18–18

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

  1. L18
    cases hcase
05Calculate and transport equalitiesL19–20

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

  1. L19
    rewrite hcase_left at hat
  2. L20
    rewrite hcase_left at hat
06Establish heqL21–30

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.

  1. L21
    have heq : e = v
  2. L22
    specialize beta_at_unique (b)
  3. L23
    specialize beta_at_unique (c)
  4. L24
    specialize beta_at_unique (l)
  5. L25
    specialize beta_at_unique (e)
  6. L26
    specialize beta_at_unique (v)
  7. L27
    apply beta_at_unique
  8. L28
    exact hat
  9. L29
    exact hlast
  10. L30
    rewrite heq
07Use earlier factsL31–36

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

  1. L31
    exact hdiv
  2. L32
    specialize hcommon (i)
  3. L33
    specialize hcommon (e)
  4. L34
    apply hcommon
  5. L35
    exact hcase_right
  6. L36
    exact hat

Library-wide reading audit

Original defined command ledger · 36 lines
  1. 0001intro b
  2. 0002intro c
  3. 0003intro l
  4. 0004intro d
  5. 0005intro v
  6. 0006intro hcommon
  7. 0007intro hlast
  8. 0008intro hdiv
  9. 0009intro i
  10. 0010intro e
  11. 0011intro hi
  12. 0012intro hat
  13. 0013have hcase : i = l ∨ Lt(i,l)
  14. 0014specialize finite_lt_succ_eq_or_lt (l)
  15. 0015specialize finite_lt_succ_eq_or_lt (i)
  16. 0016apply finite_lt_succ_eq_or_lt
  17. 0017exact hi
  18. 0018cases hcase
  19. 0019rewrite hcase_left at hat
  20. 0020rewrite hcase_left at hat
  21. 0021have heq : e = v
  22. 0022specialize beta_at_unique (b)
  23. 0023specialize beta_at_unique (c)
  24. 0024specialize beta_at_unique (l)
  25. 0025specialize beta_at_unique (e)
  26. 0026specialize beta_at_unique (v)
  27. 0027apply beta_at_unique
  28. 0028exact hat
  29. 0029exact hlast
  30. 0030rewrite heq
  31. 0031exact hdiv
  32. 0032specialize hcommon (i)
  33. 0033specialize hcommon (e)
  34. 0034apply hcommon
  35. 0035exact hcase_right
  36. 0036exact hat