DI0002

divisor_complement_exists

Decide zero and divisibility constructively, extracting a real quotient only in the positive-divisor branch.

Alpha v34 checked-use · first admitted v31 · independently kernel and Lean verified; not Stable

Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.

The complementary quotient is witnessed by n=d*q at positive divisors. The actual permutation covers indices zero through n, fixing zero and nondivisors. This is the involution foundation for the separate cancellation and full G007 inversion proofs, not an assumed divisor bijection.

Exact theorem in conservative defined notation

∀ n. ∀ d. ¬n = 0 → ∃ x. DivisorComplement(n,d,x)

Every linked abbreviation expands hygienically to the identical original native formula.

Definition DAG

Actual proof prerequisites

Original expanded first-order statement
forall n d. ~(n=0) -> exists q. ((((~((d)=0)) /\ ((n)=(d)*(q)))) \/ ((((d)=0 \/ ~(exists pvs_factor_exists_resultnondivisor. (n) = (d) * pvs_factor_exists_resultnondivisor)) /\ ((q)=(d)))))

Complete tactic proof in conservative notation

All 32 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay script.

Read the argument

Proof checkpoints

32 script commands · 16 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.

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

01Fix variables and assumptionsL1–3

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

  1. L1
    intro n
  2. L2
    intro d
  3. L3
    intro hn
02Establish hzL4–7

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

  1. L4
    have hz : d=0 \/ ~(d=0)
  2. L5
    specialize eq_decidable (d)
  3. L6
    specialize eq_decidable (0)
  4. L7
    apply eq_decidable
03Separate the logical casesL8–8

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

  1. L8
    cases hz
04Construct an explicit witnessL9–9

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

  1. L9
    exists d
05Separate the logical casesL10–12

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

  1. L10
    right
  2. L11
    split
  3. L12
    left
06Use earlier factsL13–13

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

  1. L13
    exact hz_left
07Calculate and transport equalitiesL14–14

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

  1. L14
    refl
08Establish hdL15–19

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply multiple decidable nonzero.

  1. L15
    have hd : Dvd(d,n) ∨ ¬Dvd(d,n)Definitions: Dvd(d,n)Original native command in the exact edition
  2. L16
    specialize multiple_decidable_nonzero (d)
  3. L17
    specialize multiple_decidable_nonzero (n)
  4. L18
    apply multiple_decidable_nonzero
  5. L19
    exact hz_right
09Separate the logical casesL20–21

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

  1. L20
    cases hd
  2. L21
    cases hd_left
10Construct an explicit witnessL22–22

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

  1. L22
    exists x
11Separate the logical casesL23–24

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

  1. L23
    left
  2. L24
    split
12Use earlier factsL25–26

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

  1. L25
    exact hz_right
  2. L26
    exact hd_left_witness
13Construct an explicit witnessL27–27

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

  1. L27
    exists d
14Separate the logical casesL28–30

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

  1. L28
    right
  2. L29
    split
  3. L30
    right
15Use earlier factsL31–31

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

  1. L31
    exact hd_right
16Calculate and transport equalitiesL32–32

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

  1. L32
    refl

Library-wide reading audit

Original defined command ledger · 32 lines
  1. 0001intro n
  2. 0002intro d
  3. 0003intro hn
  4. 0004have hz : d=0 \/ ~(d=0)
  5. 0005specialize eq_decidable (d)
  6. 0006specialize eq_decidable (0)
  7. 0007apply eq_decidable
  8. 0008cases hz
  9. 0009exists d
  10. 0010right
  11. 0011split
  12. 0012left
  13. 0013exact hz_left
  14. 0014refl
  15. 0015have hd : Dvd(d,n) ∨ ¬Dvd(d,n)
  16. 0016specialize multiple_decidable_nonzero (d)
  17. 0017specialize multiple_decidable_nonzero (n)
  18. 0018apply multiple_decidable_nonzero
  19. 0019exact hz_right
  20. 0020cases hd
  21. 0021cases hd_left
  22. 0022exists x
  23. 0023left
  24. 0024split
  25. 0025exact hz_right
  26. 0026exact hd_left_witness
  27. 0027exists d
  28. 0028right
  29. 0029split
  30. 0030right
  31. 0031exact hd_right
  32. 0032refl