BT00Y2

division_successor_quotient_divisor_le

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

A division with successor quotient bounds its divisor by the 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 d n q r. (((n) = (d) * (S q) + (r) /\ (exists bcf_lt_gap_b5ccsqdl_source_bound. bcf_lt_gap_b5ccsqdl_source_bound + S (r) = d))) -> (exists bcf_le_gap_b5ccsqdl_result. bcf_le_gap_b5ccsqdl_result + (d) = n)

Structural proof guide

A division with successor quotient bounds its divisor by the dividend.

Direct prerequisites: add_assoc, add_comm. The authored body proceeds by case analysis (1), intermediate claims (2), equality transport (2).

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

21 script commands · 6 reading checkpoints · 2 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 (2)
01Fix variables and assumptionsL1–5

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

  1. L1
    intro d
  2. L2
    intro n
  3. L3
    intro q
  4. L4
    intro r
  5. L5
    intro hdivision
02Separate the logical casesL6–6

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

  1. L6
    cases hdivision
03Construct an explicit witnessL7–7

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

  1. L7
    exists d * q + r
04Calculate and transport equalitiesL8–9

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

  1. L8
    rewrite hdivision_left
  2. L9
    rewrite PA6
05Establish hleft_assocL10–11

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

  1. L10
    have hleft_assoc : (d * q + r) + d = d * q + (r + d)
  2. L11
    apply add_assoc
06Establish hright_assocL12–21

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

  1. L12
    have hright_assoc : (d * q + d) + r = d * q + (d + r)
  2. L13
    apply add_assoc
  3. L14
    trans d * q + (r + d)
  4. L15
    exact hleft_assoc
  5. L16
    trans d * q + (d + r)
  6. L17
    congr
  7. L18
    refl
  8. L19
    apply add_comm
  9. L20
    symm
  10. L21
    exact hright_assoc

Library-wide reading audit

Original exact command ledger · 21 lines
  1. 0001intro d
  2. 0002intro n
  3. 0003intro q
  4. 0004intro r
  5. 0005intro hdivision
  6. 0006cases hdivision
  7. 0007exists d * q + r
  8. 0008rewrite hdivision_left
  9. 0009rewrite PA6
  10. 0010have hleft_assoc : (d * q + r) + d = d * q + (r + d)
  11. 0011apply add_assoc
  12. 0012have hright_assoc : (d * q + d) + r = d * q + (d + r)
  13. 0013apply add_assoc
  14. 0014trans d * q + (r + d)
  15. 0015exact hleft_assoc
  16. 0016trans d * q + (d + r)
  17. 0017congr
  18. 0018refl
  19. 0019apply add_comm
  20. 0020symm
  21. 0021exact hright_assoc