BT003C

multiple_decidable

Stable ยท empty-context checked

Divisibility of natural numbers is constructively decidable, including the zero divisor case.

Exact expanded PA statement

forall d n. (exists q. n = d * q) \/ ~(exists q. n = d * q)

Structural proof guide

Divisibility of natural numbers is constructively decidable, including the zero divisor case.

Direct prerequisites: mul_zero_left, eq_decidable, multiple_decidable_nonzero. The authored body proceeds by case analysis (3), intermediate claims (2), equality transport (2).

Proof neighborhood

Direct dependencies

Direct dependents

Formal native tactic body

Dependencies are hypotheses of this body receipt. The focused endpoint audits separately check the complete empty-context certificates.

  1. 0001intro d
  2. 0002intro n
  3. 0003specialize eq_decidable d
  4. 0004specialize eq_decidable 0
  5. 0005have hd : d = 0 \/ ~(d = 0)
  6. 0006apply eq_decidable
  7. 0007cases hd
  8. 0008specialize eq_decidable_before n
  9. 0009specialize eq_decidable_before 0
  10. 0010have hn : n = 0 \/ ~(n = 0)
  11. 0011apply eq_decidable_before
  12. 0012cases hn
  13. 0013left
  14. 0014exists 0
  15. 0015trans 0
  16. 0016exact hn_left
  17. 0017symm
  18. 0018rewrite hd_left
  19. 0019apply mul_zero_left
  20. 0020right
  21. 0021intro hmultiple
  22. 0022cases hmultiple
  23. 0023apply hn_right
  24. 0024trans d * x
  25. 0025exact hmultiple_witness
  26. 0026rewrite hd_left
  27. 0027apply mul_zero_left
  28. 0028apply multiple_decidable_nonzero
  29. 0029exact hd_right