| Step |
Hyp |
Ref |
Expression |
| 1 |
|
zre |
|- ( A e. ZZ -> A e. RR ) |
| 2 |
|
modelico |
|- ( ( A e. RR /\ M e. RR+ ) -> ( A mod M ) e. ( 0 [,) M ) ) |
| 3 |
1 2
|
sylan |
|- ( ( A e. ZZ /\ M e. RR+ ) -> ( A mod M ) e. ( 0 [,) M ) ) |
| 4 |
3
|
adantr |
|- ( ( ( A e. ZZ /\ M e. RR+ ) /\ ( A mod M ) = B ) -> ( A mod M ) e. ( 0 [,) M ) ) |
| 5 |
|
eleq1 |
|- ( ( A mod M ) = B -> ( ( A mod M ) e. ( 0 [,) M ) <-> B e. ( 0 [,) M ) ) ) |
| 6 |
5
|
adantl |
|- ( ( ( A e. ZZ /\ M e. RR+ ) /\ ( A mod M ) = B ) -> ( ( A mod M ) e. ( 0 [,) M ) <-> B e. ( 0 [,) M ) ) ) |
| 7 |
4 6
|
mpbid |
|- ( ( ( A e. ZZ /\ M e. RR+ ) /\ ( A mod M ) = B ) -> B e. ( 0 [,) M ) ) |
| 8 |
|
simpll |
|- ( ( ( A e. ZZ /\ M e. RR+ ) /\ B e. ( 0 [,) M ) ) -> A e. ZZ ) |
| 9 |
|
simpr |
|- ( ( ( A e. ZZ /\ M e. RR+ ) /\ B e. ( 0 [,) M ) ) -> B e. ( 0 [,) M ) ) |
| 10 |
|
simpr |
|- ( ( A e. ZZ /\ M e. RR+ ) -> M e. RR+ ) |
| 11 |
10
|
adantr |
|- ( ( ( A e. ZZ /\ M e. RR+ ) /\ B e. ( 0 [,) M ) ) -> M e. RR+ ) |
| 12 |
|
modmuladd |
|- ( ( A e. ZZ /\ B e. ( 0 [,) M ) /\ M e. RR+ ) -> ( ( A mod M ) = B <-> E. k e. ZZ A = ( ( k x. M ) + B ) ) ) |
| 13 |
8 9 11 12
|
syl3anc |
|- ( ( ( A e. ZZ /\ M e. RR+ ) /\ B e. ( 0 [,) M ) ) -> ( ( A mod M ) = B <-> E. k e. ZZ A = ( ( k x. M ) + B ) ) ) |
| 14 |
13
|
biimpd |
|- ( ( ( A e. ZZ /\ M e. RR+ ) /\ B e. ( 0 [,) M ) ) -> ( ( A mod M ) = B -> E. k e. ZZ A = ( ( k x. M ) + B ) ) ) |
| 15 |
14
|
impancom |
|- ( ( ( A e. ZZ /\ M e. RR+ ) /\ ( A mod M ) = B ) -> ( B e. ( 0 [,) M ) -> E. k e. ZZ A = ( ( k x. M ) + B ) ) ) |
| 16 |
7 15
|
mpd |
|- ( ( ( A e. ZZ /\ M e. RR+ ) /\ ( A mod M ) = B ) -> E. k e. ZZ A = ( ( k x. M ) + B ) ) |
| 17 |
16
|
ex |
|- ( ( A e. ZZ /\ M e. RR+ ) -> ( ( A mod M ) = B -> E. k e. ZZ A = ( ( k x. M ) + B ) ) ) |