HomeHome Metamath Proof Explorer < Previous   Next >
Related theorems
Unicode version

Theorem modsubdir 7521
Description: Distribute the modulo operation over a subtraction.
Assertion
Ref Expression
modsubdir |- ((A e. RR /\ B e. RR /\ C e. RR+) -> ((B mod C) <_ (A mod C) <-> ((A - B) mod C) = ((A mod C) - (B mod C))))

Proof of Theorem modsubdir
StepHypRef Expression
1 modcl 7502 . . . 4 |- ((A e. RR /\ C e. RR+) -> (A mod C) e. RR)
213adant2 895 . . 3 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> (A mod C) e. RR)
3 modcl 7502 . . . 4 |- ((B e. RR /\ C e. RR+) -> (B mod C) e. RR)
433adant1 894 . . 3 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> (B mod C) e. RR)
5 subge0 6863 . . 3 |- (((A mod C) e. RR /\ (B mod C) e. RR) -> (0 <_ ((A mod C) - (B mod C)) <-> (B mod C) <_ (A mod C)))
62, 4, 5syl11anc 524 . 2 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> (0 <_ ((A mod C) - (B mod C)) <-> (B mod C) <_ (A mod C)))
7 resubcl 6601 . . . . . . . 8 |- ((A e. RR /\ B e. RR) -> (A - B) e. RR)
873adant3 896 . . . . . . 7 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> (A - B) e. RR)
9 simp3 878 . . . . . . 7 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> C e. RR+)
10 rerpdivcl 7251 . . . . . . . . . 10 |- ((A e. RR /\ C e. RR+) -> (A / C) e. RR)
11 flcl 7465 . . . . . . . . . 10 |- ((A / C) e. RR -> (|_` (A / C)) e. ZZ)
1210, 11syl 12 . . . . . . . . 9 |- ((A e. RR /\ C e. RR+) -> (|_` (A / C)) e. ZZ)
13123adant2 895 . . . . . . . 8 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> (|_` (A / C)) e. ZZ)
14 rerpdivcl 7251 . . . . . . . . . 10 |- ((B e. RR /\ C e. RR+) -> (B / C) e. RR)
15 flcl 7465 . . . . . . . . . 10 |- ((B / C) e. RR -> (|_` (B / C)) e. ZZ)
1614, 15syl 12 . . . . . . . . 9 |- ((B e. RR /\ C e. RR+) -> (|_` (B / C)) e. ZZ)
17163adant1 894 . . . . . . . 8 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> (|_` (B / C)) e. ZZ)
18 zsubcl 7377 . . . . . . . 8 |- (((|_` (A / C)) e. ZZ /\ (|_` (B / C)) e. ZZ) -> ((|_` (A / C)) - (|_` (B / C))) e. ZZ)
1913, 17, 18syl11anc 524 . . . . . . 7 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> ((|_` (A / C)) - (|_` (B / C))) e. ZZ)
20 modcyc2 7517 . . . . . . 7 |- (((A - B) e. RR /\ C e. RR+ /\ ((|_` (A / C)) - (|_` (B / C))) e. ZZ) -> (((A - B) - (C x. ((|_` (A / C)) - (|_` (B / C))))) mod C) = ((A - B) mod C))
218, 9, 19, 20syl111anc 1100 . . . . . 6 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> (((A - B) - (C x. ((|_` (A / C)) - (|_` (B / C))))) mod C) = ((A - B) mod C))
22 recn 6466 . . . . . . . . . 10 |- (A e. RR -> A e. CC)
23223ad2ant1 897 . . . . . . . . 9 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> A e. CC)
24 recn 6466 . . . . . . . . . 10 |- (B e. RR -> B e. CC)
25243ad2ant2 898 . . . . . . . . 9 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> B e. CC)
26 rpre 7236 . . . . . . . . . . . . 13 |- (C e. RR+ -> C e. RR)
2726adantl 424 . . . . . . . . . . . 12 |- ((A e. RR /\ C e. RR+) -> C e. RR)
28 reflcl 7466 . . . . . . . . . . . . 13 |- ((A / C) e. RR -> (|_` (A / C)) e. RR)
2910, 28syl 12 . . . . . . . . . . . 12 |- ((A e. RR /\ C e. RR+) -> (|_` (A / C)) e. RR)
30 remulcl 6457 . . . . . . . . . . . 12 |- ((C e. RR /\ (|_` (A / C)) e. RR) -> (C x. (|_` (A / C))) e. RR)
3127, 29, 30syl11anc 524 . . . . . . . . . . 11 |- ((A e. RR /\ C e. RR+) -> (C x. (|_` (A / C))) e. RR)
3231recnd 6468 . . . . . . . . . 10 |- ((A e. RR /\ C e. RR+) -> (C x. (|_` (A / C))) e. CC)
33323adant2 895 . . . . . . . . 9 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> (C x. (|_` (A / C))) e. CC)
3426adantl 424 . . . . . . . . . . . 12 |- ((B e. RR /\ C e. RR+) -> C e. RR)
35 reflcl 7466 . . . . . . . . . . . . 13 |- ((B / C) e. RR -> (|_` (B / C)) e. RR)
3614, 35syl 12 . . . . . . . . . . . 12 |- ((B e. RR /\ C e. RR+) -> (|_` (B / C)) e. RR)
37 remulcl 6457 . . . . . . . . . . . 12 |- ((C e. RR /\ (|_` (B / C)) e. RR) -> (C x. (|_` (B / C))) e. RR)
3834, 36, 37syl11anc 524 . . . . . . . . . . 11 |- ((B e. RR /\ C e. RR+) -> (C x. (|_` (B / C))) e. RR)
3938recnd 6468 . . . . . . . . . 10 |- ((B e. RR /\ C e. RR+) -> (C x. (|_` (B / C))) e. CC)
40393adant1 894 . . . . . . . . 9 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> (C x. (|_` (B / C))) e. CC)
41 sub4 6643 . . . . . . . . 9 |- (((A e. CC /\ B e. CC) /\ ((C x. (|_` (A / C))) e. CC /\ (C x. (|_` (B / C))) e. CC)) -> ((A - B) - ((C x. (|_` (A / C))) - (C x. (|_` (B / C))))) = ((A - (C x. (|_` (A / C)))) - (B - (C x. (|_` (B / C))))))
4223, 25, 33, 40, 41syl22anc 1101 . . . . . . . 8 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> ((A - B) - ((C x. (|_` (A / C))) - (C x. (|_` (B / C))))) = ((A - (C x. (|_` (A / C)))) - (B - (C x. (|_` (B / C))))))
43263ad2ant3 899 . . . . . . . . . . 11 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> C e. RR)
4443recnd 6468 . . . . . . . . . 10 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> C e. CC)
4529recnd 6468 . . . . . . . . . . 11 |- ((A e. RR /\ C e. RR+) -> (|_` (A / C)) e. CC)
46453adant2 895 . . . . . . . . . 10 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> (|_` (A / C)) e. CC)
4736recnd 6468 . . . . . . . . . . 11 |- ((B e. RR /\ C e. RR+) -> (|_` (B / C)) e. CC)
48473adant1 894 . . . . . . . . . 10 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> (|_` (B / C)) e. CC)
49 subdi 6590 . . . . . . . . . 10 |- ((C e. CC /\ (|_` (A / C)) e. CC /\ (|_` (B / C)) e. CC) -> (C x. ((|_` (A / C)) - (|_` (B / C)))) = ((C x. (|_` (A / C))) - (C x. (|_` (B / C)))))
5044, 46, 48, 49syl111anc 1100 . . . . . . . . 9 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> (C x. ((|_` (A / C)) - (|_` (B / C)))) = ((C x. (|_` (A / C))) - (C x. (|_` (B / C)))))
5150opreq2d 4898 . . . . . . . 8 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> ((A - B) - (C x. ((|_` (A / C)) - (|_` (B / C))))) = ((A - B) - ((C x. (|_` (A / C))) - (C x. (|_` (B / C))))))
52 modval 7501 . . . . . . . . . 10 |- ((A e. RR /\ C e. RR+) -> (A mod C) = (A - (C x. (|_` (A / C)))))
53523adant2 895 . . . . . . . . 9 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> (A mod C) = (A - (C x. (|_` (A / C)))))
54 modval 7501 . . . . . . . . . 10 |- ((B e. RR /\ C e. RR+) -> (B mod C) = (B - (C x. (|_` (B / C)))))
55543adant1 894 . . . . . . . . 9 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> (B mod C) = (B - (C x. (|_` (B / C)))))
5653, 55opreq12d 4900 . . . . . . . 8 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> ((A mod C) - (B mod C)) = ((A - (C x. (|_` (A / C)))) - (B - (C x. (|_` (B / C))))))
5742, 51, 563eqtr4d 1937 . . . . . . 7 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> ((A - B) - (C x. ((|_` (A / C)) - (|_` (B / C))))) = ((A mod C) - (B mod C)))
5857opreq1d 4897 . . . . . 6 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> (((A - B) - (C x. ((|_` (A / C)) - (|_` (B / C))))) mod C) = (((A mod C) - (B mod C)) mod C))
5921, 58eqtr3d 1927 . . . . 5 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> ((A - B) mod C) = (((A mod C) - (B mod C)) mod C))
6059adantr 425 . . . 4 |- (((A e. RR /\ B e. RR /\ C e. RR+) /\ 0 <_ ((A mod C) - (B mod C))) -> ((A - B) mod C) = (((A mod C) - (B mod C)) mod C))
61 resubcl 6601 . . . . . . 7 |- (((A mod C) e. RR /\ (B mod C) e. RR) -> ((A mod C) - (B mod C)) e. RR)
622, 4, 61syl11anc 524 . . . . . 6 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> ((A mod C) - (B mod C)) e. RR)
6362adantr 425 . . . . 5 |- (((A e. RR /\ B e. RR /\ C e. RR+) /\ 0 <_ ((A mod C) - (B mod C))) -> ((A mod C) - (B mod C)) e. RR)
64 simpl3 881 . . . . 5 |- (((A e. RR /\ B e. RR /\ C e. RR+) /\ 0 <_ ((A mod C) - (B mod C))) -> C e. RR+)
65 simpr 350 . . . . 5 |- (((A e. RR /\ B e. RR /\ C e. RR+) /\ 0 <_ ((A mod C) - (B mod C))) -> 0 <_ ((A mod C) - (B mod C)))
66 modge0 7503 . . . . . . . . 9 |- ((B e. RR /\ C e. RR+) -> 0 <_ (B mod C))
67663adant1 894 . . . . . . . 8 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> 0 <_ (B mod C))
68 subge02 6866 . . . . . . . . 9 |- (((A mod C) e. RR /\ (B mod C) e. RR) -> (0 <_ (B mod C) <-> ((A mod C) - (B mod C)) <_ (A mod C)))
692, 4, 68syl11anc 524 . . . . . . . 8 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> (0 <_ (B mod C) <-> ((A mod C) - (B mod C)) <_ (A mod C)))
7067, 69mpbid 212 . . . . . . 7 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> ((A mod C) - (B mod C)) <_ (A mod C))
71 modlt 7504 . . . . . . . 8 |- ((A e. RR /\ C e. RR+) -> (A mod C) < C)
72713adant2 895 . . . . . . 7 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> (A mod C) < C)
7362, 2, 43, 70, 72lelttrd 6697 . . . . . 6 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> ((A mod C) - (B mod C)) < C)
7473adantr 425 . . . . 5 |- (((A e. RR /\ B e. RR /\ C e. RR+) /\ 0 <_ ((A mod C) - (B mod C))) -> ((A mod C) - (B mod C)) < C)
75 modid 7512 . . . . 5 |- (((((A mod C) - (B mod C)) e. RR /\ C e. RR+) /\ (0 <_ ((A mod C) - (B mod C)) /\ ((A mod C) - (B mod C)) < C)) -> (((A mod C) - (B mod C)) mod C) = ((A mod C) - (B mod C)))
7663, 64, 65, 74, 75syl22anc 1101 . . . 4 |- (((A e. RR /\ B e. RR /\ C e. RR+) /\ 0 <_ ((A mod C) - (B mod C))) -> (((A mod C) - (B mod C)) mod C) = ((A mod C) - (B mod C)))
7760, 76eqtrd 1925 . . 3 |- (((A e. RR /\ B e. RR /\ C e. RR+) /\ 0 <_ ((A mod C) - (B mod C))) -> ((A - B) mod C) = ((A mod C) - (B mod C)))
78 modge0 7503 . . . . . . 7 |- (((A - B) e. RR /\ C e. RR+) -> 0 <_ ((A - B) mod C))
7978, 7sylan 497 . . . . . 6 |- (((A e. RR /\ B e. RR) /\ C e. RR+) -> 0 <_ ((A - B) mod C))
80793impa 1062 . . . . 5 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> 0 <_ ((A - B) mod C))
8180adantr 425 . . . 4 |- (((A e. RR /\ B e. RR /\ C e. RR+) /\ ((A - B) mod C) = ((A mod C) - (B mod C))) -> 0 <_ ((A - B) mod C))
82 simpr 350 . . . 4 |- (((A e. RR /\ B e. RR /\ C e. RR+) /\ ((A - B) mod C) = ((A mod C) - (B mod C))) -> ((A - B) mod C) = ((A mod C) - (B mod C)))
8381, 82breqtrd 3361 . . 3 |- (((A e. RR /\ B e. RR /\ C e. RR+) /\ ((A - B) mod C) = ((A mod C) - (B mod C))) -> 0 <_ ((A mod C) - (B mod C)))
8477, 83impbida 577 . 2 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> (0 <_ ((A mod C) - (B mod C)) <-> ((A - B) mod C) = ((A mod C) - (B mod C))))
856, 84bitr3d 589 1 |- ((A e. RR /\ B e. RR /\ C e. RR+) -> ((B mod C) <_ (A mod C) <-> ((A - B) mod C) = ((A mod C) - (B mod C))))
Colors of variables: wff set class
Syntax hints:   -> wi 3   <-> wb 163   /\ wa 240   /\ w3a 858   = wceq 1298   e. wcel 1300   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   <_ cle 6448  ZZcz 6451  RR+crp 6453   < clt 6653  |_cfl 7462   mod cmo 7499
This theorem is referenced by:  digit1 7905
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-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-rp 7232  df-n0 7309  df-z 7345  df-fl 7463  df-mod 7500
Copyright terms: Public domain