BT010H · Bertrand theorem

division_quotient_le_dividend

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

The quotient by three is bounded by its doubled dividend.

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. ∀ q. ∀ r. DivRem(n + n,3,q,r)Le(q,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

4 occurrences

Exact expanded native-PA statement
forall n q r. (((n + n) = (3) * (q) + (r) /\ (exists bcf_lt_gap_b5rbdqld_division_bound. bcf_lt_gap_b5rbdqld_division_bound + S (r) = 3))) -> (exists bcf_le_gap_b5rbdqld_result. bcf_le_gap_b5rbdqld_result + (q) = n + n)

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

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

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

  1. L1
    intro n
  2. L2
    intro q
  3. L3
    intro r
  4. L4
    intro hdivision
02Separate the logical casesL5–5

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

  1. L5
    cases hdivision
03Establish hone_threeL6–6

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

  1. L6
    have hone_three : Lt(0,3)Definitions: Lt(0,3)Original native command in the exact edition
04Construct an explicit witnessL7–7

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

  1. L7
    exists 2
05Calculate and transport equalitiesL8–8

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

  1. L8
    norm_num
06Establish hscaledL9–13

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

  1. L9
    have hscaled : Le(q,3 · q)Definitions: Le(q,3 · q)Original native command in the exact edition
  2. L10
    specialize le_mul_of_one_le_left 3
  3. L11
    specialize le_mul_of_one_le_left q
  4. L12
    apply le_mul_of_one_le_left
  5. L13
    exact hone_three
07Establish haddL14–17

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

  1. L14
    have hadd : Le(3 · q,3 · q + r)Definitions: Le(3 · q,3 · q + r)Original native command in the exact edition
  2. L15
    specialize le_add_right (3 * q)
  3. L16
    specialize le_add_right r
  4. L17
    exact le_add_right
08Establish hrawL18–26

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

  1. L18
    have hraw : Le(q,3 · q + r)Definitions: Le(q,3 · q + r)Original native command in the exact edition
  2. L19
    specialize le_trans q
  3. L20
    specialize le_trans (3 * q)
  4. L21
    specialize le_trans (3 * q + r)
  5. L22
    apply le_trans
  6. L23
    exact hscaled
  7. L24
    exact hadd
  8. L25
    rewrite hdivision_left
  9. L26
    exact hraw

Library-wide reading audit

Original defined command ledger · 26 lines
  1. 0001intro n
  2. 0002intro q
  3. 0003intro r
  4. 0004intro hdivision
  5. 0005cases hdivision
  6. 0006have hone_three : Lt(0,3)
    Exact native replay linehave hone_three : exists bcf_le_gap_b5rbdqld_one_three. bcf_le_gap_b5rbdqld_one_three + (1) = 3
  7. 0007exists 2
  8. 0008norm_num
  9. 0009have hscaled : Le(q,3 · q)
    Exact native replay linehave hscaled : exists bcf_le_gap_b5rbdqld_scaled. bcf_le_gap_b5rbdqld_scaled + (q) = 3 * q
  10. 0010specialize le_mul_of_one_le_left 3
  11. 0011specialize le_mul_of_one_le_left q
  12. 0012apply le_mul_of_one_le_left
  13. 0013exact hone_three
  14. 0014have hadd : Le(3 · q,3 · q + r)
    Exact native replay linehave hadd : exists bcf_le_gap_b5rbdqld_added. bcf_le_gap_b5rbdqld_added + (3 * q) = 3 * q + r
  15. 0015specialize le_add_right (3 * q)
  16. 0016specialize le_add_right r
  17. 0017exact le_add_right
  18. 0018have hraw : Le(q,3 · q + r)
    Exact native replay linehave hraw : exists bcf_le_gap_b5rbdqld_raw. bcf_le_gap_b5rbdqld_raw + (q) = 3 * q + r
  19. 0019specialize le_trans q
  20. 0020specialize le_trans (3 * q)
  21. 0021specialize le_trans (3 * q + r)
  22. 0022apply le_trans
  23. 0023exact hscaled
  24. 0024exact hadd
  25. 0025rewrite hdivision_left
  26. 0026exact hraw