BT00R9 · Bertrand theorem

square_lt_successor_square

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

Every square is strictly below the next natural square.

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

∀ s. Lt(s · s,S s · S s)

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

2 occurrences

Exact expanded native-PA statement
forall s. exists k. k + S (s * s) = S s * S s

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

16 script commands · 4 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 (5)
01Fix variables and assumptionsL1–1

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

  1. L1
    intro s
02Establish hleftL2–4

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

  1. L2
    have hleft : Le(s · s,S s · s)Definitions: Le(s · s,S s · s)Original native command in the exact edition
  2. L3
    apply mul_le_mul_right
  3. L4
    apply le_succ_self
03Establish hrightL5–14

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

  1. L5
    have hright : Lt(S s · s,S s · S s)Definitions: Lt(S s · s,S s · S s)Original native command in the exact edition
  2. L6
    apply mul_lt_mul_succ_left_nonzero
  3. L7
    intro hz
  4. L8
    specialize succ_ne_zero s
  5. L9
    apply succ_ne_zero
  6. L10
    exact hz
  7. L11
    specialize lt_of_le_of_lt (s * s)
  8. L12
    specialize lt_of_le_of_lt (S s * s)
  9. L13
    specialize lt_of_le_of_lt (S s * S s)
  10. L14
    apply lt_of_le_of_lt
04Use earlier factsL15–16

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

  1. L15
    exact hleft
  2. L16
    exact hright

Library-wide reading audit

Original defined command ledger · 16 lines
  1. 0001intro s
  2. 0002have hleft : Le(s · s,S s · s)
    Exact native replay linehave hleft : exists k. k + s * s = S s * s
  3. 0003apply mul_le_mul_right
  4. 0004apply le_succ_self
  5. 0005have hright : Lt(S s · s,S s · S s)
    Exact native replay linehave hright : exists k. k + S (S s * s) = S s * S s
  6. 0006apply mul_lt_mul_succ_left_nonzero
  7. 0007intro hz
  8. 0008specialize succ_ne_zero s
  9. 0009apply succ_ne_zero
  10. 0010exact hz
  11. 0011specialize lt_of_le_of_lt (s * s)
  12. 0012specialize lt_of_le_of_lt (S s * s)
  13. 0013specialize lt_of_le_of_lt (S s * S s)
  14. 0014apply lt_of_le_of_lt
  15. 0015exact hleft
  16. 0016exact hright