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

Theorem divalgmod 16348
Description: The result of the mod operator satisfies the requirements for the remainder ๐‘… in the division algorithm for a positive divisor (compare divalg2 16347 and divalgb 16346). This demonstration theorem justifies the use of mod to yield an explicit remainder from this point forward. (Contributed by Paul Chapman, 31-Mar-2011.) (Revised by AV, 21-Aug-2021.)
Assertion
Ref Expression
divalgmod ((๐‘ โˆˆ โ„ค โˆง ๐ท โˆˆ โ„•) โ†’ (๐‘… = (๐‘ mod ๐ท) โ†” (๐‘… โˆˆ โ„•0 โˆง (๐‘… < ๐ท โˆง ๐ท โˆฅ (๐‘ โˆ’ ๐‘…)))))

Proof of Theorem divalgmod
Dummy variable ๐‘ง is distinct from all other variables.
StepHypRef Expression
1 ovex 7441 . . . . . 6 (๐‘ mod ๐ท) โˆˆ V
21snid 4664 . . . . 5 (๐‘ mod ๐ท) โˆˆ {(๐‘ mod ๐ท)}
3 eleq1 2821 . . . . 5 (๐‘… = (๐‘ mod ๐ท) โ†’ (๐‘… โˆˆ {(๐‘ mod ๐ท)} โ†” (๐‘ mod ๐ท) โˆˆ {(๐‘ mod ๐ท)}))
42, 3mpbiri 257 . . . 4 (๐‘… = (๐‘ mod ๐ท) โ†’ ๐‘… โˆˆ {(๐‘ mod ๐ท)})
5 elsni 4645 . . . 4 (๐‘… โˆˆ {(๐‘ mod ๐ท)} โ†’ ๐‘… = (๐‘ mod ๐ท))
64, 5impbii 208 . . 3 (๐‘… = (๐‘ mod ๐ท) โ†” ๐‘… โˆˆ {(๐‘ mod ๐ท)})
7 zre 12561 . . . . . . . . 9 (๐‘ โˆˆ โ„ค โ†’ ๐‘ โˆˆ โ„)
8 nnrp 12984 . . . . . . . . 9 (๐ท โˆˆ โ„• โ†’ ๐ท โˆˆ โ„+)
9 modlt 13844 . . . . . . . . 9 ((๐‘ โˆˆ โ„ โˆง ๐ท โˆˆ โ„+) โ†’ (๐‘ mod ๐ท) < ๐ท)
107, 8, 9syl2an 596 . . . . . . . 8 ((๐‘ โˆˆ โ„ค โˆง ๐ท โˆˆ โ„•) โ†’ (๐‘ mod ๐ท) < ๐ท)
11 nnre 12218 . . . . . . . . . . . 12 (๐ท โˆˆ โ„• โ†’ ๐ท โˆˆ โ„)
12 nnne0 12245 . . . . . . . . . . . 12 (๐ท โˆˆ โ„• โ†’ ๐ท โ‰  0)
13 redivcl 11932 . . . . . . . . . . . 12 ((๐‘ โˆˆ โ„ โˆง ๐ท โˆˆ โ„ โˆง ๐ท โ‰  0) โ†’ (๐‘ / ๐ท) โˆˆ โ„)
147, 11, 12, 13syl3an 1160 . . . . . . . . . . 11 ((๐‘ โˆˆ โ„ค โˆง ๐ท โˆˆ โ„• โˆง ๐ท โˆˆ โ„•) โ†’ (๐‘ / ๐ท) โˆˆ โ„)
15143anidm23 1421 . . . . . . . . . 10 ((๐‘ โˆˆ โ„ค โˆง ๐ท โˆˆ โ„•) โ†’ (๐‘ / ๐ท) โˆˆ โ„)
1615flcld 13762 . . . . . . . . 9 ((๐‘ โˆˆ โ„ค โˆง ๐ท โˆˆ โ„•) โ†’ (โŒŠโ€˜(๐‘ / ๐ท)) โˆˆ โ„ค)
17 nnz 12578 . . . . . . . . . 10 (๐ท โˆˆ โ„• โ†’ ๐ท โˆˆ โ„ค)
1817adantl 482 . . . . . . . . 9 ((๐‘ โˆˆ โ„ค โˆง ๐ท โˆˆ โ„•) โ†’ ๐ท โˆˆ โ„ค)
19 zmodcl 13855 . . . . . . . . . . 11 ((๐‘ โˆˆ โ„ค โˆง ๐ท โˆˆ โ„•) โ†’ (๐‘ mod ๐ท) โˆˆ โ„•0)
2019nn0zd 12583 . . . . . . . . . 10 ((๐‘ โˆˆ โ„ค โˆง ๐ท โˆˆ โ„•) โ†’ (๐‘ mod ๐ท) โˆˆ โ„ค)
21 zsubcl 12603 . . . . . . . . . 10 ((๐‘ โˆˆ โ„ค โˆง (๐‘ mod ๐ท) โˆˆ โ„ค) โ†’ (๐‘ โˆ’ (๐‘ mod ๐ท)) โˆˆ โ„ค)
2220, 21syldan 591 . . . . . . . . 9 ((๐‘ โˆˆ โ„ค โˆง ๐ท โˆˆ โ„•) โ†’ (๐‘ โˆ’ (๐‘ mod ๐ท)) โˆˆ โ„ค)
23 nncn 12219 . . . . . . . . . . . 12 (๐ท โˆˆ โ„• โ†’ ๐ท โˆˆ โ„‚)
2423adantl 482 . . . . . . . . . . 11 ((๐‘ โˆˆ โ„ค โˆง ๐ท โˆˆ โ„•) โ†’ ๐ท โˆˆ โ„‚)
2516zcnd 12666 . . . . . . . . . . 11 ((๐‘ โˆˆ โ„ค โˆง ๐ท โˆˆ โ„•) โ†’ (โŒŠโ€˜(๐‘ / ๐ท)) โˆˆ โ„‚)
2624, 25mulcomd 11234 . . . . . . . . . 10 ((๐‘ โˆˆ โ„ค โˆง ๐ท โˆˆ โ„•) โ†’ (๐ท ยท (โŒŠโ€˜(๐‘ / ๐ท))) = ((โŒŠโ€˜(๐‘ / ๐ท)) ยท ๐ท))
27 modval 13835 . . . . . . . . . . . 12 ((๐‘ โˆˆ โ„ โˆง ๐ท โˆˆ โ„+) โ†’ (๐‘ mod ๐ท) = (๐‘ โˆ’ (๐ท ยท (โŒŠโ€˜(๐‘ / ๐ท)))))
287, 8, 27syl2an 596 . . . . . . . . . . 11 ((๐‘ โˆˆ โ„ค โˆง ๐ท โˆˆ โ„•) โ†’ (๐‘ mod ๐ท) = (๐‘ โˆ’ (๐ท ยท (โŒŠโ€˜(๐‘ / ๐ท)))))
2919nn0cnd 12533 . . . . . . . . . . . 12 ((๐‘ โˆˆ โ„ค โˆง ๐ท โˆˆ โ„•) โ†’ (๐‘ mod ๐ท) โˆˆ โ„‚)
30 zmulcl 12610 . . . . . . . . . . . . . 14 ((๐ท โˆˆ โ„ค โˆง (โŒŠโ€˜(๐‘ / ๐ท)) โˆˆ โ„ค) โ†’ (๐ท ยท (โŒŠโ€˜(๐‘ / ๐ท))) โˆˆ โ„ค)
3117, 16, 30syl2an2 684 . . . . . . . . . . . . 13 ((๐‘ โˆˆ โ„ค โˆง ๐ท โˆˆ โ„•) โ†’ (๐ท ยท (โŒŠโ€˜(๐‘ / ๐ท))) โˆˆ โ„ค)
3231zcnd 12666 . . . . . . . . . . . 12 ((๐‘ โˆˆ โ„ค โˆง ๐ท โˆˆ โ„•) โ†’ (๐ท ยท (โŒŠโ€˜(๐‘ / ๐ท))) โˆˆ โ„‚)
33 zcn 12562 . . . . . . . . . . . . 13 (๐‘ โˆˆ โ„ค โ†’ ๐‘ โˆˆ โ„‚)
3433adantr 481 . . . . . . . . . . . 12 ((๐‘ โˆˆ โ„ค โˆง ๐ท โˆˆ โ„•) โ†’ ๐‘ โˆˆ โ„‚)
3529, 32, 34subexsub 11631 . . . . . . . . . . 11 ((๐‘ โˆˆ โ„ค โˆง ๐ท โˆˆ โ„•) โ†’ ((๐‘ mod ๐ท) = (๐‘ โˆ’ (๐ท ยท (โŒŠโ€˜(๐‘ / ๐ท)))) โ†” (๐ท ยท (โŒŠโ€˜(๐‘ / ๐ท))) = (๐‘ โˆ’ (๐‘ mod ๐ท))))
3628, 35mpbid 231 . . . . . . . . . 10 ((๐‘ โˆˆ โ„ค โˆง ๐ท โˆˆ โ„•) โ†’ (๐ท ยท (โŒŠโ€˜(๐‘ / ๐ท))) = (๐‘ โˆ’ (๐‘ mod ๐ท)))
3726, 36eqtr3d 2774 . . . . . . . . 9 ((๐‘ โˆˆ โ„ค โˆง ๐ท โˆˆ โ„•) โ†’ ((โŒŠโ€˜(๐‘ / ๐ท)) ยท ๐ท) = (๐‘ โˆ’ (๐‘ mod ๐ท)))
38 dvds0lem 16209 . . . . . . . . 9 ((((โŒŠโ€˜(๐‘ / ๐ท)) โˆˆ โ„ค โˆง ๐ท โˆˆ โ„ค โˆง (๐‘ โˆ’ (๐‘ mod ๐ท)) โˆˆ โ„ค) โˆง ((โŒŠโ€˜(๐‘ / ๐ท)) ยท ๐ท) = (๐‘ โˆ’ (๐‘ mod ๐ท))) โ†’ ๐ท โˆฅ (๐‘ โˆ’ (๐‘ mod ๐ท)))
3916, 18, 22, 37, 38syl31anc 1373 . . . . . . . 8 ((๐‘ โˆˆ โ„ค โˆง ๐ท โˆˆ โ„•) โ†’ ๐ท โˆฅ (๐‘ โˆ’ (๐‘ mod ๐ท)))
40 divalg2 16347 . . . . . . . . 9 ((๐‘ โˆˆ โ„ค โˆง ๐ท โˆˆ โ„•) โ†’ โˆƒ!๐‘ง โˆˆ โ„•0 (๐‘ง < ๐ท โˆง ๐ท โˆฅ (๐‘ โˆ’ ๐‘ง)))
41 breq1 5151 . . . . . . . . . . 11 (๐‘ง = (๐‘ mod ๐ท) โ†’ (๐‘ง < ๐ท โ†” (๐‘ mod ๐ท) < ๐ท))
42 oveq2 7416 . . . . . . . . . . . 12 (๐‘ง = (๐‘ mod ๐ท) โ†’ (๐‘ โˆ’ ๐‘ง) = (๐‘ โˆ’ (๐‘ mod ๐ท)))
4342breq2d 5160 . . . . . . . . . . 11 (๐‘ง = (๐‘ mod ๐ท) โ†’ (๐ท โˆฅ (๐‘ โˆ’ ๐‘ง) โ†” ๐ท โˆฅ (๐‘ โˆ’ (๐‘ mod ๐ท))))
4441, 43anbi12d 631 . . . . . . . . . 10 (๐‘ง = (๐‘ mod ๐ท) โ†’ ((๐‘ง < ๐ท โˆง ๐ท โˆฅ (๐‘ โˆ’ ๐‘ง)) โ†” ((๐‘ mod ๐ท) < ๐ท โˆง ๐ท โˆฅ (๐‘ โˆ’ (๐‘ mod ๐ท)))))
4544riota2 7390 . . . . . . . . 9 (((๐‘ mod ๐ท) โˆˆ โ„•0 โˆง โˆƒ!๐‘ง โˆˆ โ„•0 (๐‘ง < ๐ท โˆง ๐ท โˆฅ (๐‘ โˆ’ ๐‘ง))) โ†’ (((๐‘ mod ๐ท) < ๐ท โˆง ๐ท โˆฅ (๐‘ โˆ’ (๐‘ mod ๐ท))) โ†” (โ„ฉ๐‘ง โˆˆ โ„•0 (๐‘ง < ๐ท โˆง ๐ท โˆฅ (๐‘ โˆ’ ๐‘ง))) = (๐‘ mod ๐ท)))
4619, 40, 45syl2anc 584 . . . . . . . 8 ((๐‘ โˆˆ โ„ค โˆง ๐ท โˆˆ โ„•) โ†’ (((๐‘ mod ๐ท) < ๐ท โˆง ๐ท โˆฅ (๐‘ โˆ’ (๐‘ mod ๐ท))) โ†” (โ„ฉ๐‘ง โˆˆ โ„•0 (๐‘ง < ๐ท โˆง ๐ท โˆฅ (๐‘ โˆ’ ๐‘ง))) = (๐‘ mod ๐ท)))
4710, 39, 46mpbi2and 710 . . . . . . 7 ((๐‘ โˆˆ โ„ค โˆง ๐ท โˆˆ โ„•) โ†’ (โ„ฉ๐‘ง โˆˆ โ„•0 (๐‘ง < ๐ท โˆง ๐ท โˆฅ (๐‘ โˆ’ ๐‘ง))) = (๐‘ mod ๐ท))
4847eqcomd 2738 . . . . . 6 ((๐‘ โˆˆ โ„ค โˆง ๐ท โˆˆ โ„•) โ†’ (๐‘ mod ๐ท) = (โ„ฉ๐‘ง โˆˆ โ„•0 (๐‘ง < ๐ท โˆง ๐ท โˆฅ (๐‘ โˆ’ ๐‘ง))))
4948sneqd 4640 . . . . 5 ((๐‘ โˆˆ โ„ค โˆง ๐ท โˆˆ โ„•) โ†’ {(๐‘ mod ๐ท)} = {(โ„ฉ๐‘ง โˆˆ โ„•0 (๐‘ง < ๐ท โˆง ๐ท โˆฅ (๐‘ โˆ’ ๐‘ง)))})
50 snriota 7398 . . . . . 6 (โˆƒ!๐‘ง โˆˆ โ„•0 (๐‘ง < ๐ท โˆง ๐ท โˆฅ (๐‘ โˆ’ ๐‘ง)) โ†’ {๐‘ง โˆˆ โ„•0 โˆฃ (๐‘ง < ๐ท โˆง ๐ท โˆฅ (๐‘ โˆ’ ๐‘ง))} = {(โ„ฉ๐‘ง โˆˆ โ„•0 (๐‘ง < ๐ท โˆง ๐ท โˆฅ (๐‘ โˆ’ ๐‘ง)))})
5140, 50syl 17 . . . . 5 ((๐‘ โˆˆ โ„ค โˆง ๐ท โˆˆ โ„•) โ†’ {๐‘ง โˆˆ โ„•0 โˆฃ (๐‘ง < ๐ท โˆง ๐ท โˆฅ (๐‘ โˆ’ ๐‘ง))} = {(โ„ฉ๐‘ง โˆˆ โ„•0 (๐‘ง < ๐ท โˆง ๐ท โˆฅ (๐‘ โˆ’ ๐‘ง)))})
5249, 51eqtr4d 2775 . . . 4 ((๐‘ โˆˆ โ„ค โˆง ๐ท โˆˆ โ„•) โ†’ {(๐‘ mod ๐ท)} = {๐‘ง โˆˆ โ„•0 โˆฃ (๐‘ง < ๐ท โˆง ๐ท โˆฅ (๐‘ โˆ’ ๐‘ง))})
5352eleq2d 2819 . . 3 ((๐‘ โˆˆ โ„ค โˆง ๐ท โˆˆ โ„•) โ†’ (๐‘… โˆˆ {(๐‘ mod ๐ท)} โ†” ๐‘… โˆˆ {๐‘ง โˆˆ โ„•0 โˆฃ (๐‘ง < ๐ท โˆง ๐ท โˆฅ (๐‘ โˆ’ ๐‘ง))}))
546, 53bitrid 282 . 2 ((๐‘ โˆˆ โ„ค โˆง ๐ท โˆˆ โ„•) โ†’ (๐‘… = (๐‘ mod ๐ท) โ†” ๐‘… โˆˆ {๐‘ง โˆˆ โ„•0 โˆฃ (๐‘ง < ๐ท โˆง ๐ท โˆฅ (๐‘ โˆ’ ๐‘ง))}))
55 breq1 5151 . . . 4 (๐‘ง = ๐‘… โ†’ (๐‘ง < ๐ท โ†” ๐‘… < ๐ท))
56 oveq2 7416 . . . . 5 (๐‘ง = ๐‘… โ†’ (๐‘ โˆ’ ๐‘ง) = (๐‘ โˆ’ ๐‘…))
5756breq2d 5160 . . . 4 (๐‘ง = ๐‘… โ†’ (๐ท โˆฅ (๐‘ โˆ’ ๐‘ง) โ†” ๐ท โˆฅ (๐‘ โˆ’ ๐‘…)))
5855, 57anbi12d 631 . . 3 (๐‘ง = ๐‘… โ†’ ((๐‘ง < ๐ท โˆง ๐ท โˆฅ (๐‘ โˆ’ ๐‘ง)) โ†” (๐‘… < ๐ท โˆง ๐ท โˆฅ (๐‘ โˆ’ ๐‘…))))
5958elrab 3683 . 2 (๐‘… โˆˆ {๐‘ง โˆˆ โ„•0 โˆฃ (๐‘ง < ๐ท โˆง ๐ท โˆฅ (๐‘ โˆ’ ๐‘ง))} โ†” (๐‘… โˆˆ โ„•0 โˆง (๐‘… < ๐ท โˆง ๐ท โˆฅ (๐‘ โˆ’ ๐‘…))))
6054, 59bitrdi 286 1 ((๐‘ โˆˆ โ„ค โˆง ๐ท โˆˆ โ„•) โ†’ (๐‘… = (๐‘ mod ๐ท) โ†” (๐‘… โˆˆ โ„•0 โˆง (๐‘… < ๐ท โˆง ๐ท โˆฅ (๐‘ โˆ’ ๐‘…)))))
Colors of variables: wff setvar class
Syntax hints:   โ†’ wi 4   โ†” wb 205   โˆง wa 396   = wceq 1541   โˆˆ wcel 2106   โ‰  wne 2940  โˆƒ!wreu 3374  {crab 3432  {csn 4628   class class class wbr 5148  โ€˜cfv 6543  โ„ฉcrio 7363  (class class class)co 7408  โ„‚cc 11107  โ„cr 11108  0cc0 11109   ยท cmul 11114   < clt 11247   โˆ’ cmin 11443   / cdiv 11870  โ„•cn 12211  โ„•0cn0 12471  โ„คcz 12557  โ„+crp 12973  โŒŠcfl 13754   mod cmo 13833   โˆฅ cdvds 16196
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1913  ax-6 1971  ax-7 2011  ax-8 2108  ax-9 2116  ax-10 2137  ax-11 2154  ax-12 2171  ax-ext 2703  ax-sep 5299  ax-nul 5306  ax-pow 5363  ax-pr 5427  ax-un 7724  ax-cnex 11165  ax-resscn 11166  ax-1cn 11167  ax-icn 11168  ax-addcl 11169  ax-addrcl 11170  ax-mulcl 11171  ax-mulrcl 11172  ax-mulcom 11173  ax-addass 11174  ax-mulass 11175  ax-distr 11176  ax-i2m1 11177  ax-1ne0 11178  ax-1rid 11179  ax-rnegex 11180  ax-rrecex 11181  ax-cnre 11182  ax-pre-lttri 11183  ax-pre-lttrn 11184  ax-pre-ltadd 11185  ax-pre-mulgt0 11186  ax-pre-sup 11187
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 846  df-3or 1088  df-3an 1089  df-tru 1544  df-fal 1554  df-ex 1782  df-nf 1786  df-sb 2068  df-mo 2534  df-eu 2563  df-clab 2710  df-cleq 2724  df-clel 2810  df-nfc 2885  df-ne 2941  df-nel 3047  df-ral 3062  df-rex 3071  df-rmo 3376  df-reu 3377  df-rab 3433  df-v 3476  df-sbc 3778  df-csb 3894  df-dif 3951  df-un 3953  df-in 3955  df-ss 3965  df-pss 3967  df-nul 4323  df-if 4529  df-pw 4604  df-sn 4629  df-pr 4631  df-op 4635  df-uni 4909  df-iun 4999  df-br 5149  df-opab 5211  df-mpt 5232  df-tr 5266  df-id 5574  df-eprel 5580  df-po 5588  df-so 5589  df-fr 5631  df-we 5633  df-xp 5682  df-rel 5683  df-cnv 5684  df-co 5685  df-dm 5686  df-rn 5687  df-res 5688  df-ima 5689  df-pred 6300  df-ord 6367  df-on 6368  df-lim 6369  df-suc 6370  df-iota 6495  df-fun 6545  df-fn 6546  df-f 6547  df-f1 6548  df-fo 6549  df-f1o 6550  df-fv 6551  df-riota 7364  df-ov 7411  df-oprab 7412  df-mpo 7413  df-om 7855  df-1st 7974  df-2nd 7975  df-frecs 8265  df-wrecs 8296  df-recs 8370  df-rdg 8409  df-er 8702  df-en 8939  df-dom 8940  df-sdom 8941  df-sup 9436  df-inf 9437  df-pnf 11249  df-mnf 11250  df-xr 11251  df-ltxr 11252  df-le 11253  df-sub 11445  df-neg 11446  df-div 11871  df-nn 12212  df-2 12274  df-3 12275  df-n0 12472  df-z 12558  df-uz 12822  df-rp 12974  df-fz 13484  df-fl 13756  df-mod 13834  df-seq 13966  df-exp 14027  df-cj 15045  df-re 15046  df-im 15047  df-sqrt 15181  df-abs 15182  df-dvds 16197
This theorem is referenced by:  divalgmodcl  16349
  Copyright terms: Public domain W3C validator