BT003D · Bertrand theorem

factor_property_succ

Stable checked-use theorem · independently kernel verified

Extend a bounded prime factor-pair property by checking the new boundary.

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

∀ B. ∀ n. (∀ x. ∀ y. Le(x,B) → n = x · y → x = 1 ∨ y = 1) → (∀ x. n = S B · x → S B = 1 ∨ x = 1) → ∀ x. ∀ y. Le(x,S B) → n = x · y → x = 1 ∨ y = 1

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

2 occurrences

Exact expanded native-PA statement
forall B n. (forall c d. (exists k. k + c = B) -> n = c * d -> c = 1 \/ d = 1) -> (forall d. n = S B * d -> S B = 1 \/ d = 1) -> forall c d. (exists k. k + c = S B) -> n = c * d -> c = 1 \/ 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

27 script commands · 9 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–8

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

  1. L1
    intro B
  2. L2
    intro n
  3. L3
    intro hprev
  4. L4
    intro hboundary
  5. L5
    intro c
  6. L6
    intro d
  7. L7
    intro hc
  8. L8
    intro hfac
02Use earlier factsL9–10

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

  1. L9
    specialize le_eq_or_lt c
  2. L10
    specialize le_eq_or_lt (S B)
03Establish hsplitL11–13

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

  1. L11
    have hsplit : c = S B ∨ Lt(c,S B)Definitions: Lt(c,S B)Original native command in the exact edition
  2. L12
    apply le_eq_or_lt
  3. L13
    exact hc
04Separate the logical casesL14–14

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

  1. L14
    cases hsplit
05Calculate and transport equalitiesL15–15

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

  1. L15
    rewrite hsplit_left
06Use earlier factsL16–17

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

  1. L16
    specialize hboundary d
  2. L17
    apply hboundary
07Calculate and transport equalitiesL18–18

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

  1. L18
    rewrite <- hsplit_left
08Use earlier factsL19–19

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

  1. L19
    exact hfac
09Establish hcBL20–27

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

  1. L20
  2. L21
    apply le_of_succ_le_succ
  3. L22
    exact hsplit_right
  4. L23
    specialize hprev c
  5. L24
    specialize hprev d
  6. L25
    apply hprev
  7. L26
    exact hcB
  8. L27
    exact hfac

Library-wide reading audit

Original defined command ledger · 27 lines
  1. 0001intro B
  2. 0002intro n
  3. 0003intro hprev
  4. 0004intro hboundary
  5. 0005intro c
  6. 0006intro d
  7. 0007intro hc
  8. 0008intro hfac
  9. 0009specialize le_eq_or_lt c
  10. 0010specialize le_eq_or_lt (S B)
  11. 0011have hsplit : c = S B ∨ Lt(c,S B)
    Exact native replay linehave hsplit : c = S B \/ exists k. k + S c = S B
  12. 0012apply le_eq_or_lt
  13. 0013exact hc
  14. 0014cases hsplit
  15. 0015rewrite hsplit_left
  16. 0016specialize hboundary d
  17. 0017apply hboundary
  18. 0018rewrite <- hsplit_left
  19. 0019exact hfac
  20. 0020have hcB : Le(c,B)
    Exact native replay linehave hcB : exists k. k + c = B
  21. 0021apply le_of_succ_le_succ
  22. 0022exact hsplit_right
  23. 0023specialize hprev c
  24. 0024specialize hprev d
  25. 0025apply hprev
  26. 0026exact hcB
  27. 0027exact hfac