PA0014 · theorem

divides_remainder

Stable checked-use theorem · independently closed

A common divisor of a dividend and divisor also divides the remainder.

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.

Statement with defined notation

∀ c. ∀ a. ∀ b. ∀ q. ∀ r. Dvd(c,a)Dvd(c,b) → a = b · q + r → Dvd(c,r)

Every purple notation token opens its conservative definition. This is a reading surface; the compiler expands the statement before the unchanged kernel checks it.

Definitions used by this theorem

In the theorem statement

3 occurrences

In local proof propositions

none

0 occurrences

Exact expanded native-PA statement
forall c a b q r. (exists u. a = c * u) -> (exists v. b = c * v) -> a = b * q + r -> exists w. r = c * w

Proof neighborhood

Direct theorem prerequisites

Direct theorem dependents

Definition-aware tactic body

Only local propositions introduced by have or suffices are compacted. The untrusted compiler re-expands each one before the original tactic script is replayed; defined notation is never accepted by the kernel. Open the exact replay line beneath every changed command.

Read the argument

Proof checkpoints

24 script commands · 10 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.

Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.

Named ingredients (2)
01Fix variables and assumptionsL1–8

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

  1. L1
    intro c
  2. L2
    intro a
  3. L3
    intro b
  4. L4
    intro q
  5. L5
    intro r
  6. L6
    intro ha
  7. L7
    intro hb
  8. L8
    intro h
02Separate the logical casesL9–10

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

  1. L9
    cases ha
  2. L10
    cases hb
03Use earlier factsL11–15

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

  1. L11
    specialize factor_difference c
  2. L12
    specialize factor_difference x
  3. L13
    specialize factor_difference (x1 * q)
  4. L14
    specialize factor_difference r
  5. L15
    apply factor_difference
04Calculate and transport equalitiesL16–17

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

  1. L16
    trans a
  2. L17
    symm
05Use earlier factsL18–18

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

  1. L18
    exact ha_witness
06Calculate and transport equalitiesL19–19

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

  1. L19
    trans b * q + r
07Use earlier factsL20–20

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

  1. L20
    exact h
08Calculate and transport equalitiesL21–22

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

  1. L21
    congr
  2. L22
    rewrite hb_witness
09Use earlier factsL23–23

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

  1. L23
    apply mul_assoc
10Calculate and transport equalitiesL24–24

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

  1. L24
    refl

Library-wide reading audit

Original defined command ledger · 24 lines
  1. 0001intro c
  2. 0002intro a
  3. 0003intro b
  4. 0004intro q
  5. 0005intro r
  6. 0006intro ha
  7. 0007intro hb
  8. 0008intro h
  9. 0009cases ha
  10. 0010cases hb
  11. 0011specialize factor_difference c
  12. 0012specialize factor_difference x
  13. 0013specialize factor_difference (x1 * q)
  14. 0014specialize factor_difference r
  15. 0015apply factor_difference
  16. 0016trans a
  17. 0017symm
  18. 0018exact ha_witness
  19. 0019trans b * q + r
  20. 0020exact h
  21. 0021congr
  22. 0022rewrite hb_witness
  23. 0023apply mul_assoc
  24. 0024refl