Metamath Proof Explorer


Theorem modadd1

Description: Addition property of the modulo operation. (Contributed by NM, 12-Nov-2008)

Ref Expression
Assertion modadd1 ( ( ( ๐ด โˆˆ โ„ โˆง ๐ต โˆˆ โ„ ) โˆง ( ๐ถ โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) โˆง ( ๐ด mod ๐ท ) = ( ๐ต mod ๐ท ) ) โ†’ ( ( ๐ด + ๐ถ ) mod ๐ท ) = ( ( ๐ต + ๐ถ ) mod ๐ท ) )

Proof

Step Hyp Ref Expression
1 modval โŠข ( ( ๐ด โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) โ†’ ( ๐ด mod ๐ท ) = ( ๐ด โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ด / ๐ท ) ) ) ) )
2 modval โŠข ( ( ๐ต โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) โ†’ ( ๐ต mod ๐ท ) = ( ๐ต โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ต / ๐ท ) ) ) ) )
3 1 2 eqeqan12d โŠข ( ( ( ๐ด โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) โˆง ( ๐ต โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) ) โ†’ ( ( ๐ด mod ๐ท ) = ( ๐ต mod ๐ท ) โ†” ( ๐ด โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ด / ๐ท ) ) ) ) = ( ๐ต โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ต / ๐ท ) ) ) ) ) )
4 3 anandirs โŠข ( ( ( ๐ด โˆˆ โ„ โˆง ๐ต โˆˆ โ„ ) โˆง ๐ท โˆˆ โ„+ ) โ†’ ( ( ๐ด mod ๐ท ) = ( ๐ต mod ๐ท ) โ†” ( ๐ด โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ด / ๐ท ) ) ) ) = ( ๐ต โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ต / ๐ท ) ) ) ) ) )
5 4 adantrl โŠข ( ( ( ๐ด โˆˆ โ„ โˆง ๐ต โˆˆ โ„ ) โˆง ( ๐ถ โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) ) โ†’ ( ( ๐ด mod ๐ท ) = ( ๐ต mod ๐ท ) โ†” ( ๐ด โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ด / ๐ท ) ) ) ) = ( ๐ต โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ต / ๐ท ) ) ) ) ) )
6 oveq1 โŠข ( ( ๐ด โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ด / ๐ท ) ) ) ) = ( ๐ต โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ต / ๐ท ) ) ) ) โ†’ ( ( ๐ด โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ด / ๐ท ) ) ) ) + ๐ถ ) = ( ( ๐ต โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ต / ๐ท ) ) ) ) + ๐ถ ) )
7 5 6 syl6bi โŠข ( ( ( ๐ด โˆˆ โ„ โˆง ๐ต โˆˆ โ„ ) โˆง ( ๐ถ โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) ) โ†’ ( ( ๐ด mod ๐ท ) = ( ๐ต mod ๐ท ) โ†’ ( ( ๐ด โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ด / ๐ท ) ) ) ) + ๐ถ ) = ( ( ๐ต โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ต / ๐ท ) ) ) ) + ๐ถ ) ) )
8 recn โŠข ( ๐ด โˆˆ โ„ โ†’ ๐ด โˆˆ โ„‚ )
9 8 adantr โŠข ( ( ๐ด โˆˆ โ„ โˆง ( ๐ถ โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) ) โ†’ ๐ด โˆˆ โ„‚ )
10 recn โŠข ( ๐ถ โˆˆ โ„ โ†’ ๐ถ โˆˆ โ„‚ )
11 10 ad2antrl โŠข ( ( ๐ด โˆˆ โ„ โˆง ( ๐ถ โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) ) โ†’ ๐ถ โˆˆ โ„‚ )
12 rpcn โŠข ( ๐ท โˆˆ โ„+ โ†’ ๐ท โˆˆ โ„‚ )
13 12 adantl โŠข ( ( ๐ด โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) โ†’ ๐ท โˆˆ โ„‚ )
14 rerpdivcl โŠข ( ( ๐ด โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) โ†’ ( ๐ด / ๐ท ) โˆˆ โ„ )
15 reflcl โŠข ( ( ๐ด / ๐ท ) โˆˆ โ„ โ†’ ( โŒŠ โ€˜ ( ๐ด / ๐ท ) ) โˆˆ โ„ )
16 15 recnd โŠข ( ( ๐ด / ๐ท ) โˆˆ โ„ โ†’ ( โŒŠ โ€˜ ( ๐ด / ๐ท ) ) โˆˆ โ„‚ )
17 14 16 syl โŠข ( ( ๐ด โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) โ†’ ( โŒŠ โ€˜ ( ๐ด / ๐ท ) ) โˆˆ โ„‚ )
18 13 17 mulcld โŠข ( ( ๐ด โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) โ†’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ด / ๐ท ) ) ) โˆˆ โ„‚ )
19 18 adantrl โŠข ( ( ๐ด โˆˆ โ„ โˆง ( ๐ถ โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) ) โ†’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ด / ๐ท ) ) ) โˆˆ โ„‚ )
20 9 11 19 addsubd โŠข ( ( ๐ด โˆˆ โ„ โˆง ( ๐ถ โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) ) โ†’ ( ( ๐ด + ๐ถ ) โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ด / ๐ท ) ) ) ) = ( ( ๐ด โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ด / ๐ท ) ) ) ) + ๐ถ ) )
21 20 adantlr โŠข ( ( ( ๐ด โˆˆ โ„ โˆง ๐ต โˆˆ โ„ ) โˆง ( ๐ถ โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) ) โ†’ ( ( ๐ด + ๐ถ ) โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ด / ๐ท ) ) ) ) = ( ( ๐ด โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ด / ๐ท ) ) ) ) + ๐ถ ) )
22 recn โŠข ( ๐ต โˆˆ โ„ โ†’ ๐ต โˆˆ โ„‚ )
23 22 adantr โŠข ( ( ๐ต โˆˆ โ„ โˆง ( ๐ถ โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) ) โ†’ ๐ต โˆˆ โ„‚ )
24 10 ad2antrl โŠข ( ( ๐ต โˆˆ โ„ โˆง ( ๐ถ โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) ) โ†’ ๐ถ โˆˆ โ„‚ )
25 12 adantl โŠข ( ( ๐ต โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) โ†’ ๐ท โˆˆ โ„‚ )
26 rerpdivcl โŠข ( ( ๐ต โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) โ†’ ( ๐ต / ๐ท ) โˆˆ โ„ )
27 reflcl โŠข ( ( ๐ต / ๐ท ) โˆˆ โ„ โ†’ ( โŒŠ โ€˜ ( ๐ต / ๐ท ) ) โˆˆ โ„ )
28 27 recnd โŠข ( ( ๐ต / ๐ท ) โˆˆ โ„ โ†’ ( โŒŠ โ€˜ ( ๐ต / ๐ท ) ) โˆˆ โ„‚ )
29 26 28 syl โŠข ( ( ๐ต โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) โ†’ ( โŒŠ โ€˜ ( ๐ต / ๐ท ) ) โˆˆ โ„‚ )
30 25 29 mulcld โŠข ( ( ๐ต โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) โ†’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ต / ๐ท ) ) ) โˆˆ โ„‚ )
31 30 adantrl โŠข ( ( ๐ต โˆˆ โ„ โˆง ( ๐ถ โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) ) โ†’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ต / ๐ท ) ) ) โˆˆ โ„‚ )
32 23 24 31 addsubd โŠข ( ( ๐ต โˆˆ โ„ โˆง ( ๐ถ โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) ) โ†’ ( ( ๐ต + ๐ถ ) โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ต / ๐ท ) ) ) ) = ( ( ๐ต โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ต / ๐ท ) ) ) ) + ๐ถ ) )
33 32 adantll โŠข ( ( ( ๐ด โˆˆ โ„ โˆง ๐ต โˆˆ โ„ ) โˆง ( ๐ถ โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) ) โ†’ ( ( ๐ต + ๐ถ ) โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ต / ๐ท ) ) ) ) = ( ( ๐ต โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ต / ๐ท ) ) ) ) + ๐ถ ) )
34 21 33 eqeq12d โŠข ( ( ( ๐ด โˆˆ โ„ โˆง ๐ต โˆˆ โ„ ) โˆง ( ๐ถ โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) ) โ†’ ( ( ( ๐ด + ๐ถ ) โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ด / ๐ท ) ) ) ) = ( ( ๐ต + ๐ถ ) โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ต / ๐ท ) ) ) ) โ†” ( ( ๐ด โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ด / ๐ท ) ) ) ) + ๐ถ ) = ( ( ๐ต โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ต / ๐ท ) ) ) ) + ๐ถ ) ) )
35 7 34 sylibrd โŠข ( ( ( ๐ด โˆˆ โ„ โˆง ๐ต โˆˆ โ„ ) โˆง ( ๐ถ โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) ) โ†’ ( ( ๐ด mod ๐ท ) = ( ๐ต mod ๐ท ) โ†’ ( ( ๐ด + ๐ถ ) โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ด / ๐ท ) ) ) ) = ( ( ๐ต + ๐ถ ) โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ต / ๐ท ) ) ) ) ) )
36 oveq1 โŠข ( ( ( ๐ด + ๐ถ ) โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ด / ๐ท ) ) ) ) = ( ( ๐ต + ๐ถ ) โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ต / ๐ท ) ) ) ) โ†’ ( ( ( ๐ด + ๐ถ ) โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ด / ๐ท ) ) ) ) mod ๐ท ) = ( ( ( ๐ต + ๐ถ ) โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ต / ๐ท ) ) ) ) mod ๐ท ) )
37 readdcl โŠข ( ( ๐ด โˆˆ โ„ โˆง ๐ถ โˆˆ โ„ ) โ†’ ( ๐ด + ๐ถ ) โˆˆ โ„ )
38 37 adantrr โŠข ( ( ๐ด โˆˆ โ„ โˆง ( ๐ถ โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) ) โ†’ ( ๐ด + ๐ถ ) โˆˆ โ„ )
39 simprr โŠข ( ( ๐ด โˆˆ โ„ โˆง ( ๐ถ โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) ) โ†’ ๐ท โˆˆ โ„+ )
40 14 flcld โŠข ( ( ๐ด โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) โ†’ ( โŒŠ โ€˜ ( ๐ด / ๐ท ) ) โˆˆ โ„ค )
41 40 adantrl โŠข ( ( ๐ด โˆˆ โ„ โˆง ( ๐ถ โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) ) โ†’ ( โŒŠ โ€˜ ( ๐ด / ๐ท ) ) โˆˆ โ„ค )
42 modcyc2 โŠข ( ( ( ๐ด + ๐ถ ) โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ โˆง ( โŒŠ โ€˜ ( ๐ด / ๐ท ) ) โˆˆ โ„ค ) โ†’ ( ( ( ๐ด + ๐ถ ) โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ด / ๐ท ) ) ) ) mod ๐ท ) = ( ( ๐ด + ๐ถ ) mod ๐ท ) )
43 38 39 41 42 syl3anc โŠข ( ( ๐ด โˆˆ โ„ โˆง ( ๐ถ โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) ) โ†’ ( ( ( ๐ด + ๐ถ ) โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ด / ๐ท ) ) ) ) mod ๐ท ) = ( ( ๐ด + ๐ถ ) mod ๐ท ) )
44 43 adantlr โŠข ( ( ( ๐ด โˆˆ โ„ โˆง ๐ต โˆˆ โ„ ) โˆง ( ๐ถ โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) ) โ†’ ( ( ( ๐ด + ๐ถ ) โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ด / ๐ท ) ) ) ) mod ๐ท ) = ( ( ๐ด + ๐ถ ) mod ๐ท ) )
45 readdcl โŠข ( ( ๐ต โˆˆ โ„ โˆง ๐ถ โˆˆ โ„ ) โ†’ ( ๐ต + ๐ถ ) โˆˆ โ„ )
46 45 adantrr โŠข ( ( ๐ต โˆˆ โ„ โˆง ( ๐ถ โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) ) โ†’ ( ๐ต + ๐ถ ) โˆˆ โ„ )
47 simprr โŠข ( ( ๐ต โˆˆ โ„ โˆง ( ๐ถ โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) ) โ†’ ๐ท โˆˆ โ„+ )
48 26 flcld โŠข ( ( ๐ต โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) โ†’ ( โŒŠ โ€˜ ( ๐ต / ๐ท ) ) โˆˆ โ„ค )
49 48 adantrl โŠข ( ( ๐ต โˆˆ โ„ โˆง ( ๐ถ โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) ) โ†’ ( โŒŠ โ€˜ ( ๐ต / ๐ท ) ) โˆˆ โ„ค )
50 modcyc2 โŠข ( ( ( ๐ต + ๐ถ ) โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ โˆง ( โŒŠ โ€˜ ( ๐ต / ๐ท ) ) โˆˆ โ„ค ) โ†’ ( ( ( ๐ต + ๐ถ ) โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ต / ๐ท ) ) ) ) mod ๐ท ) = ( ( ๐ต + ๐ถ ) mod ๐ท ) )
51 46 47 49 50 syl3anc โŠข ( ( ๐ต โˆˆ โ„ โˆง ( ๐ถ โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) ) โ†’ ( ( ( ๐ต + ๐ถ ) โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ต / ๐ท ) ) ) ) mod ๐ท ) = ( ( ๐ต + ๐ถ ) mod ๐ท ) )
52 51 adantll โŠข ( ( ( ๐ด โˆˆ โ„ โˆง ๐ต โˆˆ โ„ ) โˆง ( ๐ถ โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) ) โ†’ ( ( ( ๐ต + ๐ถ ) โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ต / ๐ท ) ) ) ) mod ๐ท ) = ( ( ๐ต + ๐ถ ) mod ๐ท ) )
53 44 52 eqeq12d โŠข ( ( ( ๐ด โˆˆ โ„ โˆง ๐ต โˆˆ โ„ ) โˆง ( ๐ถ โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) ) โ†’ ( ( ( ( ๐ด + ๐ถ ) โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ด / ๐ท ) ) ) ) mod ๐ท ) = ( ( ( ๐ต + ๐ถ ) โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ต / ๐ท ) ) ) ) mod ๐ท ) โ†” ( ( ๐ด + ๐ถ ) mod ๐ท ) = ( ( ๐ต + ๐ถ ) mod ๐ท ) ) )
54 36 53 imbitrid โŠข ( ( ( ๐ด โˆˆ โ„ โˆง ๐ต โˆˆ โ„ ) โˆง ( ๐ถ โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) ) โ†’ ( ( ( ๐ด + ๐ถ ) โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ด / ๐ท ) ) ) ) = ( ( ๐ต + ๐ถ ) โˆ’ ( ๐ท ยท ( โŒŠ โ€˜ ( ๐ต / ๐ท ) ) ) ) โ†’ ( ( ๐ด + ๐ถ ) mod ๐ท ) = ( ( ๐ต + ๐ถ ) mod ๐ท ) ) )
55 35 54 syld โŠข ( ( ( ๐ด โˆˆ โ„ โˆง ๐ต โˆˆ โ„ ) โˆง ( ๐ถ โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) ) โ†’ ( ( ๐ด mod ๐ท ) = ( ๐ต mod ๐ท ) โ†’ ( ( ๐ด + ๐ถ ) mod ๐ท ) = ( ( ๐ต + ๐ถ ) mod ๐ท ) ) )
56 55 3impia โŠข ( ( ( ๐ด โˆˆ โ„ โˆง ๐ต โˆˆ โ„ ) โˆง ( ๐ถ โˆˆ โ„ โˆง ๐ท โˆˆ โ„+ ) โˆง ( ๐ด mod ๐ท ) = ( ๐ต mod ๐ท ) ) โ†’ ( ( ๐ด + ๐ถ ) mod ๐ท ) = ( ( ๐ต + ๐ถ ) mod ๐ท ) )