PC0022

binary_split_successor_le_double_successor

Alpha v34 independently verified · alpha_closed; checked-use authorized; not Stable

The successor of a binary-split exponent is at most twice the successor of its half.

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.

Exact expanded first-order arithmetic statement

forall e h d ell. (d = 0 \/ d = 1) -> e = (h + h) + d -> ell = S e -> (exists pc_le_half_successor_result. pc_le_half_successor_result + (ell) = (S h + S h))

Constructive proof overview

Generated structural guide

The successor of a binary-split exponent is at most twice the successor of its half.

The unchanged tactic script uses 3 declared prerequisites and contains 26 exact native proof lines.

Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable

Proof neighborhood

Direct dependencies

euclidean_log_double_successor Alpha theorem; checked-use authorized le_succ_self Stable theorem; checked-use authorized le_refl Stable theorem; checked-use authorized

Direct dependents

Formal native tactic body

Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.

Read the argument

Proof checkpoints

26 script commands · 6 reading checkpoints · 3 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.

01Fix variables and assumptionsL1–7

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

  1. L1
    intro e
  2. L2
    intro h
  3. L3
    intro d
  4. L4
    intro ell
  5. L5
    intro hd
  6. L6
    intro he
  7. L7
    intro hl
02Establish hdoubleL8–13

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply euclidean log double successor.

  1. L8
    have hdouble : S h + S h = S (S (h + h))
  2. L9
    specialize euclidean_log_double_successor h
  3. L10
    apply euclidean_log_double_successor
  4. L11
    rewrite hl
  5. L12
    rewrite he
  6. L13
    rewrite hdouble
03Separate the logical casesL14–14

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

  1. L14
    cases hd
04Calculate and transport equalitiesL15–15

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

  1. L15
    rewrite hd_left
05Establish hzL16–21

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

  1. L16
    have hz : (h + h) + 0 = h + h
  2. L17
    apply PA3
  3. L18
    rewrite hz
  4. L19
    specialize le_succ_self (S (h + h))
  5. L20
    apply le_succ_self
  6. L21
    rewrite hd_right
06Establish honeL22–26

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

  1. L22
    have hone : S ((h + h) + 1) = S (S (h + h))
  2. L23
    simp
  3. L24
    rewrite hone
  4. L25
    specialize le_refl (S (S (h + h)))
  5. L26
    apply le_refl

Library-wide reading audit

Original exact command ledger · 26 lines
  1. 0001intro e
  2. 0002intro h
  3. 0003intro d
  4. 0004intro ell
  5. 0005intro hd
  6. 0006intro he
  7. 0007intro hl
  8. 0008have hdouble : S h + S h = S (S (h + h))
  9. 0009specialize euclidean_log_double_successor h
  10. 0010apply euclidean_log_double_successor
  11. 0011rewrite hl
  12. 0012rewrite he
  13. 0013rewrite hdouble
  14. 0014cases hd
  15. 0015rewrite hd_left
  16. 0016have hz : (h + h) + 0 = h + h
  17. 0017apply PA3
  18. 0018rewrite hz
  19. 0019specialize le_succ_self (S (h + h))
  20. 0020apply le_succ_self
  21. 0021rewrite hd_right
  22. 0022have hone : S ((h + h) + 1) = S (S (h + h))
  23. 0023simp
  24. 0024rewrite hone
  25. 0025specialize le_refl (S (S (h + h)))
  26. 0026apply le_refl