BT00XB · Bertrand theorem

add_lt_add

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

Strict inequalities add componentwise.

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

∀ a. ∀ b. ∀ c. ∀ d. Lt(a,b)Lt(c,d)Lt(a + c,b + d)

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

3 occurrences

In local proof propositions

none

0 occurrences

Exact expanded native-PA statement
forall a b c d. (exists bcf_lt_gap_b5alaa_left. bcf_lt_gap_b5alaa_left + S (a) = b) -> (exists bcf_lt_gap_b5alaa_right. bcf_lt_gap_b5alaa_right + S (c) = d) -> (exists bcf_lt_gap_b5alaa_result. bcf_lt_gap_b5alaa_result + S (a + c) = b + d)

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

37 script commands · 18 reading checkpoints · 0 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–6

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

  1. L1
    intro a
  2. L2
    intro b
  3. L3
    intro c
  4. L4
    intro d
  5. L5
    intro hab
  6. L6
    intro hcd
02Separate the logical casesL7–8

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

  1. L7
    cases hab
  2. L8
    cases hcd
03Construct an explicit witnessL9–9

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

  1. L9
    exists S (x + x1)
04Calculate and transport equalitiesL10–12

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

  1. L10
    rewrite <- hab_witness
  2. L11
    rewrite <- hcd_witness
  3. L12
    trans S ((x + x1) + S (a + c))
05Use earlier factsL13–13

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

  1. L13
    apply add_succ_left
06Calculate and transport equalitiesL14–15

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

  1. L14
    trans S (S ((x + x1) + (a + c)))
  2. L15
    congr
07Use earlier factsL16–16

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

  1. L16
    apply PA4
08Calculate and transport equalitiesL17–19

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

  1. L17
    trans S (S ((x + a) + (x1 + c)))
  2. L18
    congr
  3. L19
    congr
09Use earlier factsL20–20

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

  1. L20
    apply add_shuffle_middle
10Calculate and transport equalitiesL21–23

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

  1. L21
    trans S ((x + a) + S (x1 + c))
  2. L22
    congr
  3. L23
    symm
11Use earlier factsL24–24

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

  1. L24
    apply PA4
12Calculate and transport equalitiesL25–29

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

  1. L25
    trans S ((x + a) + (x1 + S c))
  2. L26
    congr
  3. L27
    congr
  4. L28
    refl
  5. L29
    symm
13Use earlier factsL30–30

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

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

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

  1. L31
    trans S (x + a) + (x1 + S c)
  2. L32
    symm
15Use earlier factsL33–33

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

  1. L33
    apply add_succ_left
16Calculate and transport equalitiesL34–35

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

  1. L34
    congr
  2. L35
    symm
17Use earlier factsL36–36

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

  1. L36
    apply PA4
18Calculate and transport equalitiesL37–37

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

  1. L37
    refl

Library-wide reading audit

Original defined command ledger · 37 lines
  1. 0001intro a
  2. 0002intro b
  3. 0003intro c
  4. 0004intro d
  5. 0005intro hab
  6. 0006intro hcd
  7. 0007cases hab
  8. 0008cases hcd
  9. 0009exists S (x + x1)
  10. 0010rewrite <- hab_witness
  11. 0011rewrite <- hcd_witness
  12. 0012trans S ((x + x1) + S (a + c))
  13. 0013apply add_succ_left
  14. 0014trans S (S ((x + x1) + (a + c)))
  15. 0015congr
  16. 0016apply PA4
  17. 0017trans S (S ((x + a) + (x1 + c)))
  18. 0018congr
  19. 0019congr
  20. 0020apply add_shuffle_middle
  21. 0021trans S ((x + a) + S (x1 + c))
  22. 0022congr
  23. 0023symm
  24. 0024apply PA4
  25. 0025trans S ((x + a) + (x1 + S c))
  26. 0026congr
  27. 0027congr
  28. 0028refl
  29. 0029symm
  30. 0030apply PA4
  31. 0031trans S (x + a) + (x1 + S c)
  32. 0032symm
  33. 0033apply add_succ_left
  34. 0034congr
  35. 0035symm
  36. 0036apply PA4
  37. 0037refl