Table of ContentsTable of Contents Mathbox for Paul Chapman < Previous   Next >
Related theorems
Unicode version

Theorem divalgmod 13709
Description: The result of the mod operator satisfies the requirements for the remainder r in the Division Algorithm for a positive divisor (compare divalg2 13708 and divalgb 13707). This demonstration theorem justifies the use of mod to yield an explicit remainder from this point forward. (Contributed by Paul Chapman, 31-Mar-2011.)
Assertion
Ref Expression
divalgmod |- ((N e. ZZ /\ D e. NN) -> (r = (N mod D) <-> (r e. NN0 /\ (r < D /\ D||(N - r)))))
Distinct variable groups:   D,r   N,r

Proof of Theorem divalgmod
StepHypRef Expression
1 zmodcl 7511 . . . . . . . . 9 |- ((N e. ZZ /\ D e. NN) -> (N mod D) e. NN0)
2 divalg2 13708 . . . . . . . . 9 |- ((N e. ZZ /\ D e. NN) -> E!z e. NN0 (z < D /\ D||(N - z)))
3 breq1 3341 . . . . . . . . . . 11 |- (z = (N mod D) -> (z < D <-> (N mod D) < D))
4 opreq2 4890 . . . . . . . . . . . 12 |- (z = (N mod D) -> (N - z) = (N - (N mod D)))
54breq2d 3350 . . . . . . . . . . 11 |- (z = (N mod D) -> (D||(N - z) <-> D||(N - (N mod D))))
63, 5anbi12d 690 . . . . . . . . . 10 |- (z = (N mod D) -> ((z < D /\ D||(N - z)) <-> ((N mod D) < D /\ D||(N - (N mod D)))))
76reuuni2 3811 . . . . . . . . 9 |- (((N mod D) e. NN0 /\ E!z e. NN0 (z < D /\ D||(N - z))) -> (((N mod D) < D /\ D||(N - (N mod D))) <-> U.{z e. NN0 | (z < D /\ D||(N - z))} = (N mod D)))
81, 2, 7syl11anc 524 . . . . . . . 8 |- ((N e. ZZ /\ D e. NN) -> (((N mod D) < D /\ D||(N - (N mod D))) <-> U.{z e. NN0 | (z < D /\ D||(N - z))} = (N mod D)))
9 modlt 7504 . . . . . . . . 9 |- ((N e. RR /\ D e. RR+) -> (N mod D) < D)
10 zre 7348 . . . . . . . . 9 |- (N e. ZZ -> N e. RR)
11 nnrp 7238 . . . . . . . . 9 |- (D e. NN -> D e. RR+)
129, 10, 11syl2an 503 . . . . . . . 8 |- ((N e. ZZ /\ D e. NN) -> (N mod D) < D)
13 redivcl 6978 . . . . . . . . . . . 12 |- ((N e. RR /\ D e. RR /\ D =/= 0) -> (N / D) e. RR)
14 nnre 7112 . . . . . . . . . . . 12 |- (D e. NN -> D e. RR)
15 nnne0 7132 . . . . . . . . . . . 12 |- (D e. NN -> D =/= 0)
1613, 10, 14, 15syl3an 1139 . . . . . . . . . . 11 |- ((N e. ZZ /\ D e. NN /\ D e. NN) -> (N / D) e. RR)
17163anidm23 1156 . . . . . . . . . 10 |- ((N e. ZZ /\ D e. NN) -> (N / D) e. RR)
18 flcl 7465 . . . . . . . . . 10 |- ((N / D) e. RR -> (|_` (N / D)) e. ZZ)
1917, 18syl 12 . . . . . . . . 9 |- ((N e. ZZ /\ D e. NN) -> (|_` (N / D)) e. ZZ)
20 nnz 7362 . . . . . . . . . 10 |- (D e. NN -> D e. ZZ)
2120adantl 424 . . . . . . . . 9 |- ((N e. ZZ /\ D e. NN) -> D e. ZZ)
22 simpl 346 . . . . . . . . . 10 |- ((N e. ZZ /\ D e. NN) -> N e. ZZ)
23 nn0z 7363 . . . . . . . . . . 11 |- ((N mod D) e. NN0 -> (N mod D) e. ZZ)
241, 23syl 12 . . . . . . . . . 10 |- ((N e. ZZ /\ D e. NN) -> (N mod D) e. ZZ)
25 zsubcl 7377 . . . . . . . . . 10 |- ((N e. ZZ /\ (N mod D) e. ZZ) -> (N - (N mod D)) e. ZZ)
2622, 24, 25syl11anc 524 . . . . . . . . 9 |- ((N e. ZZ /\ D e. NN) -> (N - (N mod D)) e. ZZ)
2714recnd 6468 . . . . . . . . . . . 12 |- (D e. NN -> D e. CC)
2827adantl 424 . . . . . . . . . . 11 |- ((N e. ZZ /\ D e. NN) -> D e. CC)
29 zcn 7349 . . . . . . . . . . . 12 |- ((|_` (N / D)) e. ZZ -> (|_` (N / D)) e. CC)
3019, 29syl 12 . . . . . . . . . . 11 |- ((N e. ZZ /\ D e. NN) -> (|_` (N / D)) e. CC)
31 mulcom 6459 . . . . . . . . . . 11 |- ((D e. CC /\ (|_` (N / D)) e. CC) -> (D x. (|_` (N / D))) = ((|_` (N / D)) x. D))
3228, 30, 31syl11anc 524 . . . . . . . . . 10 |- ((N e. ZZ /\ D e. NN) -> (D x. (|_` (N / D))) = ((|_` (N / D)) x. D))
33 modval 7501 . . . . . . . . . . . 12 |- ((N e. RR /\ D e. RR+) -> (N mod D) = (N - (D x. (|_` (N / D)))))
3433, 10, 11syl2an 503 . . . . . . . . . . 11 |- ((N e. ZZ /\ D e. NN) -> (N mod D) = (N - (D x. (|_` (N / D)))))
3510recnd 6468 . . . . . . . . . . . . . 14 |- (N e. ZZ -> N e. CC)
3635adantr 425 . . . . . . . . . . . . 13 |- ((N e. ZZ /\ D e. NN) -> N e. CC)
37 zmulcl 7389 . . . . . . . . . . . . . . . . 17 |- ((D e. ZZ /\ (|_` (N / D)) e. ZZ) -> (D x. (|_` (N / D))) e. ZZ)
3837, 20, 19syl2an 503 . . . . . . . . . . . . . . . 16 |- ((D e. NN /\ (N e. ZZ /\ D e. NN)) -> (D x. (|_` (N / D))) e. ZZ)
3938an1s 544 . . . . . . . . . . . . . . 15 |- ((N e. ZZ /\ (D e. NN /\ D e. NN)) -> (D x. (|_` (N / D))) e. ZZ)
4039anabsan2 563 . . . . . . . . . . . . . 14 |- ((N e. ZZ /\ D e. NN) -> (D x. (|_` (N / D))) e. ZZ)
41 zcn 7349 . . . . . . . . . . . . . 14 |- ((D x. (|_` (N / D))) e. ZZ -> (D x. (|_` (N / D))) e. CC)
4240, 41syl 12 . . . . . . . . . . . . 13 |- ((N e. ZZ /\ D e. NN) -> (D x. (|_` (N / D))) e. CC)
43 nn0cn 7318 . . . . . . . . . . . . . 14 |- ((N mod D) e. NN0 -> (N mod D) e. CC)
441, 43syl 12 . . . . . . . . . . . . 13 |- ((N e. ZZ /\ D e. NN) -> (N mod D) e. CC)
45 subsub23 6533 . . . . . . . . . . . . 13 |- ((N e. CC /\ (D x. (|_` (N / D))) e. CC /\ (N mod D) e. CC) -> ((N - (D x. (|_` (N / D)))) = (N mod D) <-> (N - (N mod D)) = (D x. (|_` (N / D)))))
4636, 42, 44, 45syl111anc 1100 . . . . . . . . . . . 12 |- ((N e. ZZ /\ D e. NN) -> ((N - (D x. (|_` (N / D)))) = (N mod D) <-> (N - (N mod D)) = (D x. (|_` (N / D)))))
47 eqcom 1886 . . . . . . . . . . . . 13 |- ((N - (D x. (|_` (N / D)))) = (N mod D) <-> (N mod D) = (N - (D x. (|_` (N / D)))))
48 eqcom 1886 . . . . . . . . . . . . 13 |- ((N - (N mod D)) = (D x. (|_` (N / D))) <-> (D x. (|_` (N / D))) = (N - (N mod D)))
4947, 48bibi12i 672 . . . . . . . . . . . 12 |- (((N - (D x. (|_` (N / D)))) = (N mod D) <-> (N - (N mod D)) = (D x. (|_` (N / D)))) <-> ((N mod D) = (N - (D x. (|_` (N / D)))) <-> (D x. (|_` (N / D))) = (N - (N mod D))))
5046, 49sylib 215 . . . . . . . . . . 11 |- ((N e. ZZ /\ D e. NN) -> ((N mod D) = (N - (D x. (|_` (N / D)))) <-> (D x. (|_` (N / D))) = (N - (N mod D))))
5134, 50mpbid 212 . . . . . . . . . 10 |- ((N e. ZZ /\ D e. NN) -> (D x. (|_` (N / D))) = (N - (N mod D)))
5232, 51eqtr3d 1927 . . . . . . . . 9 |- ((N e. ZZ /\ D e. NN) -> ((|_` (N / D)) x. D) = (N - (N mod D)))
53 dvds0lem 13665 . . . . . . . . 9 |- ((((|_` (N / D)) e. ZZ /\ D e. ZZ /\ (N - (N mod D)) e. ZZ) /\ ((|_` (N / D)) x. D) = (N - (N mod D))) -> D||(N - (N mod D)))
5419, 21, 26, 52, 53syl31anc 1103 . . . . . . . 8 |- ((N e. ZZ /\ D e. NN) -> D||(N - (N mod D)))
558, 12, 54mpbi2and 801 . . . . . . 7 |- ((N e. ZZ /\ D e. NN) -> U.{z e. NN0 | (z < D /\ D||(N - z))} = (N mod D))
5655eqcomd 1889 . . . . . 6 |- ((N e. ZZ /\ D e. NN) -> (N mod D) = U.{z e. NN0 | (z < D /\ D||(N - z))})
5756sneqd 3056 . . . . 5 |- ((N e. ZZ /\ D e. NN) -> {(N mod D)} = {U.{z e. NN0 | (z < D /\ D||(N - z))}})
58 reuunisn 3822 . . . . . 6 |- (E!z e. NN0 (z < D /\ D||(N - z)) -> {z e. NN0 | (z < D /\ D||(N - z))} = {U.{z e. NN0 | (z < D /\ D||(N - z))}})
592, 58syl 12 . . . . 5 |- ((N e. ZZ /\ D e. NN) -> {z e. NN0 | (z < D /\ D||(N - z))} = {U.{z e. NN0 | (z < D /\ D||(N - z))}})
6057, 59eqtr4d 1928 . . . 4 |- ((N e. ZZ /\ D e. NN) -> {(N mod D)} = {z e. NN0 | (z < D /\ D||(N - z))})
6160eleq2d 1964 . . 3 |- ((N e. ZZ /\ D e. NN) -> (r e. {(N mod D)} <-> r e. {z e. NN0 | (z < D /\ D||(N - z))}))
62 breq1 3341 . . . . 5 |- (z = r -> (z < D <-> r < D))
63 opreq2 4890 . . . . . 6 |- (z = r -> (N - z) = (N - r))
6463breq2d 3350 . . . . 5 |- (z = r -> (D||(N - z) <-> D||(N - r)))
6562, 64anbi12d 690 . . . 4 |- (z = r -> ((z < D /\ D||(N - z)) <-> (r < D /\ D||(N - r))))
6665elrab 2414 . . 3 |- (r e. {z e. NN0 | (z < D /\ D||(N - z))} <-> (r e. NN0 /\ (r < D /\ D||(N - r))))
6761, 66syl6bb 595 . 2 |- ((N e. ZZ /\ D e. NN) -> (r e. {(N mod D)} <-> (r e. NN0 /\ (r < D /\ D||(N - r)))))
68 elsn 3058 . 2 |- (r e. {(N mod D)} <-> r = (N mod D))
6967, 68syl5bbr 593 1 |- ((N e. ZZ /\ D e. NN) -> (r = (N mod D) <-> (r e. NN0 /\ (r < D /\ D||(N - r)))))
Colors of variables: wff set class
Syntax hints:   -> wi 3   <-> wb 163   /\ wa 240   = wceq 1298   e. wcel 1300   =/= wne 2017  E!wreu 2107  {crab 2108  {csn 3044  U.cuni 3177   class class class wbr 3338  ` cfv 3998  (class class class)co 4884  CCcc 6384  RRcr 6385  0cc0 6386   x. cmul 6391   - cmin 6445   / cdiv 6447  NNcn 6449  NN0cn0 6450  ZZcz 6451  RR+crp 6453   < clt 6653  |_cfl 7462   mod cmo 7499  ||cdivides 13662
This theorem was proved from axioms:  ax-1 4  ax-2 5  ax-3 6  ax-mp 7  ax-7 1304  ax-gen 1305  ax-8 1306  ax-9 1307  ax-10 1308  ax-11 1309  ax-12 1310  ax-13 1311  ax-14 1312  ax-17 1317  ax-4 1319  ax-5o 1321  ax-6o 1324  ax-9o 1481  ax-10o 1500  ax-16 1580  ax-11o 1588  ax-ext 1865  ax-rep 3428  ax-sep 3438  ax-nul 3445  ax-pow 3481  ax-pr 3524  ax-un 3790  ax-inf2 5731
This theorem depends on definitions:  df-bi 164  df-or 241  df-an 242  df-3or 859  df-3an 860  df-ex 1327  df-sb 1536  df-eu 1775  df-mo 1776  df-clab 1872  df-cleq 1877  df-clel 1880  df-ne 2019  df-nel 2020  df-ral 2109  df-rex 2110  df-reu 2111  df-rab 2112  df-v 2294  df-sbc 2454  df-csb 2541  df-dif 2597  df-un 2600  df-in 2603  df-ss 2605  df-pss 2607  df-nul 2876  df-if 2983  df-pw 3035  df-sn 3049  df-pr 3050  df-tp 3052  df-op 3053  df-uni 3178  df-int 3215  df-iun 3257  df-br 3339  df-opab 3396  df-tr 3412  df-eprel 3583  df-id 3586  df-po 3591  df-so 3604  df-fr 3625  df-we 3644  df-ord 3660  df-on 3661  df-lim 3662  df-suc 3663  df-om 3950  df-xp 4000  df-rel 4001  df-cnv 4002  df-co 4003  df-dm 4004  df-rn 4005  df-res 4006  df-ima 4007  df-fun 4008  df-fn 4009  df-f 4010  df-f1 4011  df-fo 4012  df-f1o 4013  df-fv 4014  df-opr 4886  df-oprab 4887  df-mpt 5006  df-1st 5020  df-2nd 5021  df-iota 5089  df-rdg 5140  df-1o 5177  df-oadd 5179  df-omul 5180  df-er 5318  df-ec 5320  df-qs 5323  df-en 5427  df-dom 5428  df-sdom 5429  df-undef 5556  df-riota 5560  df-sup 5664  df-ni 6152  df-pli 6153  df-mi 6154  df-lti 6155  df-plpq 6187  df-mpq 6188  df-enq 6189  df-nq 6190  df-plq 6191  df-mq 6192  df-rq 6193  df-ltq 6194  df-1q 6195  df-np 6238  df-1p 6239  df-plp 6240  df-mp 6241  df-ltp 6242  df-plpr 6316  df-mpr 6317  df-enr 6318  df-nr 6319  df-plr 6320  df-mr 6321  df-ltr 6322  df-0r 6323  df-1r 6324  df-m1r 6325  df-c 6392  df-0 6393  df-1 6394  df-i 6395  df-r 6396  df-plus 6397  df-mul 6398  df-lt 6399  df-sub 6511  df-neg 6513  df-pnf 6654  df-mnf 6655  df-xr 6656  df-ltxr 6657  df-le 6658  df-div 6892  df-n 7108  df-2 7154  df-rp 7232  df-n0 7309  df-z 7345  df-fl 7463  df-mod 7500  df-uz 7587  df-fz 7638  df-seq1 7721  df-exp 7812  df-sqr 7920  df-re 8001  df-im 8002  df-cj 8003  df-abs 8004  df-divides 13663
Copyright terms: Public domain