BE000F

binary_execution_horner_digit_split

A valid final Horner digit yields the exact exponent decomposition e=2h+d.

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

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.

G102 was OPEN at this family's Alpha-v22 first admission: complete execution was proved only for a supplied valid beta-coded digit prefix. G102 is now CLOSED in Alpha v23 for every arbitrary exponent, with actual canonical digits and operations≤3*BitLen(e)+2.

Exact theorem in conservative defined notation

∀ h. ∀ e. ∀ d. d = 0 ∨ d = 1 → e = h · 2 + d → BinaryExponentSplit(e,h,d)

Every linked abbreviation expands hygienically to the identical original native formula.

Definition DAG

Actual proof prerequisites

mul_comm · checked external prerequisitetwo_mul_eq_add_self · checked external prerequisite
Original expanded first-order statement
forall h e d. (d = 0 \/ d = 1) -> e = h * 2 + d -> ((((d = 0) \/ (d = 1)) /\ e = (h + h) + d))

Complete unchanged native tactic proof

All 16 lines are the exact independently kernel-checked original script.

Read the argument

Proof checkpoints

16 script commands · 6 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.

01Fix variables and assumptionsL1–5

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

  1. L1
    intro h
  2. L2
    intro e
  3. L3
    intro d
  4. L4
    intro hbit
  5. L5
    intro hexponent
02Establish hdoubleL6–12

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

  1. L6
    have hdouble : h * 2 = h + h
  2. L7
    trans 2 * h
  3. L8
    specialize mul_comm h
  4. L9
    specialize mul_comm 2
  5. L10
    exact mul_comm
  6. L11
    specialize two_mul_eq_add_self h
  7. L12
    exact two_mul_eq_add_self
03Separate the logical casesL13–13

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

  1. L13
    split
04Use earlier factsL14–14

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

  1. L14
    exact hbit
05Calculate and transport equalitiesL15–15

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

  1. L15
    rewrite <- hdouble
06Use earlier factsL16–16

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

  1. L16
    exact hexponent

Library-wide reading audit

Original defined command ledger · 16 lines
  1. 0001intro h
  2. 0002intro e
  3. 0003intro d
  4. 0004intro hbit
  5. 0005intro hexponent
  6. 0006have hdouble : h * 2 = h + h
  7. 0007trans 2 * h
  8. 0008specialize mul_comm h
  9. 0009specialize mul_comm 2
  10. 0010exact mul_comm
  11. 0011specialize two_mul_eq_add_self h
  12. 0012exact two_mul_eq_add_self
  13. 0013split
  14. 0014exact hbit
  15. 0015rewrite <- hdouble
  16. 0016exact hexponent