Metamath Proof Explorer


Theorem fzocatel

Description: Translate membership in a half-open integer range. (Contributed by Thierry Arnoux, 28-Sep-2018)

Ref Expression
Assertion fzocatel
|- ( ( ( A e. ( 0 ..^ ( B + C ) ) /\ -. A e. ( 0 ..^ B ) ) /\ ( B e. ZZ /\ C e. ZZ ) ) -> ( A - B ) e. ( 0 ..^ C ) )

Proof

Step Hyp Ref Expression
1 simplr
 |-  ( ( ( A e. ( 0 ..^ ( B + C ) ) /\ -. A e. ( 0 ..^ B ) ) /\ ( B e. ZZ /\ C e. ZZ ) ) -> -. A e. ( 0 ..^ B ) )
2 fzospliti
 |-  ( ( A e. ( 0 ..^ ( B + C ) ) /\ B e. ZZ ) -> ( A e. ( 0 ..^ B ) \/ A e. ( B ..^ ( B + C ) ) ) )
3 2 ad2ant2r
 |-  ( ( ( A e. ( 0 ..^ ( B + C ) ) /\ -. A e. ( 0 ..^ B ) ) /\ ( B e. ZZ /\ C e. ZZ ) ) -> ( A e. ( 0 ..^ B ) \/ A e. ( B ..^ ( B + C ) ) ) )
4 3 ord
 |-  ( ( ( A e. ( 0 ..^ ( B + C ) ) /\ -. A e. ( 0 ..^ B ) ) /\ ( B e. ZZ /\ C e. ZZ ) ) -> ( -. A e. ( 0 ..^ B ) -> A e. ( B ..^ ( B + C ) ) ) )
5 1 4 mpd
 |-  ( ( ( A e. ( 0 ..^ ( B + C ) ) /\ -. A e. ( 0 ..^ B ) ) /\ ( B e. ZZ /\ C e. ZZ ) ) -> A e. ( B ..^ ( B + C ) ) )
6 simprl
 |-  ( ( ( A e. ( 0 ..^ ( B + C ) ) /\ -. A e. ( 0 ..^ B ) ) /\ ( B e. ZZ /\ C e. ZZ ) ) -> B e. ZZ )
7 fzosubel
 |-  ( ( A e. ( B ..^ ( B + C ) ) /\ B e. ZZ ) -> ( A - B ) e. ( ( B - B ) ..^ ( ( B + C ) - B ) ) )
8 5 6 7 syl2anc
 |-  ( ( ( A e. ( 0 ..^ ( B + C ) ) /\ -. A e. ( 0 ..^ B ) ) /\ ( B e. ZZ /\ C e. ZZ ) ) -> ( A - B ) e. ( ( B - B ) ..^ ( ( B + C ) - B ) ) )
9 zcn
 |-  ( B e. ZZ -> B e. CC )
10 9 subidd
 |-  ( B e. ZZ -> ( B - B ) = 0 )
11 6 10 syl
 |-  ( ( ( A e. ( 0 ..^ ( B + C ) ) /\ -. A e. ( 0 ..^ B ) ) /\ ( B e. ZZ /\ C e. ZZ ) ) -> ( B - B ) = 0 )
12 6 zcnd
 |-  ( ( ( A e. ( 0 ..^ ( B + C ) ) /\ -. A e. ( 0 ..^ B ) ) /\ ( B e. ZZ /\ C e. ZZ ) ) -> B e. CC )
13 simprr
 |-  ( ( ( A e. ( 0 ..^ ( B + C ) ) /\ -. A e. ( 0 ..^ B ) ) /\ ( B e. ZZ /\ C e. ZZ ) ) -> C e. ZZ )
14 13 zcnd
 |-  ( ( ( A e. ( 0 ..^ ( B + C ) ) /\ -. A e. ( 0 ..^ B ) ) /\ ( B e. ZZ /\ C e. ZZ ) ) -> C e. CC )
15 12 14 pncan2d
 |-  ( ( ( A e. ( 0 ..^ ( B + C ) ) /\ -. A e. ( 0 ..^ B ) ) /\ ( B e. ZZ /\ C e. ZZ ) ) -> ( ( B + C ) - B ) = C )
16 11 15 oveq12d
 |-  ( ( ( A e. ( 0 ..^ ( B + C ) ) /\ -. A e. ( 0 ..^ B ) ) /\ ( B e. ZZ /\ C e. ZZ ) ) -> ( ( B - B ) ..^ ( ( B + C ) - B ) ) = ( 0 ..^ C ) )
17 8 16 eleqtrd
 |-  ( ( ( A e. ( 0 ..^ ( B + C ) ) /\ -. A e. ( 0 ..^ B ) ) /\ ( B e. ZZ /\ C e. ZZ ) ) -> ( A - B ) e. ( 0 ..^ C ) )