MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  divalgmodOLD Structured version   Visualization version   GIF version

Theorem divalgmodOLD 15338
Description: Obsolete proof of divalgmod 15337 as of 21-Aug-2021. (Contributed by Paul Chapman, 31-Mar-2011.) (New usage is discouraged.) (Proof modification is discouraged.)
Assertion
Ref Expression
divalgmodOLD ((𝑁 ∈ ℤ ∧ 𝐷 ∈ ℕ) → (𝑟 = (𝑁 mod 𝐷) ↔ (𝑟 ∈ ℕ0 ∧ (𝑟 < 𝐷𝐷 ∥ (𝑁𝑟)))))
Distinct variable groups:   𝐷,𝑟   𝑁,𝑟

Proof of Theorem divalgmodOLD
Dummy variable 𝑧 is distinct from all other variables.
StepHypRef Expression
1 zre 11583 . . . . . . . 8 (𝑁 ∈ ℤ → 𝑁 ∈ ℝ)
2 nnrp 12045 . . . . . . . 8 (𝐷 ∈ ℕ → 𝐷 ∈ ℝ+)
3 modlt 12887 . . . . . . . 8 ((𝑁 ∈ ℝ ∧ 𝐷 ∈ ℝ+) → (𝑁 mod 𝐷) < 𝐷)
41, 2, 3syl2an 583 . . . . . . 7 ((𝑁 ∈ ℤ ∧ 𝐷 ∈ ℕ) → (𝑁 mod 𝐷) < 𝐷)
5 nnre 11229 . . . . . . . . . . 11 (𝐷 ∈ ℕ → 𝐷 ∈ ℝ)
6 nnne0 11255 . . . . . . . . . . 11 (𝐷 ∈ ℕ → 𝐷 ≠ 0)
7 redivcl 10946 . . . . . . . . . . 11 ((𝑁 ∈ ℝ ∧ 𝐷 ∈ ℝ ∧ 𝐷 ≠ 0) → (𝑁 / 𝐷) ∈ ℝ)
81, 5, 6, 7syl3an 1163 . . . . . . . . . 10 ((𝑁 ∈ ℤ ∧ 𝐷 ∈ ℕ ∧ 𝐷 ∈ ℕ) → (𝑁 / 𝐷) ∈ ℝ)
983anidm23 1531 . . . . . . . . 9 ((𝑁 ∈ ℤ ∧ 𝐷 ∈ ℕ) → (𝑁 / 𝐷) ∈ ℝ)
109flcld 12807 . . . . . . . 8 ((𝑁 ∈ ℤ ∧ 𝐷 ∈ ℕ) → (⌊‘(𝑁 / 𝐷)) ∈ ℤ)
11 nnz 11601 . . . . . . . . 9 (𝐷 ∈ ℕ → 𝐷 ∈ ℤ)
1211adantl 467 . . . . . . . 8 ((𝑁 ∈ ℤ ∧ 𝐷 ∈ ℕ) → 𝐷 ∈ ℤ)
13 zmodcl 12898 . . . . . . . . . 10 ((𝑁 ∈ ℤ ∧ 𝐷 ∈ ℕ) → (𝑁 mod 𝐷) ∈ ℕ0)
1413nn0zd 11682 . . . . . . . . 9 ((𝑁 ∈ ℤ ∧ 𝐷 ∈ ℕ) → (𝑁 mod 𝐷) ∈ ℤ)
15 zsubcl 11621 . . . . . . . . 9 ((𝑁 ∈ ℤ ∧ (𝑁 mod 𝐷) ∈ ℤ) → (𝑁 − (𝑁 mod 𝐷)) ∈ ℤ)
1614, 15syldan 579 . . . . . . . 8 ((𝑁 ∈ ℤ ∧ 𝐷 ∈ ℕ) → (𝑁 − (𝑁 mod 𝐷)) ∈ ℤ)
17 nncn 11230 . . . . . . . . . . 11 (𝐷 ∈ ℕ → 𝐷 ∈ ℂ)
1817adantl 467 . . . . . . . . . 10 ((𝑁 ∈ ℤ ∧ 𝐷 ∈ ℕ) → 𝐷 ∈ ℂ)
1910zcnd 11685 . . . . . . . . . 10 ((𝑁 ∈ ℤ ∧ 𝐷 ∈ ℕ) → (⌊‘(𝑁 / 𝐷)) ∈ ℂ)
2018, 19mulcomd 10263 . . . . . . . . 9 ((𝑁 ∈ ℤ ∧ 𝐷 ∈ ℕ) → (𝐷 · (⌊‘(𝑁 / 𝐷))) = ((⌊‘(𝑁 / 𝐷)) · 𝐷))
21 modval 12878 . . . . . . . . . . 11 ((𝑁 ∈ ℝ ∧ 𝐷 ∈ ℝ+) → (𝑁 mod 𝐷) = (𝑁 − (𝐷 · (⌊‘(𝑁 / 𝐷)))))
221, 2, 21syl2an 583 . . . . . . . . . 10 ((𝑁 ∈ ℤ ∧ 𝐷 ∈ ℕ) → (𝑁 mod 𝐷) = (𝑁 − (𝐷 · (⌊‘(𝑁 / 𝐷)))))
23 zcn 11584 . . . . . . . . . . . . 13 (𝑁 ∈ ℤ → 𝑁 ∈ ℂ)
2423adantr 466 . . . . . . . . . . . 12 ((𝑁 ∈ ℤ ∧ 𝐷 ∈ ℕ) → 𝑁 ∈ ℂ)
25 zmulcl 11628 . . . . . . . . . . . . . . 15 ((𝐷 ∈ ℤ ∧ (⌊‘(𝑁 / 𝐷)) ∈ ℤ) → (𝐷 · (⌊‘(𝑁 / 𝐷))) ∈ ℤ)
2611, 10, 25syl2an 583 . . . . . . . . . . . . . 14 ((𝐷 ∈ ℕ ∧ (𝑁 ∈ ℤ ∧ 𝐷 ∈ ℕ)) → (𝐷 · (⌊‘(𝑁 / 𝐷))) ∈ ℤ)
2726anabss7 652 . . . . . . . . . . . . 13 ((𝑁 ∈ ℤ ∧ 𝐷 ∈ ℕ) → (𝐷 · (⌊‘(𝑁 / 𝐷))) ∈ ℤ)
2827zcnd 11685 . . . . . . . . . . . 12 ((𝑁 ∈ ℤ ∧ 𝐷 ∈ ℕ) → (𝐷 · (⌊‘(𝑁 / 𝐷))) ∈ ℂ)
2913nn0cnd 11555 . . . . . . . . . . . 12 ((𝑁 ∈ ℤ ∧ 𝐷 ∈ ℕ) → (𝑁 mod 𝐷) ∈ ℂ)
30 subsub23 10488 . . . . . . . . . . . 12 ((𝑁 ∈ ℂ ∧ (𝐷 · (⌊‘(𝑁 / 𝐷))) ∈ ℂ ∧ (𝑁 mod 𝐷) ∈ ℂ) → ((𝑁 − (𝐷 · (⌊‘(𝑁 / 𝐷)))) = (𝑁 mod 𝐷) ↔ (𝑁 − (𝑁 mod 𝐷)) = (𝐷 · (⌊‘(𝑁 / 𝐷)))))
3124, 28, 29, 30syl3anc 1476 . . . . . . . . . . 11 ((𝑁 ∈ ℤ ∧ 𝐷 ∈ ℕ) → ((𝑁 − (𝐷 · (⌊‘(𝑁 / 𝐷)))) = (𝑁 mod 𝐷) ↔ (𝑁 − (𝑁 mod 𝐷)) = (𝐷 · (⌊‘(𝑁 / 𝐷)))))
32 eqcom 2778 . . . . . . . . . . 11 ((𝑁 − (𝐷 · (⌊‘(𝑁 / 𝐷)))) = (𝑁 mod 𝐷) ↔ (𝑁 mod 𝐷) = (𝑁 − (𝐷 · (⌊‘(𝑁 / 𝐷)))))
33 eqcom 2778 . . . . . . . . . . 11 ((𝑁 − (𝑁 mod 𝐷)) = (𝐷 · (⌊‘(𝑁 / 𝐷))) ↔ (𝐷 · (⌊‘(𝑁 / 𝐷))) = (𝑁 − (𝑁 mod 𝐷)))
3431, 32, 333bitr3g 302 . . . . . . . . . 10 ((𝑁 ∈ ℤ ∧ 𝐷 ∈ ℕ) → ((𝑁 mod 𝐷) = (𝑁 − (𝐷 · (⌊‘(𝑁 / 𝐷)))) ↔ (𝐷 · (⌊‘(𝑁 / 𝐷))) = (𝑁 − (𝑁 mod 𝐷))))
3522, 34mpbid 222 . . . . . . . . 9 ((𝑁 ∈ ℤ ∧ 𝐷 ∈ ℕ) → (𝐷 · (⌊‘(𝑁 / 𝐷))) = (𝑁 − (𝑁 mod 𝐷)))
3620, 35eqtr3d 2807 . . . . . . . 8 ((𝑁 ∈ ℤ ∧ 𝐷 ∈ ℕ) → ((⌊‘(𝑁 / 𝐷)) · 𝐷) = (𝑁 − (𝑁 mod 𝐷)))
37 dvds0lem 15201 . . . . . . . 8 ((((⌊‘(𝑁 / 𝐷)) ∈ ℤ ∧ 𝐷 ∈ ℤ ∧ (𝑁 − (𝑁 mod 𝐷)) ∈ ℤ) ∧ ((⌊‘(𝑁 / 𝐷)) · 𝐷) = (𝑁 − (𝑁 mod 𝐷))) → 𝐷 ∥ (𝑁 − (𝑁 mod 𝐷)))
3810, 12, 16, 36, 37syl31anc 1479 . . . . . . 7 ((𝑁 ∈ ℤ ∧ 𝐷 ∈ ℕ) → 𝐷 ∥ (𝑁 − (𝑁 mod 𝐷)))
39 divalg2 15336 . . . . . . . 8 ((𝑁 ∈ ℤ ∧ 𝐷 ∈ ℕ) → ∃!𝑧 ∈ ℕ0 (𝑧 < 𝐷𝐷 ∥ (𝑁𝑧)))
40 breq1 4789 . . . . . . . . . 10 (𝑧 = (𝑁 mod 𝐷) → (𝑧 < 𝐷 ↔ (𝑁 mod 𝐷) < 𝐷))
41 oveq2 6801 . . . . . . . . . . 11 (𝑧 = (𝑁 mod 𝐷) → (𝑁𝑧) = (𝑁 − (𝑁 mod 𝐷)))
4241breq2d 4798 . . . . . . . . . 10 (𝑧 = (𝑁 mod 𝐷) → (𝐷 ∥ (𝑁𝑧) ↔ 𝐷 ∥ (𝑁 − (𝑁 mod 𝐷))))
4340, 42anbi12d 616 . . . . . . . . 9 (𝑧 = (𝑁 mod 𝐷) → ((𝑧 < 𝐷𝐷 ∥ (𝑁𝑧)) ↔ ((𝑁 mod 𝐷) < 𝐷𝐷 ∥ (𝑁 − (𝑁 mod 𝐷)))))
4443riota2 6776 . . . . . . . 8 (((𝑁 mod 𝐷) ∈ ℕ0 ∧ ∃!𝑧 ∈ ℕ0 (𝑧 < 𝐷𝐷 ∥ (𝑁𝑧))) → (((𝑁 mod 𝐷) < 𝐷𝐷 ∥ (𝑁 − (𝑁 mod 𝐷))) ↔ (𝑧 ∈ ℕ0 (𝑧 < 𝐷𝐷 ∥ (𝑁𝑧))) = (𝑁 mod 𝐷)))
4513, 39, 44syl2anc 573 . . . . . . 7 ((𝑁 ∈ ℤ ∧ 𝐷 ∈ ℕ) → (((𝑁 mod 𝐷) < 𝐷𝐷 ∥ (𝑁 − (𝑁 mod 𝐷))) ↔ (𝑧 ∈ ℕ0 (𝑧 < 𝐷𝐷 ∥ (𝑁𝑧))) = (𝑁 mod 𝐷)))
464, 38, 45mpbi2and 691 . . . . . 6 ((𝑁 ∈ ℤ ∧ 𝐷 ∈ ℕ) → (𝑧 ∈ ℕ0 (𝑧 < 𝐷𝐷 ∥ (𝑁𝑧))) = (𝑁 mod 𝐷))
4746eqcomd 2777 . . . . 5 ((𝑁 ∈ ℤ ∧ 𝐷 ∈ ℕ) → (𝑁 mod 𝐷) = (𝑧 ∈ ℕ0 (𝑧 < 𝐷𝐷 ∥ (𝑁𝑧))))
4847sneqd 4328 . . . 4 ((𝑁 ∈ ℤ ∧ 𝐷 ∈ ℕ) → {(𝑁 mod 𝐷)} = {(𝑧 ∈ ℕ0 (𝑧 < 𝐷𝐷 ∥ (𝑁𝑧)))})
49 snriota 6784 . . . . 5 (∃!𝑧 ∈ ℕ0 (𝑧 < 𝐷𝐷 ∥ (𝑁𝑧)) → {𝑧 ∈ ℕ0 ∣ (𝑧 < 𝐷𝐷 ∥ (𝑁𝑧))} = {(𝑧 ∈ ℕ0 (𝑧 < 𝐷𝐷 ∥ (𝑁𝑧)))})
5039, 49syl 17 . . . 4 ((𝑁 ∈ ℤ ∧ 𝐷 ∈ ℕ) → {𝑧 ∈ ℕ0 ∣ (𝑧 < 𝐷𝐷 ∥ (𝑁𝑧))} = {(𝑧 ∈ ℕ0 (𝑧 < 𝐷𝐷 ∥ (𝑁𝑧)))})
5148, 50eqtr4d 2808 . . 3 ((𝑁 ∈ ℤ ∧ 𝐷 ∈ ℕ) → {(𝑁 mod 𝐷)} = {𝑧 ∈ ℕ0 ∣ (𝑧 < 𝐷𝐷 ∥ (𝑁𝑧))})
5251eleq2d 2836 . 2 ((𝑁 ∈ ℤ ∧ 𝐷 ∈ ℕ) → (𝑟 ∈ {(𝑁 mod 𝐷)} ↔ 𝑟 ∈ {𝑧 ∈ ℕ0 ∣ (𝑧 < 𝐷𝐷 ∥ (𝑁𝑧))}))
53 velsn 4332 . 2 (𝑟 ∈ {(𝑁 mod 𝐷)} ↔ 𝑟 = (𝑁 mod 𝐷))
54 breq1 4789 . . . 4 (𝑧 = 𝑟 → (𝑧 < 𝐷𝑟 < 𝐷))
55 oveq2 6801 . . . . 5 (𝑧 = 𝑟 → (𝑁𝑧) = (𝑁𝑟))
5655breq2d 4798 . . . 4 (𝑧 = 𝑟 → (𝐷 ∥ (𝑁𝑧) ↔ 𝐷 ∥ (𝑁𝑟)))
5754, 56anbi12d 616 . . 3 (𝑧 = 𝑟 → ((𝑧 < 𝐷𝐷 ∥ (𝑁𝑧)) ↔ (𝑟 < 𝐷𝐷 ∥ (𝑁𝑟))))
5857elrab 3515 . 2 (𝑟 ∈ {𝑧 ∈ ℕ0 ∣ (𝑧 < 𝐷𝐷 ∥ (𝑁𝑧))} ↔ (𝑟 ∈ ℕ0 ∧ (𝑟 < 𝐷𝐷 ∥ (𝑁𝑟))))
5952, 53, 583bitr3g 302 1 ((𝑁 ∈ ℤ ∧ 𝐷 ∈ ℕ) → (𝑟 = (𝑁 mod 𝐷) ↔ (𝑟 ∈ ℕ0 ∧ (𝑟 < 𝐷𝐷 ∥ (𝑁𝑟)))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 196  wa 382   = wceq 1631  wcel 2145  wne 2943  ∃!wreu 3063  {crab 3065  {csn 4316   class class class wbr 4786  cfv 6031  crio 6753  (class class class)co 6793  cc 10136  cr 10137  0cc0 10138   · cmul 10143   < clt 10276  cmin 10468   / cdiv 10886  cn 11222  0cn0 11494  cz 11579  +crp 12035  cfl 12799   mod cmo 12876  cdvds 15189
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1870  ax-4 1885  ax-5 1991  ax-6 2057  ax-7 2093  ax-8 2147  ax-9 2154  ax-10 2174  ax-11 2190  ax-12 2203  ax-13 2408  ax-ext 2751  ax-sep 4915  ax-nul 4923  ax-pow 4974  ax-pr 5034  ax-un 7096  ax-cnex 10194  ax-resscn 10195  ax-1cn 10196  ax-icn 10197  ax-addcl 10198  ax-addrcl 10199  ax-mulcl 10200  ax-mulrcl 10201  ax-mulcom 10202  ax-addass 10203  ax-mulass 10204  ax-distr 10205  ax-i2m1 10206  ax-1ne0 10207  ax-1rid 10208  ax-rnegex 10209  ax-rrecex 10210  ax-cnre 10211  ax-pre-lttri 10212  ax-pre-lttrn 10213  ax-pre-ltadd 10214  ax-pre-mulgt0 10215  ax-pre-sup 10216
This theorem depends on definitions:  df-bi 197  df-an 383  df-or 837  df-3or 1072  df-3an 1073  df-tru 1634  df-ex 1853  df-nf 1858  df-sb 2050  df-eu 2622  df-mo 2623  df-clab 2758  df-cleq 2764  df-clel 2767  df-nfc 2902  df-ne 2944  df-nel 3047  df-ral 3066  df-rex 3067  df-reu 3068  df-rmo 3069  df-rab 3070  df-v 3353  df-sbc 3588  df-csb 3683  df-dif 3726  df-un 3728  df-in 3730  df-ss 3737  df-pss 3739  df-nul 4064  df-if 4226  df-pw 4299  df-sn 4317  df-pr 4319  df-tp 4321  df-op 4323  df-uni 4575  df-iun 4656  df-br 4787  df-opab 4847  df-mpt 4864  df-tr 4887  df-id 5157  df-eprel 5162  df-po 5170  df-so 5171  df-fr 5208  df-we 5210  df-xp 5255  df-rel 5256  df-cnv 5257  df-co 5258  df-dm 5259  df-rn 5260  df-res 5261  df-ima 5262  df-pred 5823  df-ord 5869  df-on 5870  df-lim 5871  df-suc 5872  df-iota 5994  df-fun 6033  df-fn 6034  df-f 6035  df-f1 6036  df-fo 6037  df-f1o 6038  df-fv 6039  df-riota 6754  df-ov 6796  df-oprab 6797  df-mpt2 6798  df-om 7213  df-1st 7315  df-2nd 7316  df-wrecs 7559  df-recs 7621  df-rdg 7659  df-er 7896  df-en 8110  df-dom 8111  df-sdom 8112  df-sup 8504  df-inf 8505  df-pnf 10278  df-mnf 10279  df-xr 10280  df-ltxr 10281  df-le 10282  df-sub 10470  df-neg 10471  df-div 10887  df-nn 11223  df-2 11281  df-3 11282  df-n0 11495  df-z 11580  df-uz 11889  df-rp 12036  df-fz 12534  df-fl 12801  df-mod 12877  df-seq 13009  df-exp 13068  df-cj 14047  df-re 14048  df-im 14049  df-sqrt 14183  df-abs 14184  df-dvds 15190
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator