Metamath Proof Explorer


Theorem zmodid2

Description: Identity law for modulo restricted to integers. (Contributed by Paul Chapman, 22-Jun-2011)

Ref Expression
Assertion zmodid2
|- ( ( M e. ZZ /\ N e. NN ) -> ( ( M mod N ) = M <-> M e. ( 0 ... ( N - 1 ) ) ) )

Proof

Step Hyp Ref Expression
1 zre
 |-  ( M e. ZZ -> M e. RR )
2 nnrp
 |-  ( N e. NN -> N e. RR+ )
3 modid2
 |-  ( ( M e. RR /\ N e. RR+ ) -> ( ( M mod N ) = M <-> ( 0 <_ M /\ M < N ) ) )
4 1 2 3 syl2an
 |-  ( ( M e. ZZ /\ N e. NN ) -> ( ( M mod N ) = M <-> ( 0 <_ M /\ M < N ) ) )
5 nnz
 |-  ( N e. NN -> N e. ZZ )
6 0z
 |-  0 e. ZZ
7 elfzm11
 |-  ( ( 0 e. ZZ /\ N e. ZZ ) -> ( M e. ( 0 ... ( N - 1 ) ) <-> ( M e. ZZ /\ 0 <_ M /\ M < N ) ) )
8 6 7 mpan
 |-  ( N e. ZZ -> ( M e. ( 0 ... ( N - 1 ) ) <-> ( M e. ZZ /\ 0 <_ M /\ M < N ) ) )
9 3anass
 |-  ( ( M e. ZZ /\ 0 <_ M /\ M < N ) <-> ( M e. ZZ /\ ( 0 <_ M /\ M < N ) ) )
10 8 9 bitrdi
 |-  ( N e. ZZ -> ( M e. ( 0 ... ( N - 1 ) ) <-> ( M e. ZZ /\ ( 0 <_ M /\ M < N ) ) ) )
11 5 10 syl
 |-  ( N e. NN -> ( M e. ( 0 ... ( N - 1 ) ) <-> ( M e. ZZ /\ ( 0 <_ M /\ M < N ) ) ) )
12 ibar
 |-  ( M e. ZZ -> ( ( 0 <_ M /\ M < N ) <-> ( M e. ZZ /\ ( 0 <_ M /\ M < N ) ) ) )
13 12 bicomd
 |-  ( M e. ZZ -> ( ( M e. ZZ /\ ( 0 <_ M /\ M < N ) ) <-> ( 0 <_ M /\ M < N ) ) )
14 11 13 sylan9bbr
 |-  ( ( M e. ZZ /\ N e. NN ) -> ( M e. ( 0 ... ( N - 1 ) ) <-> ( 0 <_ M /\ M < N ) ) )
15 4 14 bitr4d
 |-  ( ( M e. ZZ /\ N e. NN ) -> ( ( M mod N ) = M <-> M e. ( 0 ... ( N - 1 ) ) ) )