| Step |
Hyp |
Ref |
Expression |
| 1 |
|
zre |
|- ( A e. ZZ -> A e. RR ) |
| 2 |
|
nnrp |
|- ( B e. NN -> B e. RR+ ) |
| 3 |
|
modval |
|- ( ( A e. RR /\ B e. RR+ ) -> ( A mod B ) = ( A - ( B x. ( |_ ` ( A / B ) ) ) ) ) |
| 4 |
1 2 3
|
syl2an |
|- ( ( A e. ZZ /\ B e. NN ) -> ( A mod B ) = ( A - ( B x. ( |_ ` ( A / B ) ) ) ) ) |
| 5 |
|
nnz |
|- ( B e. NN -> B e. ZZ ) |
| 6 |
5
|
adantl |
|- ( ( A e. ZZ /\ B e. NN ) -> B e. ZZ ) |
| 7 |
|
nndivre |
|- ( ( A e. RR /\ B e. NN ) -> ( A / B ) e. RR ) |
| 8 |
1 7
|
sylan |
|- ( ( A e. ZZ /\ B e. NN ) -> ( A / B ) e. RR ) |
| 9 |
8
|
flcld |
|- ( ( A e. ZZ /\ B e. NN ) -> ( |_ ` ( A / B ) ) e. ZZ ) |
| 10 |
6 9
|
zmulcld |
|- ( ( A e. ZZ /\ B e. NN ) -> ( B x. ( |_ ` ( A / B ) ) ) e. ZZ ) |
| 11 |
|
zsubcl |
|- ( ( A e. ZZ /\ ( B x. ( |_ ` ( A / B ) ) ) e. ZZ ) -> ( A - ( B x. ( |_ ` ( A / B ) ) ) ) e. ZZ ) |
| 12 |
10 11
|
syldan |
|- ( ( A e. ZZ /\ B e. NN ) -> ( A - ( B x. ( |_ ` ( A / B ) ) ) ) e. ZZ ) |
| 13 |
4 12
|
eqeltrd |
|- ( ( A e. ZZ /\ B e. NN ) -> ( A mod B ) e. ZZ ) |
| 14 |
|
modge0 |
|- ( ( A e. RR /\ B e. RR+ ) -> 0 <_ ( A mod B ) ) |
| 15 |
1 2 14
|
syl2an |
|- ( ( A e. ZZ /\ B e. NN ) -> 0 <_ ( A mod B ) ) |
| 16 |
|
elnn0z |
|- ( ( A mod B ) e. NN0 <-> ( ( A mod B ) e. ZZ /\ 0 <_ ( A mod B ) ) ) |
| 17 |
13 15 16
|
sylanbrc |
|- ( ( A e. ZZ /\ B e. NN ) -> ( A mod B ) e. NN0 ) |