Metamath Proof Explorer


Theorem modmulnn

Description: Move a positive integer in and out of a floor in the first argument of a modulo operation. (Contributed by NM, 2-Jan-2009)

Ref Expression
Assertion modmulnn ( ( ๐‘ โˆˆ โ„• โˆง ๐ด โˆˆ โ„ โˆง ๐‘€ โˆˆ โ„• ) โ†’ ( ( ๐‘ ยท ( โŒŠ โ€˜ ๐ด ) ) mod ( ๐‘ ยท ๐‘€ ) ) โ‰ค ( ( โŒŠ โ€˜ ( ๐‘ ยท ๐ด ) ) mod ( ๐‘ ยท ๐‘€ ) ) )

Proof

Step Hyp Ref Expression
1 nnre โŠข ( ๐‘ โˆˆ โ„• โ†’ ๐‘ โˆˆ โ„ )
2 reflcl โŠข ( ๐ด โˆˆ โ„ โ†’ ( โŒŠ โ€˜ ๐ด ) โˆˆ โ„ )
3 remulcl โŠข ( ( ๐‘ โˆˆ โ„ โˆง ( โŒŠ โ€˜ ๐ด ) โˆˆ โ„ ) โ†’ ( ๐‘ ยท ( โŒŠ โ€˜ ๐ด ) ) โˆˆ โ„ )
4 1 2 3 syl2an โŠข ( ( ๐‘ โˆˆ โ„• โˆง ๐ด โˆˆ โ„ ) โ†’ ( ๐‘ ยท ( โŒŠ โ€˜ ๐ด ) ) โˆˆ โ„ )
5 4 3adant3 โŠข ( ( ๐‘ โˆˆ โ„• โˆง ๐ด โˆˆ โ„ โˆง ๐‘€ โˆˆ โ„• ) โ†’ ( ๐‘ ยท ( โŒŠ โ€˜ ๐ด ) ) โˆˆ โ„ )
6 remulcl โŠข ( ( ๐‘ โˆˆ โ„ โˆง ๐ด โˆˆ โ„ ) โ†’ ( ๐‘ ยท ๐ด ) โˆˆ โ„ )
7 1 6 sylan โŠข ( ( ๐‘ โˆˆ โ„• โˆง ๐ด โˆˆ โ„ ) โ†’ ( ๐‘ ยท ๐ด ) โˆˆ โ„ )
8 reflcl โŠข ( ( ๐‘ ยท ๐ด ) โˆˆ โ„ โ†’ ( โŒŠ โ€˜ ( ๐‘ ยท ๐ด ) ) โˆˆ โ„ )
9 7 8 syl โŠข ( ( ๐‘ โˆˆ โ„• โˆง ๐ด โˆˆ โ„ ) โ†’ ( โŒŠ โ€˜ ( ๐‘ ยท ๐ด ) ) โˆˆ โ„ )
10 9 3adant3 โŠข ( ( ๐‘ โˆˆ โ„• โˆง ๐ด โˆˆ โ„ โˆง ๐‘€ โˆˆ โ„• ) โ†’ ( โŒŠ โ€˜ ( ๐‘ ยท ๐ด ) ) โˆˆ โ„ )
11 nnmulcl โŠข ( ( ๐‘ โˆˆ โ„• โˆง ๐‘€ โˆˆ โ„• ) โ†’ ( ๐‘ ยท ๐‘€ ) โˆˆ โ„• )
12 11 nnred โŠข ( ( ๐‘ โˆˆ โ„• โˆง ๐‘€ โˆˆ โ„• ) โ†’ ( ๐‘ ยท ๐‘€ ) โˆˆ โ„ )
13 12 3adant2 โŠข ( ( ๐‘ โˆˆ โ„• โˆง ๐ด โˆˆ โ„ โˆง ๐‘€ โˆˆ โ„• ) โ†’ ( ๐‘ ยท ๐‘€ ) โˆˆ โ„ )
14 nncn โŠข ( ๐‘ โˆˆ โ„• โ†’ ๐‘ โˆˆ โ„‚ )
15 nnne0 โŠข ( ๐‘ โˆˆ โ„• โ†’ ๐‘ โ‰  0 )
16 14 15 jca โŠข ( ๐‘ โˆˆ โ„• โ†’ ( ๐‘ โˆˆ โ„‚ โˆง ๐‘ โ‰  0 ) )
17 nncn โŠข ( ๐‘€ โˆˆ โ„• โ†’ ๐‘€ โˆˆ โ„‚ )
18 nnne0 โŠข ( ๐‘€ โˆˆ โ„• โ†’ ๐‘€ โ‰  0 )
19 17 18 jca โŠข ( ๐‘€ โˆˆ โ„• โ†’ ( ๐‘€ โˆˆ โ„‚ โˆง ๐‘€ โ‰  0 ) )
20 mulne0 โŠข ( ( ( ๐‘ โˆˆ โ„‚ โˆง ๐‘ โ‰  0 ) โˆง ( ๐‘€ โˆˆ โ„‚ โˆง ๐‘€ โ‰  0 ) ) โ†’ ( ๐‘ ยท ๐‘€ ) โ‰  0 )
21 16 19 20 syl2an โŠข ( ( ๐‘ โˆˆ โ„• โˆง ๐‘€ โˆˆ โ„• ) โ†’ ( ๐‘ ยท ๐‘€ ) โ‰  0 )
22 21 3adant2 โŠข ( ( ๐‘ โˆˆ โ„• โˆง ๐ด โˆˆ โ„ โˆง ๐‘€ โˆˆ โ„• ) โ†’ ( ๐‘ ยท ๐‘€ ) โ‰  0 )
23 5 13 22 redivcld โŠข ( ( ๐‘ โˆˆ โ„• โˆง ๐ด โˆˆ โ„ โˆง ๐‘€ โˆˆ โ„• ) โ†’ ( ( ๐‘ ยท ( โŒŠ โ€˜ ๐ด ) ) / ( ๐‘ ยท ๐‘€ ) ) โˆˆ โ„ )
24 reflcl โŠข ( ( ( ๐‘ ยท ( โŒŠ โ€˜ ๐ด ) ) / ( ๐‘ ยท ๐‘€ ) ) โˆˆ โ„ โ†’ ( โŒŠ โ€˜ ( ( ๐‘ ยท ( โŒŠ โ€˜ ๐ด ) ) / ( ๐‘ ยท ๐‘€ ) ) ) โˆˆ โ„ )
25 23 24 syl โŠข ( ( ๐‘ โˆˆ โ„• โˆง ๐ด โˆˆ โ„ โˆง ๐‘€ โˆˆ โ„• ) โ†’ ( โŒŠ โ€˜ ( ( ๐‘ ยท ( โŒŠ โ€˜ ๐ด ) ) / ( ๐‘ ยท ๐‘€ ) ) ) โˆˆ โ„ )
26 13 25 remulcld โŠข ( ( ๐‘ โˆˆ โ„• โˆง ๐ด โˆˆ โ„ โˆง ๐‘€ โˆˆ โ„• ) โ†’ ( ( ๐‘ ยท ๐‘€ ) ยท ( โŒŠ โ€˜ ( ( ๐‘ ยท ( โŒŠ โ€˜ ๐ด ) ) / ( ๐‘ ยท ๐‘€ ) ) ) ) โˆˆ โ„ )
27 nnnn0 โŠข ( ๐‘ โˆˆ โ„• โ†’ ๐‘ โˆˆ โ„•0 )
28 flmulnn0 โŠข ( ( ๐‘ โˆˆ โ„•0 โˆง ๐ด โˆˆ โ„ ) โ†’ ( ๐‘ ยท ( โŒŠ โ€˜ ๐ด ) ) โ‰ค ( โŒŠ โ€˜ ( ๐‘ ยท ๐ด ) ) )
29 27 28 sylan โŠข ( ( ๐‘ โˆˆ โ„• โˆง ๐ด โˆˆ โ„ ) โ†’ ( ๐‘ ยท ( โŒŠ โ€˜ ๐ด ) ) โ‰ค ( โŒŠ โ€˜ ( ๐‘ ยท ๐ด ) ) )
30 29 3adant3 โŠข ( ( ๐‘ โˆˆ โ„• โˆง ๐ด โˆˆ โ„ โˆง ๐‘€ โˆˆ โ„• ) โ†’ ( ๐‘ ยท ( โŒŠ โ€˜ ๐ด ) ) โ‰ค ( โŒŠ โ€˜ ( ๐‘ ยท ๐ด ) ) )
31 5 10 26 30 lesub1dd โŠข ( ( ๐‘ โˆˆ โ„• โˆง ๐ด โˆˆ โ„ โˆง ๐‘€ โˆˆ โ„• ) โ†’ ( ( ๐‘ ยท ( โŒŠ โ€˜ ๐ด ) ) โˆ’ ( ( ๐‘ ยท ๐‘€ ) ยท ( โŒŠ โ€˜ ( ( ๐‘ ยท ( โŒŠ โ€˜ ๐ด ) ) / ( ๐‘ ยท ๐‘€ ) ) ) ) ) โ‰ค ( ( โŒŠ โ€˜ ( ๐‘ ยท ๐ด ) ) โˆ’ ( ( ๐‘ ยท ๐‘€ ) ยท ( โŒŠ โ€˜ ( ( ๐‘ ยท ( โŒŠ โ€˜ ๐ด ) ) / ( ๐‘ ยท ๐‘€ ) ) ) ) ) )
32 11 nnrpd โŠข ( ( ๐‘ โˆˆ โ„• โˆง ๐‘€ โˆˆ โ„• ) โ†’ ( ๐‘ ยท ๐‘€ ) โˆˆ โ„+ )
33 modval โŠข ( ( ( ๐‘ ยท ( โŒŠ โ€˜ ๐ด ) ) โˆˆ โ„ โˆง ( ๐‘ ยท ๐‘€ ) โˆˆ โ„+ ) โ†’ ( ( ๐‘ ยท ( โŒŠ โ€˜ ๐ด ) ) mod ( ๐‘ ยท ๐‘€ ) ) = ( ( ๐‘ ยท ( โŒŠ โ€˜ ๐ด ) ) โˆ’ ( ( ๐‘ ยท ๐‘€ ) ยท ( โŒŠ โ€˜ ( ( ๐‘ ยท ( โŒŠ โ€˜ ๐ด ) ) / ( ๐‘ ยท ๐‘€ ) ) ) ) ) )
34 5 32 33 3imp3i2an โŠข ( ( ๐‘ โˆˆ โ„• โˆง ๐ด โˆˆ โ„ โˆง ๐‘€ โˆˆ โ„• ) โ†’ ( ( ๐‘ ยท ( โŒŠ โ€˜ ๐ด ) ) mod ( ๐‘ ยท ๐‘€ ) ) = ( ( ๐‘ ยท ( โŒŠ โ€˜ ๐ด ) ) โˆ’ ( ( ๐‘ ยท ๐‘€ ) ยท ( โŒŠ โ€˜ ( ( ๐‘ ยท ( โŒŠ โ€˜ ๐ด ) ) / ( ๐‘ ยท ๐‘€ ) ) ) ) ) )
35 modval โŠข ( ( ( โŒŠ โ€˜ ( ๐‘ ยท ๐ด ) ) โˆˆ โ„ โˆง ( ๐‘ ยท ๐‘€ ) โˆˆ โ„+ ) โ†’ ( ( โŒŠ โ€˜ ( ๐‘ ยท ๐ด ) ) mod ( ๐‘ ยท ๐‘€ ) ) = ( ( โŒŠ โ€˜ ( ๐‘ ยท ๐ด ) ) โˆ’ ( ( ๐‘ ยท ๐‘€ ) ยท ( โŒŠ โ€˜ ( ( โŒŠ โ€˜ ( ๐‘ ยท ๐ด ) ) / ( ๐‘ ยท ๐‘€ ) ) ) ) ) )
36 10 32 35 3imp3i2an โŠข ( ( ๐‘ โˆˆ โ„• โˆง ๐ด โˆˆ โ„ โˆง ๐‘€ โˆˆ โ„• ) โ†’ ( ( โŒŠ โ€˜ ( ๐‘ ยท ๐ด ) ) mod ( ๐‘ ยท ๐‘€ ) ) = ( ( โŒŠ โ€˜ ( ๐‘ ยท ๐ด ) ) โˆ’ ( ( ๐‘ ยท ๐‘€ ) ยท ( โŒŠ โ€˜ ( ( โŒŠ โ€˜ ( ๐‘ ยท ๐ด ) ) / ( ๐‘ ยท ๐‘€ ) ) ) ) ) )
37 7 3adant3 โŠข ( ( ๐‘ โˆˆ โ„• โˆง ๐ด โˆˆ โ„ โˆง ๐‘€ โˆˆ โ„• ) โ†’ ( ๐‘ ยท ๐ด ) โˆˆ โ„ )
38 fldiv โŠข ( ( ( ๐‘ ยท ๐ด ) โˆˆ โ„ โˆง ( ๐‘ ยท ๐‘€ ) โˆˆ โ„• ) โ†’ ( โŒŠ โ€˜ ( ( โŒŠ โ€˜ ( ๐‘ ยท ๐ด ) ) / ( ๐‘ ยท ๐‘€ ) ) ) = ( โŒŠ โ€˜ ( ( ๐‘ ยท ๐ด ) / ( ๐‘ ยท ๐‘€ ) ) ) )
39 37 11 38 3imp3i2an โŠข ( ( ๐‘ โˆˆ โ„• โˆง ๐ด โˆˆ โ„ โˆง ๐‘€ โˆˆ โ„• ) โ†’ ( โŒŠ โ€˜ ( ( โŒŠ โ€˜ ( ๐‘ ยท ๐ด ) ) / ( ๐‘ ยท ๐‘€ ) ) ) = ( โŒŠ โ€˜ ( ( ๐‘ ยท ๐ด ) / ( ๐‘ ยท ๐‘€ ) ) ) )
40 fldiv โŠข ( ( ๐ด โˆˆ โ„ โˆง ๐‘€ โˆˆ โ„• ) โ†’ ( โŒŠ โ€˜ ( ( โŒŠ โ€˜ ๐ด ) / ๐‘€ ) ) = ( โŒŠ โ€˜ ( ๐ด / ๐‘€ ) ) )
41 40 3adant3 โŠข ( ( ๐ด โˆˆ โ„ โˆง ๐‘€ โˆˆ โ„• โˆง ๐‘ โˆˆ โ„• ) โ†’ ( โŒŠ โ€˜ ( ( โŒŠ โ€˜ ๐ด ) / ๐‘€ ) ) = ( โŒŠ โ€˜ ( ๐ด / ๐‘€ ) ) )
42 2 recnd โŠข ( ๐ด โˆˆ โ„ โ†’ ( โŒŠ โ€˜ ๐ด ) โˆˆ โ„‚ )
43 divcan5 โŠข ( ( ( โŒŠ โ€˜ ๐ด ) โˆˆ โ„‚ โˆง ( ๐‘€ โˆˆ โ„‚ โˆง ๐‘€ โ‰  0 ) โˆง ( ๐‘ โˆˆ โ„‚ โˆง ๐‘ โ‰  0 ) ) โ†’ ( ( ๐‘ ยท ( โŒŠ โ€˜ ๐ด ) ) / ( ๐‘ ยท ๐‘€ ) ) = ( ( โŒŠ โ€˜ ๐ด ) / ๐‘€ ) )
44 42 19 16 43 syl3an โŠข ( ( ๐ด โˆˆ โ„ โˆง ๐‘€ โˆˆ โ„• โˆง ๐‘ โˆˆ โ„• ) โ†’ ( ( ๐‘ ยท ( โŒŠ โ€˜ ๐ด ) ) / ( ๐‘ ยท ๐‘€ ) ) = ( ( โŒŠ โ€˜ ๐ด ) / ๐‘€ ) )
45 44 fveq2d โŠข ( ( ๐ด โˆˆ โ„ โˆง ๐‘€ โˆˆ โ„• โˆง ๐‘ โˆˆ โ„• ) โ†’ ( โŒŠ โ€˜ ( ( ๐‘ ยท ( โŒŠ โ€˜ ๐ด ) ) / ( ๐‘ ยท ๐‘€ ) ) ) = ( โŒŠ โ€˜ ( ( โŒŠ โ€˜ ๐ด ) / ๐‘€ ) ) )
46 recn โŠข ( ๐ด โˆˆ โ„ โ†’ ๐ด โˆˆ โ„‚ )
47 divcan5 โŠข ( ( ๐ด โˆˆ โ„‚ โˆง ( ๐‘€ โˆˆ โ„‚ โˆง ๐‘€ โ‰  0 ) โˆง ( ๐‘ โˆˆ โ„‚ โˆง ๐‘ โ‰  0 ) ) โ†’ ( ( ๐‘ ยท ๐ด ) / ( ๐‘ ยท ๐‘€ ) ) = ( ๐ด / ๐‘€ ) )
48 46 19 16 47 syl3an โŠข ( ( ๐ด โˆˆ โ„ โˆง ๐‘€ โˆˆ โ„• โˆง ๐‘ โˆˆ โ„• ) โ†’ ( ( ๐‘ ยท ๐ด ) / ( ๐‘ ยท ๐‘€ ) ) = ( ๐ด / ๐‘€ ) )
49 48 fveq2d โŠข ( ( ๐ด โˆˆ โ„ โˆง ๐‘€ โˆˆ โ„• โˆง ๐‘ โˆˆ โ„• ) โ†’ ( โŒŠ โ€˜ ( ( ๐‘ ยท ๐ด ) / ( ๐‘ ยท ๐‘€ ) ) ) = ( โŒŠ โ€˜ ( ๐ด / ๐‘€ ) ) )
50 41 45 49 3eqtr4rd โŠข ( ( ๐ด โˆˆ โ„ โˆง ๐‘€ โˆˆ โ„• โˆง ๐‘ โˆˆ โ„• ) โ†’ ( โŒŠ โ€˜ ( ( ๐‘ ยท ๐ด ) / ( ๐‘ ยท ๐‘€ ) ) ) = ( โŒŠ โ€˜ ( ( ๐‘ ยท ( โŒŠ โ€˜ ๐ด ) ) / ( ๐‘ ยท ๐‘€ ) ) ) )
51 50 3comr โŠข ( ( ๐‘ โˆˆ โ„• โˆง ๐ด โˆˆ โ„ โˆง ๐‘€ โˆˆ โ„• ) โ†’ ( โŒŠ โ€˜ ( ( ๐‘ ยท ๐ด ) / ( ๐‘ ยท ๐‘€ ) ) ) = ( โŒŠ โ€˜ ( ( ๐‘ ยท ( โŒŠ โ€˜ ๐ด ) ) / ( ๐‘ ยท ๐‘€ ) ) ) )
52 39 51 eqtrd โŠข ( ( ๐‘ โˆˆ โ„• โˆง ๐ด โˆˆ โ„ โˆง ๐‘€ โˆˆ โ„• ) โ†’ ( โŒŠ โ€˜ ( ( โŒŠ โ€˜ ( ๐‘ ยท ๐ด ) ) / ( ๐‘ ยท ๐‘€ ) ) ) = ( โŒŠ โ€˜ ( ( ๐‘ ยท ( โŒŠ โ€˜ ๐ด ) ) / ( ๐‘ ยท ๐‘€ ) ) ) )
53 52 oveq2d โŠข ( ( ๐‘ โˆˆ โ„• โˆง ๐ด โˆˆ โ„ โˆง ๐‘€ โˆˆ โ„• ) โ†’ ( ( ๐‘ ยท ๐‘€ ) ยท ( โŒŠ โ€˜ ( ( โŒŠ โ€˜ ( ๐‘ ยท ๐ด ) ) / ( ๐‘ ยท ๐‘€ ) ) ) ) = ( ( ๐‘ ยท ๐‘€ ) ยท ( โŒŠ โ€˜ ( ( ๐‘ ยท ( โŒŠ โ€˜ ๐ด ) ) / ( ๐‘ ยท ๐‘€ ) ) ) ) )
54 53 oveq2d โŠข ( ( ๐‘ โˆˆ โ„• โˆง ๐ด โˆˆ โ„ โˆง ๐‘€ โˆˆ โ„• ) โ†’ ( ( โŒŠ โ€˜ ( ๐‘ ยท ๐ด ) ) โˆ’ ( ( ๐‘ ยท ๐‘€ ) ยท ( โŒŠ โ€˜ ( ( โŒŠ โ€˜ ( ๐‘ ยท ๐ด ) ) / ( ๐‘ ยท ๐‘€ ) ) ) ) ) = ( ( โŒŠ โ€˜ ( ๐‘ ยท ๐ด ) ) โˆ’ ( ( ๐‘ ยท ๐‘€ ) ยท ( โŒŠ โ€˜ ( ( ๐‘ ยท ( โŒŠ โ€˜ ๐ด ) ) / ( ๐‘ ยท ๐‘€ ) ) ) ) ) )
55 36 54 eqtrd โŠข ( ( ๐‘ โˆˆ โ„• โˆง ๐ด โˆˆ โ„ โˆง ๐‘€ โˆˆ โ„• ) โ†’ ( ( โŒŠ โ€˜ ( ๐‘ ยท ๐ด ) ) mod ( ๐‘ ยท ๐‘€ ) ) = ( ( โŒŠ โ€˜ ( ๐‘ ยท ๐ด ) ) โˆ’ ( ( ๐‘ ยท ๐‘€ ) ยท ( โŒŠ โ€˜ ( ( ๐‘ ยท ( โŒŠ โ€˜ ๐ด ) ) / ( ๐‘ ยท ๐‘€ ) ) ) ) ) )
56 31 34 55 3brtr4d โŠข ( ( ๐‘ โˆˆ โ„• โˆง ๐ด โˆˆ โ„ โˆง ๐‘€ โˆˆ โ„• ) โ†’ ( ( ๐‘ ยท ( โŒŠ โ€˜ ๐ด ) ) mod ( ๐‘ ยท ๐‘€ ) ) โ‰ค ( ( โŒŠ โ€˜ ( ๐‘ ยท ๐ด ) ) mod ( ๐‘ ยท ๐‘€ ) ) )