BT008S · Bertrand theorem

distinct_primes_coprime

Stable checked-use theorem · independently kernel verified

Distinct primes are coprime in the expanded common-divisor relation.

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.

Statement with defined notation

∀ p. ∀ q. Prime(p)Prime(q) → ¬p = q → Coprime(p,q)

Every purple notation token opens its conservative definition. Expanding the displayed statement recovers the exact first-order Peano-arithmetic formula checked by the unchanged kernel.

Definitions used by this theorem

In the theorem statement

3 occurrences

In local proof propositions

1 occurrences

Exact expanded native-PA statement
forall p q. (~(p = 1) /\ forall c e. p = c * e -> c = 1 \/ e = 1) -> (~(q = 1) /\ forall c e. q = c * e -> c = 1 \/ e = 1) -> ~(p = q) -> forall d. (exists x. p = d * x) -> (exists y. q = d * y) -> d = 1

Proof neighborhood

Direct theorem prerequisites

Direct theorem dependents

Definition-aware tactic body

Only local propositions introduced by have or suffices are compacted. Every changed line has an exact-AST conservative-expansion receipt; the kernel still receives the immutable original tactic script.

Read the argument

Proof checkpoints

25 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.

Named ingredients (2)
01Fix variables and assumptionsL1–5

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

  1. L1
    intro p
  2. L2
    intro q
  3. L3
    intro hp
  4. L4
    intro hq
  5. L5
    intro hpq
02Establish hnotL6–9

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

  1. L6
    have hnot : ¬Dvd(p,q)Definitions: Dvd(p,q)Original native command in the exact edition
  2. L7
    intro hdiv
  3. L8
    specialize prime_divisor_eq_one_or_self q
  4. L9
    specialize prime_divisor_eq_one_or_self p
03Establish hfactorL10–13

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime divisor eq one or self.

  1. L10
    have hfactor : p = 1 \/ q = p
  2. L11
    apply prime_divisor_eq_one_or_self
  3. L12
    exact hq
  4. L13
    exact hdiv
04Separate the logical casesL14–15

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

  1. L14
    cases hfactor
  2. L15
    cases hp
05Use earlier factsL16–18

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

  1. L16
    apply hp_left
  2. L17
    exact hfactor_left
  3. L18
    apply hpq
06Calculate and transport equalitiesL19–19

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

  1. L19
    symm
07Use earlier factsL20–25

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

  1. L20
    exact hfactor_right
  2. L21
    specialize prime_not_divides_coprime p
  3. L22
    specialize prime_not_divides_coprime q
  4. L23
    apply prime_not_divides_coprime
  5. L24
    exact hp
  6. L25
    exact hnot

Library-wide reading audit

Original defined command ledger · 25 lines
  1. 0001intro p
  2. 0002intro q
  3. 0003intro hp
  4. 0004intro hq
  5. 0005intro hpq
  6. 0006have hnot : ¬Dvd(p,q)
    Exact native replay linehave hnot : ~(exists k. q = p * k)
  7. 0007intro hdiv
  8. 0008specialize prime_divisor_eq_one_or_self q
  9. 0009specialize prime_divisor_eq_one_or_self p
  10. 0010have hfactor : p = 1 \/ q = p
  11. 0011apply prime_divisor_eq_one_or_self
  12. 0012exact hq
  13. 0013exact hdiv
  14. 0014cases hfactor
  15. 0015cases hp
  16. 0016apply hp_left
  17. 0017exact hfactor_left
  18. 0018apply hpq
  19. 0019symm
  20. 0020exact hfactor_right
  21. 0021specialize prime_not_divides_coprime p
  22. 0022specialize prime_not_divides_coprime q
  23. 0023apply prime_not_divides_coprime
  24. 0024exact hp
  25. 0025exact hnot