| 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 ) |