BT00AW · Bertrand theorem

prime_is_succ_succ

Stable checked-use theorem · independently kernel verified

Every prime natural is the second successor of a natural.

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. Prime(p) → ∃ x. p = S S x

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

1 occurrences

In local proof propositions

none

0 occurrences

Exact expanded native-PA statement
forall p. ((~(p = 1) /\ forall qrbu_factor_left_prime_p qrbu_factor_right_prime_p. p = qrbu_factor_left_prime_p * qrbu_factor_right_prime_p -> qrbu_factor_left_prime_p = 1 \/ qrbu_factor_right_prime_p = 1)) -> exists k. p = S (S k)

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

29 script commands · 12 reading checkpoints · 4 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–2

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

  1. L1
    intro p
  2. L2
    intro hp
02Establish hp0L3–8

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

  1. L3
    have hp0 : ~(p = 0)
  2. L4
    intro hpzero
  3. L5
    specialize prime_nonzero p
  4. L6
    apply prime_nonzero
  5. L7
    exact hp
  6. L8
    exact hpzero
03Establish hpsL9–12

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

  1. L9
    have hps : exists k. p = S k
  2. L10
    specialize nonzero_is_succ p
  3. L11
    apply nonzero_is_succ
  4. L12
    exact hp0
04Separate the logical casesL13–13

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

  1. L13
    cases hps
05Establish hx0L14–15

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

  1. L14
    have hx0 : ~(x = 0)
  2. L15
    intro hx0
06Separate the logical casesL16–16

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

  1. L16
    cases hp
07Use earlier factsL17–17

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

  1. L17
    apply hp_left
08Calculate and transport equalitiesL18–20

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

  1. L18
    rewrite hps_witness
  2. L19
    rewrite hx0
  3. L20
    refl
09Establish hxsL21–24

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

  1. L21
    have hxs : exists k. x = S k
  2. L22
    specialize nonzero_is_succ x
  3. L23
    apply nonzero_is_succ
  4. L24
    exact hx0
10Separate the logical casesL25–25

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

  1. L25
    cases hxs
11Construct an explicit witnessL26–26

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

  1. L26
    exists x1
12Calculate and transport equalitiesL27–29

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

  1. L27
    rewrite hps_witness
  2. L28
    rewrite hxs_witness
  3. L29
    refl

Library-wide reading audit

Original defined command ledger · 29 lines
  1. 0001intro p
  2. 0002intro hp
  3. 0003have hp0 : ~(p = 0)
  4. 0004intro hpzero
  5. 0005specialize prime_nonzero p
  6. 0006apply prime_nonzero
  7. 0007exact hp
  8. 0008exact hpzero
  9. 0009have hps : exists k. p = S k
  10. 0010specialize nonzero_is_succ p
  11. 0011apply nonzero_is_succ
  12. 0012exact hp0
  13. 0013cases hps
  14. 0014have hx0 : ~(x = 0)
  15. 0015intro hx0
  16. 0016cases hp
  17. 0017apply hp_left
  18. 0018rewrite hps_witness
  19. 0019rewrite hx0
  20. 0020refl
  21. 0021have hxs : exists k. x = S k
  22. 0022specialize nonzero_is_succ x
  23. 0023apply nonzero_is_succ
  24. 0024exact hx0
  25. 0025cases hxs
  26. 0026exists x1
  27. 0027rewrite hps_witness
  28. 0028rewrite hxs_witness
  29. 0029refl