BT0126 · Bertrand theorem

bertrand_upper_endpoint_factorization

Alpha v34 checked-use theorem · independently kernel and Lean verified; not Stable

The closed upper endpoint is composite whenever 1<n.

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

∀ n. ∀ p. Lt(1,n)Prime(p) → ¬p = n + n

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

2 occurrences

In local proof propositions

none

0 occurrences

Exact expanded native-PA statement
forall n p. (exists bpr_gap_bbp02_boundary_lower. bpr_gap_bbp02_boundary_lower + S (1) = n) -> ((~(p = 1) /\ forall bpr_left_bbp02_boundary_prime bpr_right_bbp02_boundary_prime. p = bpr_left_bbp02_boundary_prime * bpr_right_bbp02_boundary_prime -> bpr_left_bbp02_boundary_prime = 1 \/ bpr_right_bbp02_boundary_prime = 1)) -> p = n + n -> false

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

33 script commands · 8 reading checkpoints · 3 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 (4)
01Fix variables and assumptionsL1–5

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

  1. L1
    intro n
  2. L2
    intro p
  3. L3
    intro hlower
  4. L4
    intro hprime
  5. L5
    intro heq
02Establish hn_not_oneL6–11

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

  1. L6
    have hn_not_one : ~(n = 1)
  2. L7
    intro hn_one
  3. L8
    specialize lt_not_le 1
  4. L9
    specialize lt_not_le n
  5. L10
    apply lt_not_le
  6. L11
    exact hlower
03Construct an explicit witnessL12–12

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

  1. L12
    exists 0
04Calculate and transport equalitiesL13–13

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

  1. L13
    rewrite hn_one
05Use earlier factsL14–14

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

  1. L14
    apply zero_add
06Establish htwo_not_oneL15–19

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

  1. L15
    have htwo_not_one : ~(2 = 1)
  2. L16
    intro htwo_one
  3. L17
    apply PA1
  4. L18
    apply PA2
  5. L19
    exact htwo_one
07Establish hfactorL20–29

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

  1. L20
    have hfactor : p = 2 * n
  2. L21
    trans n + n
  3. L22
    exact heq
  4. L23
    symm
  5. L24
    specialize two_mul_eq_add_self n
  6. L25
    exact two_mul_eq_add_self
  7. L26
    specialize fixed_nontrivial_factor_not_prime p
  8. L27
    specialize fixed_nontrivial_factor_not_prime 2
  9. L28
    specialize fixed_nontrivial_factor_not_prime n
  10. L29
    apply fixed_nontrivial_factor_not_prime
08Use earlier factsL30–33

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

  1. L30
    exact hfactor
  2. L31
    exact htwo_not_one
  3. L32
    exact hn_not_one
  4. L33
    exact hprime

Library-wide reading audit

Original defined command ledger · 33 lines
  1. 0001intro n
  2. 0002intro p
  3. 0003intro hlower
  4. 0004intro hprime
  5. 0005intro heq
  6. 0006have hn_not_one : ~(n = 1)
  7. 0007intro hn_one
  8. 0008specialize lt_not_le 1
  9. 0009specialize lt_not_le n
  10. 0010apply lt_not_le
  11. 0011exact hlower
  12. 0012exists 0
  13. 0013rewrite hn_one
  14. 0014apply zero_add
  15. 0015have htwo_not_one : ~(2 = 1)
  16. 0016intro htwo_one
  17. 0017apply PA1
  18. 0018apply PA2
  19. 0019exact htwo_one
  20. 0020have hfactor : p = 2 * n
  21. 0021trans n + n
  22. 0022exact heq
  23. 0023symm
  24. 0024specialize two_mul_eq_add_self n
  25. 0025exact two_mul_eq_add_self
  26. 0026specialize fixed_nontrivial_factor_not_prime p
  27. 0027specialize fixed_nontrivial_factor_not_prime 2
  28. 0028specialize fixed_nontrivial_factor_not_prime n
  29. 0029apply fixed_nontrivial_factor_not_prime
  30. 0030exact hfactor
  31. 0031exact htwo_not_one
  32. 0032exact hn_not_one
  33. 0033exact hprime