BT001W

multiple_has_zero_remainder

Stable checked-use theorem · independently kernel verified

Every multiple of a nonzero divisor has a bounded zero-remainder decomposition.

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 m n. ~(m = 0) -> (exists q. n = m * q) -> exists q r. (n = m * q + r /\ r = 0) /\ S r <= m

Structural proof guide

Every multiple of a nonzero divisor has a bounded zero-remainder decomposition.

Direct prerequisites: zero_or_succ. The authored body proceeds by case analysis (3), 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 · 11 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.

Named ingredients (1)
01Fix variables and assumptionsL1–4

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

  1. L1
    intro m
  2. L2
    intro n
  3. L3
    intro hm
  4. L4
    intro hd
02Separate the logical casesL5–5

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

  1. L5
    cases hd
03Use earlier factsL6–6

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

  1. L6
    specialize zero_or_succ m
04Separate the logical casesL7–8

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

  1. L7
    cases zero_or_succ
  2. L8
    exfalso
05Use earlier factsL9–10

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

  1. L9
    apply hm
  2. L10
    exact zero_or_succ_left
06Separate the logical casesL11–11

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

  1. L11
    cases zero_or_succ_right
07Construct an explicit witnessL12–13

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

  1. L12
    exists x
  2. L13
    exists 0
08Separate the logical casesL14–15

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

  1. L14
    split
  2. L15
    split
09Calculate and transport equalitiesL16–18

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

  1. L16
    rewrite hd_witness
  2. L17
    simp
  3. L18
    refl
10Construct an explicit witnessL19–19

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

  1. L19
    exists x1
11Calculate and transport equalitiesL20–21

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

  1. L20
    rewrite zero_or_succ_right_witness
  2. L21
    simp

Library-wide reading audit

Original exact command ledger · 21 lines
  1. 0001intro m
  2. 0002intro n
  3. 0003intro hm
  4. 0004intro hd
  5. 0005cases hd
  6. 0006specialize zero_or_succ m
  7. 0007cases zero_or_succ
  8. 0008exfalso
  9. 0009apply hm
  10. 0010exact zero_or_succ_left
  11. 0011cases zero_or_succ_right
  12. 0012exists x
  13. 0013exists 0
  14. 0014split
  15. 0015split
  16. 0016rewrite hd_witness
  17. 0017simp
  18. 0018refl
  19. 0019exists x1
  20. 0020rewrite zero_or_succ_right_witness
  21. 0021simp