BT010H

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.

Exact expanded 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)

Structural proof guide

The quotient by three is bounded by its doubled dividend.

Direct prerequisites: le_mul_of_one_le_left, le_add_right, le_trans. The authored body proceeds by case analysis (1), intermediate claims (4), equality transport (1), closed numeral normalization (1).

Proof neighborhood

Direct dependencies

Direct dependents

Formal native tactic body

Dependencies are hypotheses of the historical Alpha-v12 body receipt. The complete historical Alpha-v18 proof bundle independently checks every dependency; current Alpha v25 preserves that checked theorem use without changing Stable membership.

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.

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 : exists bcf_le_gap_b5rbdqld_one_three. bcf_le_gap_b5rbdqld_one_three + (1) = 3
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 : exists bcf_le_gap_b5rbdqld_scaled. bcf_le_gap_b5rbdqld_scaled + (q) = 3 * q
  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 : exists bcf_le_gap_b5rbdqld_added. bcf_le_gap_b5rbdqld_added + (3 * q) = 3 * q + r
  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 : exists bcf_le_gap_b5rbdqld_raw. bcf_le_gap_b5rbdqld_raw + (q) = 3 * q + r
  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 exact command ledger · 26 lines
  1. 0001intro n
  2. 0002intro q
  3. 0003intro r
  4. 0004intro hdivision
  5. 0005cases hdivision
  6. 0006have 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 : 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 : 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 : 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