Step |
Hyp |
Ref |
Expression |
1 |
|
zsubcl |
|- ( ( N e. ZZ /\ r e. ZZ ) -> ( N - r ) e. ZZ ) |
2 |
|
divides |
|- ( ( D e. ZZ /\ ( N - r ) e. ZZ ) -> ( D || ( N - r ) <-> E. q e. ZZ ( q x. D ) = ( N - r ) ) ) |
3 |
1 2
|
sylan2 |
|- ( ( D e. ZZ /\ ( N e. ZZ /\ r e. ZZ ) ) -> ( D || ( N - r ) <-> E. q e. ZZ ( q x. D ) = ( N - r ) ) ) |
4 |
3
|
3impb |
|- ( ( D e. ZZ /\ N e. ZZ /\ r e. ZZ ) -> ( D || ( N - r ) <-> E. q e. ZZ ( q x. D ) = ( N - r ) ) ) |
5 |
4
|
3com12 |
|- ( ( N e. ZZ /\ D e. ZZ /\ r e. ZZ ) -> ( D || ( N - r ) <-> E. q e. ZZ ( q x. D ) = ( N - r ) ) ) |
6 |
|
zcn |
|- ( N e. ZZ -> N e. CC ) |
7 |
|
zcn |
|- ( r e. ZZ -> r e. CC ) |
8 |
|
zmulcl |
|- ( ( q e. ZZ /\ D e. ZZ ) -> ( q x. D ) e. ZZ ) |
9 |
8
|
zcnd |
|- ( ( q e. ZZ /\ D e. ZZ ) -> ( q x. D ) e. CC ) |
10 |
|
subadd |
|- ( ( N e. CC /\ r e. CC /\ ( q x. D ) e. CC ) -> ( ( N - r ) = ( q x. D ) <-> ( r + ( q x. D ) ) = N ) ) |
11 |
6 7 9 10
|
syl3an |
|- ( ( N e. ZZ /\ r e. ZZ /\ ( q e. ZZ /\ D e. ZZ ) ) -> ( ( N - r ) = ( q x. D ) <-> ( r + ( q x. D ) ) = N ) ) |
12 |
|
addcom |
|- ( ( r e. CC /\ ( q x. D ) e. CC ) -> ( r + ( q x. D ) ) = ( ( q x. D ) + r ) ) |
13 |
7 9 12
|
syl2an |
|- ( ( r e. ZZ /\ ( q e. ZZ /\ D e. ZZ ) ) -> ( r + ( q x. D ) ) = ( ( q x. D ) + r ) ) |
14 |
13
|
3adant1 |
|- ( ( N e. ZZ /\ r e. ZZ /\ ( q e. ZZ /\ D e. ZZ ) ) -> ( r + ( q x. D ) ) = ( ( q x. D ) + r ) ) |
15 |
14
|
eqeq1d |
|- ( ( N e. ZZ /\ r e. ZZ /\ ( q e. ZZ /\ D e. ZZ ) ) -> ( ( r + ( q x. D ) ) = N <-> ( ( q x. D ) + r ) = N ) ) |
16 |
11 15
|
bitrd |
|- ( ( N e. ZZ /\ r e. ZZ /\ ( q e. ZZ /\ D e. ZZ ) ) -> ( ( N - r ) = ( q x. D ) <-> ( ( q x. D ) + r ) = N ) ) |
17 |
|
eqcom |
|- ( ( N - r ) = ( q x. D ) <-> ( q x. D ) = ( N - r ) ) |
18 |
|
eqcom |
|- ( ( ( q x. D ) + r ) = N <-> N = ( ( q x. D ) + r ) ) |
19 |
16 17 18
|
3bitr3g |
|- ( ( N e. ZZ /\ r e. ZZ /\ ( q e. ZZ /\ D e. ZZ ) ) -> ( ( q x. D ) = ( N - r ) <-> N = ( ( q x. D ) + r ) ) ) |
20 |
19
|
3expia |
|- ( ( N e. ZZ /\ r e. ZZ ) -> ( ( q e. ZZ /\ D e. ZZ ) -> ( ( q x. D ) = ( N - r ) <-> N = ( ( q x. D ) + r ) ) ) ) |
21 |
20
|
expcomd |
|- ( ( N e. ZZ /\ r e. ZZ ) -> ( D e. ZZ -> ( q e. ZZ -> ( ( q x. D ) = ( N - r ) <-> N = ( ( q x. D ) + r ) ) ) ) ) |
22 |
21
|
3impia |
|- ( ( N e. ZZ /\ r e. ZZ /\ D e. ZZ ) -> ( q e. ZZ -> ( ( q x. D ) = ( N - r ) <-> N = ( ( q x. D ) + r ) ) ) ) |
23 |
22
|
imp |
|- ( ( ( N e. ZZ /\ r e. ZZ /\ D e. ZZ ) /\ q e. ZZ ) -> ( ( q x. D ) = ( N - r ) <-> N = ( ( q x. D ) + r ) ) ) |
24 |
23
|
rexbidva |
|- ( ( N e. ZZ /\ r e. ZZ /\ D e. ZZ ) -> ( E. q e. ZZ ( q x. D ) = ( N - r ) <-> E. q e. ZZ N = ( ( q x. D ) + r ) ) ) |
25 |
24
|
3com23 |
|- ( ( N e. ZZ /\ D e. ZZ /\ r e. ZZ ) -> ( E. q e. ZZ ( q x. D ) = ( N - r ) <-> E. q e. ZZ N = ( ( q x. D ) + r ) ) ) |
26 |
5 25
|
bitrd |
|- ( ( N e. ZZ /\ D e. ZZ /\ r e. ZZ ) -> ( D || ( N - r ) <-> E. q e. ZZ N = ( ( q x. D ) + r ) ) ) |
27 |
26
|
anbi2d |
|- ( ( N e. ZZ /\ D e. ZZ /\ r e. ZZ ) -> ( ( ( 0 <_ r /\ r < ( abs ` D ) ) /\ D || ( N - r ) ) <-> ( ( 0 <_ r /\ r < ( abs ` D ) ) /\ E. q e. ZZ N = ( ( q x. D ) + r ) ) ) ) |
28 |
|
df-3an |
|- ( ( 0 <_ r /\ r < ( abs ` D ) /\ N = ( ( q x. D ) + r ) ) <-> ( ( 0 <_ r /\ r < ( abs ` D ) ) /\ N = ( ( q x. D ) + r ) ) ) |
29 |
28
|
rexbii |
|- ( E. q e. ZZ ( 0 <_ r /\ r < ( abs ` D ) /\ N = ( ( q x. D ) + r ) ) <-> E. q e. ZZ ( ( 0 <_ r /\ r < ( abs ` D ) ) /\ N = ( ( q x. D ) + r ) ) ) |
30 |
|
r19.42v |
|- ( E. q e. ZZ ( ( 0 <_ r /\ r < ( abs ` D ) ) /\ N = ( ( q x. D ) + r ) ) <-> ( ( 0 <_ r /\ r < ( abs ` D ) ) /\ E. q e. ZZ N = ( ( q x. D ) + r ) ) ) |
31 |
29 30
|
bitri |
|- ( E. q e. ZZ ( 0 <_ r /\ r < ( abs ` D ) /\ N = ( ( q x. D ) + r ) ) <-> ( ( 0 <_ r /\ r < ( abs ` D ) ) /\ E. q e. ZZ N = ( ( q x. D ) + r ) ) ) |
32 |
27 31
|
syl6rbbr |
|- ( ( N e. ZZ /\ D e. ZZ /\ r e. ZZ ) -> ( E. q e. ZZ ( 0 <_ r /\ r < ( abs ` D ) /\ N = ( ( q x. D ) + r ) ) <-> ( ( 0 <_ r /\ r < ( abs ` D ) ) /\ D || ( N - r ) ) ) ) |
33 |
|
anass |
|- ( ( ( 0 <_ r /\ r < ( abs ` D ) ) /\ D || ( N - r ) ) <-> ( 0 <_ r /\ ( r < ( abs ` D ) /\ D || ( N - r ) ) ) ) |
34 |
32 33
|
syl6bb |
|- ( ( N e. ZZ /\ D e. ZZ /\ r e. ZZ ) -> ( E. q e. ZZ ( 0 <_ r /\ r < ( abs ` D ) /\ N = ( ( q x. D ) + r ) ) <-> ( 0 <_ r /\ ( r < ( abs ` D ) /\ D || ( N - r ) ) ) ) ) |
35 |
34
|
3expa |
|- ( ( ( N e. ZZ /\ D e. ZZ ) /\ r e. ZZ ) -> ( E. q e. ZZ ( 0 <_ r /\ r < ( abs ` D ) /\ N = ( ( q x. D ) + r ) ) <-> ( 0 <_ r /\ ( r < ( abs ` D ) /\ D || ( N - r ) ) ) ) ) |
36 |
35
|
reubidva |
|- ( ( N e. ZZ /\ D e. ZZ ) -> ( E! r e. ZZ E. q e. ZZ ( 0 <_ r /\ r < ( abs ` D ) /\ N = ( ( q x. D ) + r ) ) <-> E! r e. ZZ ( 0 <_ r /\ ( r < ( abs ` D ) /\ D || ( N - r ) ) ) ) ) |
37 |
|
elnn0z |
|- ( r e. NN0 <-> ( r e. ZZ /\ 0 <_ r ) ) |
38 |
37
|
anbi1i |
|- ( ( r e. NN0 /\ ( r < ( abs ` D ) /\ D || ( N - r ) ) ) <-> ( ( r e. ZZ /\ 0 <_ r ) /\ ( r < ( abs ` D ) /\ D || ( N - r ) ) ) ) |
39 |
|
anass |
|- ( ( ( r e. ZZ /\ 0 <_ r ) /\ ( r < ( abs ` D ) /\ D || ( N - r ) ) ) <-> ( r e. ZZ /\ ( 0 <_ r /\ ( r < ( abs ` D ) /\ D || ( N - r ) ) ) ) ) |
40 |
38 39
|
bitri |
|- ( ( r e. NN0 /\ ( r < ( abs ` D ) /\ D || ( N - r ) ) ) <-> ( r e. ZZ /\ ( 0 <_ r /\ ( r < ( abs ` D ) /\ D || ( N - r ) ) ) ) ) |
41 |
40
|
eubii |
|- ( E! r ( r e. NN0 /\ ( r < ( abs ` D ) /\ D || ( N - r ) ) ) <-> E! r ( r e. ZZ /\ ( 0 <_ r /\ ( r < ( abs ` D ) /\ D || ( N - r ) ) ) ) ) |
42 |
|
df-reu |
|- ( E! r e. NN0 ( r < ( abs ` D ) /\ D || ( N - r ) ) <-> E! r ( r e. NN0 /\ ( r < ( abs ` D ) /\ D || ( N - r ) ) ) ) |
43 |
|
df-reu |
|- ( E! r e. ZZ ( 0 <_ r /\ ( r < ( abs ` D ) /\ D || ( N - r ) ) ) <-> E! r ( r e. ZZ /\ ( 0 <_ r /\ ( r < ( abs ` D ) /\ D || ( N - r ) ) ) ) ) |
44 |
41 42 43
|
3bitr4ri |
|- ( E! r e. ZZ ( 0 <_ r /\ ( r < ( abs ` D ) /\ D || ( N - r ) ) ) <-> E! r e. NN0 ( r < ( abs ` D ) /\ D || ( N - r ) ) ) |
45 |
36 44
|
syl6bb |
|- ( ( N e. ZZ /\ D e. ZZ ) -> ( E! r e. ZZ E. q e. ZZ ( 0 <_ r /\ r < ( abs ` D ) /\ N = ( ( q x. D ) + r ) ) <-> E! r e. NN0 ( r < ( abs ` D ) /\ D || ( N - r ) ) ) ) |
46 |
45
|
3adant3 |
|- ( ( N e. ZZ /\ D e. ZZ /\ D =/= 0 ) -> ( E! r e. ZZ E. q e. ZZ ( 0 <_ r /\ r < ( abs ` D ) /\ N = ( ( q x. D ) + r ) ) <-> E! r e. NN0 ( r < ( abs ` D ) /\ D || ( N - r ) ) ) ) |