Metamath Proof Explorer


Theorem elfz2z

Description: Membership of an integer in a finite set of sequential integers starting at 0. (Contributed by Alexander van der Vekens, 25-May-2018)

Ref Expression
Assertion elfz2z
|- ( ( K e. ZZ /\ N e. ZZ ) -> ( K e. ( 0 ... N ) <-> ( 0 <_ K /\ K <_ N ) ) )

Proof

Step Hyp Ref Expression
1 elfz2nn0
 |-  ( K e. ( 0 ... N ) <-> ( K e. NN0 /\ N e. NN0 /\ K <_ N ) )
2 df-3an
 |-  ( ( K e. NN0 /\ N e. NN0 /\ K <_ N ) <-> ( ( K e. NN0 /\ N e. NN0 ) /\ K <_ N ) )
3 1 2 bitri
 |-  ( K e. ( 0 ... N ) <-> ( ( K e. NN0 /\ N e. NN0 ) /\ K <_ N ) )
4 nn0ge0
 |-  ( K e. NN0 -> 0 <_ K )
5 4 adantr
 |-  ( ( K e. NN0 /\ N e. NN0 ) -> 0 <_ K )
6 simpll
 |-  ( ( ( K e. ZZ /\ N e. ZZ ) /\ K <_ N ) -> K e. ZZ )
7 6 anim1i
 |-  ( ( ( ( K e. ZZ /\ N e. ZZ ) /\ K <_ N ) /\ 0 <_ K ) -> ( K e. ZZ /\ 0 <_ K ) )
8 elnn0z
 |-  ( K e. NN0 <-> ( K e. ZZ /\ 0 <_ K ) )
9 7 8 sylibr
 |-  ( ( ( ( K e. ZZ /\ N e. ZZ ) /\ K <_ N ) /\ 0 <_ K ) -> K e. NN0 )
10 0red
 |-  ( ( K e. ZZ /\ N e. ZZ ) -> 0 e. RR )
11 zre
 |-  ( K e. ZZ -> K e. RR )
12 11 adantr
 |-  ( ( K e. ZZ /\ N e. ZZ ) -> K e. RR )
13 zre
 |-  ( N e. ZZ -> N e. RR )
14 13 adantl
 |-  ( ( K e. ZZ /\ N e. ZZ ) -> N e. RR )
15 letr
 |-  ( ( 0 e. RR /\ K e. RR /\ N e. RR ) -> ( ( 0 <_ K /\ K <_ N ) -> 0 <_ N ) )
16 10 12 14 15 syl3anc
 |-  ( ( K e. ZZ /\ N e. ZZ ) -> ( ( 0 <_ K /\ K <_ N ) -> 0 <_ N ) )
17 elnn0z
 |-  ( N e. NN0 <-> ( N e. ZZ /\ 0 <_ N ) )
18 17 simplbi2
 |-  ( N e. ZZ -> ( 0 <_ N -> N e. NN0 ) )
19 18 adantl
 |-  ( ( K e. ZZ /\ N e. ZZ ) -> ( 0 <_ N -> N e. NN0 ) )
20 16 19 syld
 |-  ( ( K e. ZZ /\ N e. ZZ ) -> ( ( 0 <_ K /\ K <_ N ) -> N e. NN0 ) )
21 20 expcomd
 |-  ( ( K e. ZZ /\ N e. ZZ ) -> ( K <_ N -> ( 0 <_ K -> N e. NN0 ) ) )
22 21 imp31
 |-  ( ( ( ( K e. ZZ /\ N e. ZZ ) /\ K <_ N ) /\ 0 <_ K ) -> N e. NN0 )
23 9 22 jca
 |-  ( ( ( ( K e. ZZ /\ N e. ZZ ) /\ K <_ N ) /\ 0 <_ K ) -> ( K e. NN0 /\ N e. NN0 ) )
24 23 ex
 |-  ( ( ( K e. ZZ /\ N e. ZZ ) /\ K <_ N ) -> ( 0 <_ K -> ( K e. NN0 /\ N e. NN0 ) ) )
25 5 24 impbid2
 |-  ( ( ( K e. ZZ /\ N e. ZZ ) /\ K <_ N ) -> ( ( K e. NN0 /\ N e. NN0 ) <-> 0 <_ K ) )
26 25 ex
 |-  ( ( K e. ZZ /\ N e. ZZ ) -> ( K <_ N -> ( ( K e. NN0 /\ N e. NN0 ) <-> 0 <_ K ) ) )
27 26 pm5.32rd
 |-  ( ( K e. ZZ /\ N e. ZZ ) -> ( ( ( K e. NN0 /\ N e. NN0 ) /\ K <_ N ) <-> ( 0 <_ K /\ K <_ N ) ) )
28 3 27 syl5bb
 |-  ( ( K e. ZZ /\ N e. ZZ ) -> ( K e. ( 0 ... N ) <-> ( 0 <_ K /\ K <_ N ) ) )