BT00R0 · Bertrand theorem

ceil_div_six_shift

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

Ceiling by six commutes with adding an explicit multiple of six.

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

∀ x. ∀ e. ∀ k. CeilDivSix(x,e)CeilDivSix(x + 6 · k,e + k)

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 x e k. (((exists bcs_lower_gap_shift_source. bcs_lower_gap_shift_source + (x) = 6 * (e)) /\ exists bcs_upper_gap_shift_source. bcs_upper_gap_shift_source + S (6 * (e)) = (x) + 6)) -> (((exists bcs_lower_gap_shift_target. bcs_lower_gap_shift_target + (x + 6 * k) = 6 * (e + k)) /\ exists bcs_upper_gap_shift_target. bcs_upper_gap_shift_target + S (6 * (e + k)) = (x + 6 * k) + 6))

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

39 script commands · 19 reading checkpoints · 1 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–4

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

  1. L1
    intro x
  2. L2
    intro e
  3. L3
    intro k
  4. L4
    intro h
02Establish hmulL5–9

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

  1. L5
    have hmul : 6 * (e + k) = 6 * e + 6 * k
  2. L6
    specialize mul_add 6
  3. L7
    specialize mul_add e
  4. L8
    specialize mul_add k
  5. L9
    exact mul_add
03Separate the logical casesL10–12

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

  1. L10
    cases h
  2. L11
    split
  3. L12
    cases h_left
04Construct an explicit witnessL13–13

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

  1. L13
    exists x1
05Calculate and transport equalitiesL14–16

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

  1. L14
    rewrite hmul
  2. L15
    trans (x1 + x) + 6 * k
  3. L16
    symm
06Use earlier factsL17–17

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

  1. L17
    apply add_assoc
07Calculate and transport equalitiesL18–19

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

  1. L18
    rewrite h_left_witness
  2. L19
    refl
08Separate the logical casesL20–20

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

  1. L20
    cases h_right
09Construct an explicit witnessL21–21

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

  1. L21
    exists x1
10Calculate and transport equalitiesL22–26

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

  1. L22
    rewrite hmul
  2. L23
    trans x1 + (S (6 * e) + 6 * k)
  3. L24
    congr
  4. L25
    refl
  5. L26
    symm
11Use earlier factsL27–27

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

  1. L27
    apply add_succ_left
12Calculate and transport equalitiesL28–29

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

  1. L28
    trans (x1 + S (6 * e)) + 6 * k
  2. L29
    symm
13Use earlier factsL30–30

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

  1. L30
    apply add_assoc
14Calculate and transport equalitiesL31–32

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

  1. L31
    rewrite h_right_witness
  2. L32
    trans x + (6 + 6 * k)
15Use earlier factsL33–33

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

  1. L33
    apply add_assoc
16Calculate and transport equalitiesL34–36

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

  1. L34
    trans x + (6 * k + 6)
  2. L35
    congr
  3. L36
    refl
17Use earlier factsL37–37

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

  1. L37
    apply add_comm
18Calculate and transport equalitiesL38–38

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

  1. L38
    symm
19Use earlier factsL39–39

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

  1. L39
    apply add_assoc

Library-wide reading audit

Original defined command ledger · 39 lines
  1. 0001intro x
  2. 0002intro e
  3. 0003intro k
  4. 0004intro h
  5. 0005have hmul : 6 * (e + k) = 6 * e + 6 * k
  6. 0006specialize mul_add 6
  7. 0007specialize mul_add e
  8. 0008specialize mul_add k
  9. 0009exact mul_add
  10. 0010cases h
  11. 0011split
  12. 0012cases h_left
  13. 0013exists x1
  14. 0014rewrite hmul
  15. 0015trans (x1 + x) + 6 * k
  16. 0016symm
  17. 0017apply add_assoc
  18. 0018rewrite h_left_witness
  19. 0019refl
  20. 0020cases h_right
  21. 0021exists x1
  22. 0022rewrite hmul
  23. 0023trans x1 + (S (6 * e) + 6 * k)
  24. 0024congr
  25. 0025refl
  26. 0026symm
  27. 0027apply add_succ_left
  28. 0028trans (x1 + S (6 * e)) + 6 * k
  29. 0029symm
  30. 0030apply add_assoc
  31. 0031rewrite h_right_witness
  32. 0032trans x + (6 + 6 * k)
  33. 0033apply add_assoc
  34. 0034trans x + (6 * k + 6)
  35. 0035congr
  36. 0036refl
  37. 0037apply add_comm
  38. 0038symm
  39. 0039apply add_assoc