MV000F

mobius_prime_squarefree

Public research checkpoint, not admitted to Alpha or Stable. Alpha v30 remains 3222 checked-use theorems; Stable remains 432. The on-demand Alpha Lean service does not yet expose these checkpoint theorems; their independently checked literal bundles and unchanged sources are available below.

No genuine prime has a squared prime divisor; both nonzero and nonunit boundaries are proved from primality.

Public research checkpoint: original HA and independently compiled Lean verified; not Alpha-enrolled, no Alpha checked-use authority; not Stable

Mobius(n,z) is defined only for positive n. The canonical signed codes are 0 for zero, 2 for +1, and 1 for −1. The function is defined independently of any divisor-sum identity. These values and prime-step lemmas are prerequisites for G007; divisor-sum cancellation and full Möbius inversion remain open in this checkpoint. No signed-table proof is included here.

Exact theorem in conservative defined notation

∀ p. Prime(p)Squarefree(p)

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

Definition DAG

Actual proof prerequisites

Original expanded first-order statement
forall p. (~((p) = 1) /\ forall pvs_left_squarefree_prime pvs_right_squarefree_prime. (p) = pvs_left_squarefree_prime * pvs_right_squarefree_prime -> pvs_left_squarefree_prime = 1 \/ pvs_right_squarefree_prime = 1) -> (((~((p) = 0)) /\ (forall sfd_prime_prime_result. (~((sfd_prime_prime_result) = 1) /\ forall pvs_left_prime_resultdomain pvs_right_prime_resultdomain. (sfd_prime_prime_result) = pvs_left_prime_resultdomain * pvs_right_prime_resultdomain -> pvs_left_prime_resultdomain = 1 \/ pvs_right_prime_resultdomain = 1) -> (exists pvs_le_gap_prime_resultbound. pvs_le_gap_prime_resultbound + (sfd_prime_prime_result) = (p)) -> ~(exists pvs_factor_prime_resultsquare. (p) = (sfd_prime_prime_result * sfd_prime_prime_result) * pvs_factor_prime_resultsquare))))

Complete tactic proof in conservative notation

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

49 script commands · 19 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–2

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

  1. L1
    intro p
  2. L2
    intro hp
02Separate the logical casesL3–3

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

  1. L3
    split
03Fix variables and assumptionsL4–4

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

  1. L4
    intro hz
04Use earlier factsL5–8

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

  1. L5
    specialize prime_nonzero (p)
  2. L6
    apply prime_nonzero
  3. L7
    exact hp
  4. L8
    exact hz
05Fix variables and assumptionsL9–12

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

  1. L9
    intro q
  2. L10
    intro hq
  3. L11
    intro hbound
  4. L12
    intro hdiv
06Establish heqL13–22

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime divisor of prime forces equality.

  1. L13
    have heq : q = p
  2. L14
    specialize prime_divisor_of_prime_forces_equality (q)
  3. L15
    specialize prime_divisor_of_prime_forces_equality (p)
  4. L16
    apply prime_divisor_of_prime_forces_equality
  5. L17
    exact hq
  6. L18
    exact hp
  7. L19
    specialize multiple_trans (q * q)
  8. L20
    specialize multiple_trans (q)
  9. L21
    specialize multiple_trans (p)
  10. L22
    apply multiple_trans
07Use earlier factsL23–23

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

  1. L23
    exact hdiv
08Construct an explicit witnessL24–24

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

  1. L24
    exists q
09Calculate and transport equalitiesL25–27

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

  1. L25
    refl
  2. L26
    rewrite heq at hdiv
  3. L27
    rewrite heq at hdiv
10Separate the logical casesL28–28

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

  1. L28
    cases hdiv
11Establish honeL29–38

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

  1. L29
    have hone : 1 = p * x
  2. L30
    specialize mul_left_cancel_nonzero (p)
  3. L31
    specialize mul_left_cancel_nonzero (1)
  4. L32
    specialize mul_left_cancel_nonzero (p * x)
  5. L33
    apply mul_left_cancel_nonzero
  6. L34
    intro hz
  7. L35
    specialize prime_nonzero (p)
  8. L36
    apply prime_nonzero
  9. L37
    exact hp
  10. L38
    exact hz
12Calculate and transport equalitiesL39–39

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

  1. L39
    trans p
13Use earlier factsL40–40

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

  1. L40
    apply mul_one
14Calculate and transport equalitiesL41–41

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

  1. L41
    trans (p * p) * x
15Use earlier factsL42–43

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

  1. L42
    exact hdiv_witness
  2. L43
    apply mul_assoc
16Separate the logical casesL44–44

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

  1. L44
    cases hp
17Use earlier factsL45–47

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

  1. L45
    apply hp_left
  2. L46
    specialize divisor_one (p)
  3. L47
    apply divisor_one
18Construct an explicit witnessL48–48

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

  1. L48
    exists x
19Use earlier factsL49–49

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

  1. L49
    exact hone

Library-wide reading audit

Original defined command ledger · 49 lines
  1. 0001intro p
  2. 0002intro hp
  3. 0003split
  4. 0004intro hz
  5. 0005specialize prime_nonzero (p)
  6. 0006apply prime_nonzero
  7. 0007exact hp
  8. 0008exact hz
  9. 0009intro q
  10. 0010intro hq
  11. 0011intro hbound
  12. 0012intro hdiv
  13. 0013have heq : q = p
  14. 0014specialize prime_divisor_of_prime_forces_equality (q)
  15. 0015specialize prime_divisor_of_prime_forces_equality (p)
  16. 0016apply prime_divisor_of_prime_forces_equality
  17. 0017exact hq
  18. 0018exact hp
  19. 0019specialize multiple_trans (q * q)
  20. 0020specialize multiple_trans (q)
  21. 0021specialize multiple_trans (p)
  22. 0022apply multiple_trans
  23. 0023exact hdiv
  24. 0024exists q
  25. 0025refl
  26. 0026rewrite heq at hdiv
  27. 0027rewrite heq at hdiv
  28. 0028cases hdiv
  29. 0029have hone : 1 = p * x
  30. 0030specialize mul_left_cancel_nonzero (p)
  31. 0031specialize mul_left_cancel_nonzero (1)
  32. 0032specialize mul_left_cancel_nonzero (p * x)
  33. 0033apply mul_left_cancel_nonzero
  34. 0034intro hz
  35. 0035specialize prime_nonzero (p)
  36. 0036apply prime_nonzero
  37. 0037exact hp
  38. 0038exact hz
  39. 0039trans p
  40. 0040apply mul_one
  41. 0041trans (p * p) * x
  42. 0042exact hdiv_witness
  43. 0043apply mul_assoc
  44. 0044cases hp
  45. 0045apply hp_left
  46. 0046specialize divisor_one (p)
  47. 0047apply divisor_one
  48. 0048exists x
  49. 0049exact hone