| Step |
Hyp |
Ref |
Expression |
| 1 |
|
0red |
|- ( M e. RR+ -> 0 e. RR ) |
| 2 |
|
rpxr |
|- ( M e. RR+ -> M e. RR* ) |
| 3 |
|
elico2 |
|- ( ( 0 e. RR /\ M e. RR* ) -> ( A e. ( 0 [,) M ) <-> ( A e. RR /\ 0 <_ A /\ A < M ) ) ) |
| 4 |
1 2 3
|
syl2anc |
|- ( M e. RR+ -> ( A e. ( 0 [,) M ) <-> ( A e. RR /\ 0 <_ A /\ A < M ) ) ) |
| 5 |
4
|
adantl |
|- ( ( N e. ZZ /\ M e. RR+ ) -> ( A e. ( 0 [,) M ) <-> ( A e. RR /\ 0 <_ A /\ A < M ) ) ) |
| 6 |
|
zcn |
|- ( N e. ZZ -> N e. CC ) |
| 7 |
|
rpcn |
|- ( M e. RR+ -> M e. CC ) |
| 8 |
|
mulcl |
|- ( ( N e. CC /\ M e. CC ) -> ( N x. M ) e. CC ) |
| 9 |
6 7 8
|
syl2an |
|- ( ( N e. ZZ /\ M e. RR+ ) -> ( N x. M ) e. CC ) |
| 10 |
9
|
adantr |
|- ( ( ( N e. ZZ /\ M e. RR+ ) /\ ( A e. RR /\ 0 <_ A /\ A < M ) ) -> ( N x. M ) e. CC ) |
| 11 |
|
recn |
|- ( A e. RR -> A e. CC ) |
| 12 |
11
|
3ad2ant1 |
|- ( ( A e. RR /\ 0 <_ A /\ A < M ) -> A e. CC ) |
| 13 |
12
|
adantl |
|- ( ( ( N e. ZZ /\ M e. RR+ ) /\ ( A e. RR /\ 0 <_ A /\ A < M ) ) -> A e. CC ) |
| 14 |
10 13
|
addcomd |
|- ( ( ( N e. ZZ /\ M e. RR+ ) /\ ( A e. RR /\ 0 <_ A /\ A < M ) ) -> ( ( N x. M ) + A ) = ( A + ( N x. M ) ) ) |
| 15 |
14
|
oveq1d |
|- ( ( ( N e. ZZ /\ M e. RR+ ) /\ ( A e. RR /\ 0 <_ A /\ A < M ) ) -> ( ( ( N x. M ) + A ) mod M ) = ( ( A + ( N x. M ) ) mod M ) ) |
| 16 |
|
simp1 |
|- ( ( A e. RR /\ 0 <_ A /\ A < M ) -> A e. RR ) |
| 17 |
16
|
adantl |
|- ( ( ( N e. ZZ /\ M e. RR+ ) /\ ( A e. RR /\ 0 <_ A /\ A < M ) ) -> A e. RR ) |
| 18 |
|
simpr |
|- ( ( N e. ZZ /\ M e. RR+ ) -> M e. RR+ ) |
| 19 |
18
|
adantr |
|- ( ( ( N e. ZZ /\ M e. RR+ ) /\ ( A e. RR /\ 0 <_ A /\ A < M ) ) -> M e. RR+ ) |
| 20 |
|
simpll |
|- ( ( ( N e. ZZ /\ M e. RR+ ) /\ ( A e. RR /\ 0 <_ A /\ A < M ) ) -> N e. ZZ ) |
| 21 |
|
modcyc |
|- ( ( A e. RR /\ M e. RR+ /\ N e. ZZ ) -> ( ( A + ( N x. M ) ) mod M ) = ( A mod M ) ) |
| 22 |
17 19 20 21
|
syl3anc |
|- ( ( ( N e. ZZ /\ M e. RR+ ) /\ ( A e. RR /\ 0 <_ A /\ A < M ) ) -> ( ( A + ( N x. M ) ) mod M ) = ( A mod M ) ) |
| 23 |
18 16
|
anim12ci |
|- ( ( ( N e. ZZ /\ M e. RR+ ) /\ ( A e. RR /\ 0 <_ A /\ A < M ) ) -> ( A e. RR /\ M e. RR+ ) ) |
| 24 |
|
3simpc |
|- ( ( A e. RR /\ 0 <_ A /\ A < M ) -> ( 0 <_ A /\ A < M ) ) |
| 25 |
24
|
adantl |
|- ( ( ( N e. ZZ /\ M e. RR+ ) /\ ( A e. RR /\ 0 <_ A /\ A < M ) ) -> ( 0 <_ A /\ A < M ) ) |
| 26 |
|
modid |
|- ( ( ( A e. RR /\ M e. RR+ ) /\ ( 0 <_ A /\ A < M ) ) -> ( A mod M ) = A ) |
| 27 |
23 25 26
|
syl2anc |
|- ( ( ( N e. ZZ /\ M e. RR+ ) /\ ( A e. RR /\ 0 <_ A /\ A < M ) ) -> ( A mod M ) = A ) |
| 28 |
15 22 27
|
3eqtrd |
|- ( ( ( N e. ZZ /\ M e. RR+ ) /\ ( A e. RR /\ 0 <_ A /\ A < M ) ) -> ( ( ( N x. M ) + A ) mod M ) = A ) |
| 29 |
28
|
ex |
|- ( ( N e. ZZ /\ M e. RR+ ) -> ( ( A e. RR /\ 0 <_ A /\ A < M ) -> ( ( ( N x. M ) + A ) mod M ) = A ) ) |
| 30 |
5 29
|
sylbid |
|- ( ( N e. ZZ /\ M e. RR+ ) -> ( A e. ( 0 [,) M ) -> ( ( ( N x. M ) + A ) mod M ) = A ) ) |
| 31 |
30
|
3impia |
|- ( ( N e. ZZ /\ M e. RR+ /\ A e. ( 0 [,) M ) ) -> ( ( ( N x. M ) + A ) mod M ) = A ) |