MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  hashdvds Structured version   Unicode version

Theorem hashdvds 14692
Description: The number of numbers in a given residue class in a finite set of integers. (Contributed by Mario Carneiro, 12-Mar-2014.) (Proof shortened by Mario Carneiro, 7-Jun-2016.)
Hypotheses
Ref Expression
hashdvds.1  |-  ( ph  ->  N  e.  NN )
hashdvds.2  |-  ( ph  ->  A  e.  ZZ )
hashdvds.3  |-  ( ph  ->  B  e.  ( ZZ>= `  ( A  -  1
) ) )
hashdvds.4  |-  ( ph  ->  C  e.  ZZ )
Assertion
Ref Expression
hashdvds  |-  ( ph  ->  ( # `  {
x  e.  ( A ... B )  |  N  ||  ( x  -  C ) } )  =  ( ( |_ `  ( ( B  -  C )  /  N ) )  -  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N
) ) ) )
Distinct variable groups:    x, A    x, B    x, C    x, N
Allowed substitution hint:    ph( x)

Proof of Theorem hashdvds
Dummy variables  y 
z are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 1zzd 10968 . . . . . 6  |-  ( ph  ->  1  e.  ZZ )
2 hashdvds.3 . . . . . . . . . . . 12  |-  ( ph  ->  B  e.  ( ZZ>= `  ( A  -  1
) ) )
3 eluzelz 11168 . . . . . . . . . . . 12  |-  ( B  e.  ( ZZ>= `  ( A  -  1 ) )  ->  B  e.  ZZ )
42, 3syl 17 . . . . . . . . . . 11  |-  ( ph  ->  B  e.  ZZ )
5 hashdvds.4 . . . . . . . . . . 11  |-  ( ph  ->  C  e.  ZZ )
64, 5zsubcld 11045 . . . . . . . . . 10  |-  ( ph  ->  ( B  -  C
)  e.  ZZ )
76zred 11040 . . . . . . . . 9  |-  ( ph  ->  ( B  -  C
)  e.  RR )
8 hashdvds.1 . . . . . . . . 9  |-  ( ph  ->  N  e.  NN )
97, 8nndivred 10658 . . . . . . . 8  |-  ( ph  ->  ( ( B  -  C )  /  N
)  e.  RR )
109flcld 12031 . . . . . . 7  |-  ( ph  ->  ( |_ `  (
( B  -  C
)  /  N ) )  e.  ZZ )
11 hashdvds.2 . . . . . . . . . . . 12  |-  ( ph  ->  A  e.  ZZ )
12 peano2zm 10980 . . . . . . . . . . . 12  |-  ( A  e.  ZZ  ->  ( A  -  1 )  e.  ZZ )
1311, 12syl 17 . . . . . . . . . . 11  |-  ( ph  ->  ( A  -  1 )  e.  ZZ )
1413, 5zsubcld 11045 . . . . . . . . . 10  |-  ( ph  ->  ( ( A  - 
1 )  -  C
)  e.  ZZ )
1514zred 11040 . . . . . . . . 9  |-  ( ph  ->  ( ( A  - 
1 )  -  C
)  e.  RR )
1615, 8nndivred 10658 . . . . . . . 8  |-  ( ph  ->  ( ( ( A  -  1 )  -  C )  /  N
)  e.  RR )
1716flcld 12031 . . . . . . 7  |-  ( ph  ->  ( |_ `  (
( ( A  - 
1 )  -  C
)  /  N ) )  e.  ZZ )
1810, 17zsubcld 11045 . . . . . 6  |-  ( ph  ->  ( ( |_ `  ( ( B  -  C )  /  N
) )  -  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) ) )  e.  ZZ )
19 fzen 11814 . . . . . 6  |-  ( ( 1  e.  ZZ  /\  ( ( |_ `  ( ( B  -  C )  /  N
) )  -  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) ) )  e.  ZZ  /\  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) )  e.  ZZ )  ->  (
1 ... ( ( |_
`  ( ( B  -  C )  /  N ) )  -  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) ) ) )  ~~  (
( 1  +  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) ) ) ... ( ( ( |_ `  (
( B  -  C
)  /  N ) )  -  ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) ) )  +  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N
) ) ) ) )
201, 18, 17, 19syl3anc 1264 . . . . 5  |-  ( ph  ->  ( 1 ... (
( |_ `  (
( B  -  C
)  /  N ) )  -  ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) ) ) )  ~~  ( ( 1  +  ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) ) ) ... ( ( ( |_ `  ( ( B  -  C )  /  N ) )  -  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N
) ) )  +  ( |_ `  (
( ( A  - 
1 )  -  C
)  /  N ) ) ) ) )
21 ax-1cn 9596 . . . . . . 7  |-  1  e.  CC
2217zcnd 11041 . . . . . . 7  |-  ( ph  ->  ( |_ `  (
( ( A  - 
1 )  -  C
)  /  N ) )  e.  CC )
23 addcom 9818 . . . . . . 7  |-  ( ( 1  e.  CC  /\  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) )  e.  CC )  -> 
( 1  +  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) ) )  =  ( ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) )
2421, 22, 23sylancr 667 . . . . . 6  |-  ( ph  ->  ( 1  +  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) ) )  =  ( ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) )
2510zcnd 11041 . . . . . . 7  |-  ( ph  ->  ( |_ `  (
( B  -  C
)  /  N ) )  e.  CC )
2625, 22npcand 9989 . . . . . 6  |-  ( ph  ->  ( ( ( |_
`  ( ( B  -  C )  /  N ) )  -  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) ) )  +  ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) ) )  =  ( |_ `  ( ( B  -  C )  /  N
) ) )
2724, 26oveq12d 6323 . . . . 5  |-  ( ph  ->  ( ( 1  +  ( |_ `  (
( ( A  - 
1 )  -  C
)  /  N ) ) ) ... (
( ( |_ `  ( ( B  -  C )  /  N
) )  -  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) ) )  +  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N
) ) ) )  =  ( ( ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  (
( B  -  C
)  /  N ) ) ) )
2820, 27breqtrd 4450 . . . 4  |-  ( ph  ->  ( 1 ... (
( |_ `  (
( B  -  C
)  /  N ) )  -  ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) ) ) )  ~~  ( ( ( |_ `  (
( ( A  - 
1 )  -  C
)  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N
) ) ) )
29 ovex 6333 . . . . . 6  |-  ( ( ( |_ `  (
( ( A  - 
1 )  -  C
)  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N
) ) )  e. 
_V
3029a1i 11 . . . . 5  |-  ( ph  ->  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) )  e.  _V )
31 fzfi 12182 . . . . . 6  |-  ( A ... B )  e. 
Fin
32 rabexg 4575 . . . . . 6  |-  ( ( A ... B )  e.  Fin  ->  { x  e.  ( A ... B
)  |  N  ||  ( x  -  C
) }  e.  _V )
3331, 32mp1i 13 . . . . 5  |-  ( ph  ->  { x  e.  ( A ... B )  |  N  ||  (
x  -  C ) }  e.  _V )
34 elfzle1 11800 . . . . . . . . . . . . . 14  |-  ( z  e.  ( ( ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  (
( B  -  C
)  /  N ) ) )  ->  (
( |_ `  (
( ( A  - 
1 )  -  C
)  /  N ) )  +  1 )  <_  z )
3534adantl 467 . . . . . . . . . . . . 13  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  ( ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 )  <_  z
)
36 elfzelz 11798 . . . . . . . . . . . . . 14  |-  ( z  e.  ( ( ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  (
( B  -  C
)  /  N ) ) )  ->  z  e.  ZZ )
37 zltp1le 10986 . . . . . . . . . . . . . 14  |-  ( ( ( |_ `  (
( ( A  - 
1 )  -  C
)  /  N ) )  e.  ZZ  /\  z  e.  ZZ )  ->  ( ( |_ `  ( ( ( A  -  1 )  -  C )  /  N
) )  <  z  <->  ( ( |_ `  (
( ( A  - 
1 )  -  C
)  /  N ) )  +  1 )  <_  z ) )
3817, 36, 37syl2an 479 . . . . . . . . . . . . 13  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  ( ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) )  < 
z  <->  ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 )  <_  z
) )
3935, 38mpbird 235 . . . . . . . . . . . 12  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N
) )  <  z
)
40 fllt 12039 . . . . . . . . . . . . 13  |-  ( ( ( ( ( A  -  1 )  -  C )  /  N
)  e.  RR  /\  z  e.  ZZ )  ->  ( ( ( ( A  -  1 )  -  C )  /  N )  <  z  <->  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) )  <  z ) )
4116, 36, 40syl2an 479 . . . . . . . . . . . 12  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  ( (
( ( A  - 
1 )  -  C
)  /  N )  <  z  <->  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N
) )  <  z
) )
4239, 41mpbird 235 . . . . . . . . . . 11  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  ( (
( A  -  1 )  -  C )  /  N )  < 
z )
4315adantr 466 . . . . . . . . . . . 12  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  ( ( A  -  1 )  -  C )  e.  RR )
4436adantl 467 . . . . . . . . . . . . 13  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  z  e.  ZZ )
4544zred 11040 . . . . . . . . . . . 12  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  z  e.  RR )
468nnred 10624 . . . . . . . . . . . . . 14  |-  ( ph  ->  N  e.  RR )
478nngt0d 10653 . . . . . . . . . . . . . 14  |-  ( ph  ->  0  <  N )
4846, 47jca 534 . . . . . . . . . . . . 13  |-  ( ph  ->  ( N  e.  RR  /\  0  <  N ) )
4948adantr 466 . . . . . . . . . . . 12  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  ( N  e.  RR  /\  0  < 
N ) )
50 ltdivmul2 10481 . . . . . . . . . . . 12  |-  ( ( ( ( A  - 
1 )  -  C
)  e.  RR  /\  z  e.  RR  /\  ( N  e.  RR  /\  0  <  N ) )  -> 
( ( ( ( A  -  1 )  -  C )  /  N )  <  z  <->  ( ( A  -  1 )  -  C )  <  ( z  x.  N ) ) )
5143, 45, 49, 50syl3anc 1264 . . . . . . . . . . 11  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  ( (
( ( A  - 
1 )  -  C
)  /  N )  <  z  <->  ( ( A  -  1 )  -  C )  < 
( z  x.  N
) ) )
5242, 51mpbid 213 . . . . . . . . . 10  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  ( ( A  -  1 )  -  C )  < 
( z  x.  N
) )
5313zred 11040 . . . . . . . . . . . 12  |-  ( ph  ->  ( A  -  1 )  e.  RR )
5453adantr 466 . . . . . . . . . . 11  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  ( A  -  1 )  e.  RR )
555zred 11040 . . . . . . . . . . . 12  |-  ( ph  ->  C  e.  RR )
5655adantr 466 . . . . . . . . . . 11  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  C  e.  RR )
578nnzd 11039 . . . . . . . . . . . . . 14  |-  ( ph  ->  N  e.  ZZ )
5857adantr 466 . . . . . . . . . . . . 13  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  N  e.  ZZ )
5944, 58zmulcld 11046 . . . . . . . . . . . 12  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  ( z  x.  N )  e.  ZZ )
6059zred 11040 . . . . . . . . . . 11  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  ( z  x.  N )  e.  RR )
6154, 56, 60ltsubaddd 10208 . . . . . . . . . 10  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  ( (
( A  -  1 )  -  C )  <  ( z  x.  N )  <->  ( A  -  1 )  < 
( ( z  x.  N )  +  C
) ) )
6252, 61mpbid 213 . . . . . . . . 9  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  ( A  -  1 )  < 
( ( z  x.  N )  +  C
) )
6311adantr 466 . . . . . . . . . 10  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  A  e.  ZZ )
645adantr 466 . . . . . . . . . . 11  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  C  e.  ZZ )
6559, 64zaddcld 11044 . . . . . . . . . 10  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  ( (
z  x.  N )  +  C )  e.  ZZ )
66 zlem1lt 10988 . . . . . . . . . 10  |-  ( ( A  e.  ZZ  /\  ( ( z  x.  N )  +  C
)  e.  ZZ )  ->  ( A  <_ 
( ( z  x.  N )  +  C
)  <->  ( A  - 
1 )  <  (
( z  x.  N
)  +  C ) ) )
6763, 65, 66syl2anc 665 . . . . . . . . 9  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  ( A  <_  ( ( z  x.  N )  +  C
)  <->  ( A  - 
1 )  <  (
( z  x.  N
)  +  C ) ) )
6862, 67mpbird 235 . . . . . . . 8  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  A  <_  ( ( z  x.  N
)  +  C ) )
69 elfzle2 11801 . . . . . . . . . . . 12  |-  ( z  e.  ( ( ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  (
( B  -  C
)  /  N ) ) )  ->  z  <_  ( |_ `  (
( B  -  C
)  /  N ) ) )
7069adantl 467 . . . . . . . . . . 11  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  z  <_  ( |_ `  ( ( B  -  C )  /  N ) ) )
71 flge 12038 . . . . . . . . . . . 12  |-  ( ( ( ( B  -  C )  /  N
)  e.  RR  /\  z  e.  ZZ )  ->  ( z  <_  (
( B  -  C
)  /  N )  <-> 
z  <_  ( |_ `  ( ( B  -  C )  /  N
) ) ) )
729, 36, 71syl2an 479 . . . . . . . . . . 11  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  ( z  <_  ( ( B  -  C )  /  N
)  <->  z  <_  ( |_ `  ( ( B  -  C )  /  N ) ) ) )
7370, 72mpbird 235 . . . . . . . . . 10  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  z  <_  ( ( B  -  C
)  /  N ) )
747adantr 466 . . . . . . . . . . 11  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  ( B  -  C )  e.  RR )
75 lemuldiv 10485 . . . . . . . . . . 11  |-  ( ( z  e.  RR  /\  ( B  -  C
)  e.  RR  /\  ( N  e.  RR  /\  0  <  N ) )  ->  ( (
z  x.  N )  <_  ( B  -  C )  <->  z  <_  ( ( B  -  C
)  /  N ) ) )
7645, 74, 49, 75syl3anc 1264 . . . . . . . . . 10  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  ( (
z  x.  N )  <_  ( B  -  C )  <->  z  <_  ( ( B  -  C
)  /  N ) ) )
7773, 76mpbird 235 . . . . . . . . 9  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  ( z  x.  N )  <_  ( B  -  C )
)
784zred 11040 . . . . . . . . . . 11  |-  ( ph  ->  B  e.  RR )
7978adantr 466 . . . . . . . . . 10  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  B  e.  RR )
80 leaddsub 10089 . . . . . . . . . 10  |-  ( ( ( z  x.  N
)  e.  RR  /\  C  e.  RR  /\  B  e.  RR )  ->  (
( ( z  x.  N )  +  C
)  <_  B  <->  ( z  x.  N )  <_  ( B  -  C )
) )
8160, 56, 79, 80syl3anc 1264 . . . . . . . . 9  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  ( (
( z  x.  N
)  +  C )  <_  B  <->  ( z  x.  N )  <_  ( B  -  C )
) )
8277, 81mpbird 235 . . . . . . . 8  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  ( (
z  x.  N )  +  C )  <_  B )
834adantr 466 . . . . . . . . 9  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  B  e.  ZZ )
84 elfz 11788 . . . . . . . . 9  |-  ( ( ( ( z  x.  N )  +  C
)  e.  ZZ  /\  A  e.  ZZ  /\  B  e.  ZZ )  ->  (
( ( z  x.  N )  +  C
)  e.  ( A ... B )  <->  ( A  <_  ( ( z  x.  N )  +  C
)  /\  ( (
z  x.  N )  +  C )  <_  B ) ) )
8565, 63, 83, 84syl3anc 1264 . . . . . . . 8  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  ( (
( z  x.  N
)  +  C )  e.  ( A ... B )  <->  ( A  <_  ( ( z  x.  N )  +  C
)  /\  ( (
z  x.  N )  +  C )  <_  B ) ) )
8668, 82, 85mpbir2and 930 . . . . . . 7  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  ( (
z  x.  N )  +  C )  e.  ( A ... B
) )
87 dvdsmul2 14303 . . . . . . . . 9  |-  ( ( z  e.  ZZ  /\  N  e.  ZZ )  ->  N  ||  ( z  x.  N ) )
8844, 58, 87syl2anc 665 . . . . . . . 8  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  N  ||  (
z  x.  N ) )
8959zcnd 11041 . . . . . . . . 9  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  ( z  x.  N )  e.  CC )
905zcnd 11041 . . . . . . . . . 10  |-  ( ph  ->  C  e.  CC )
9190adantr 466 . . . . . . . . 9  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  C  e.  CC )
9289, 91pncand 9986 . . . . . . . 8  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  ( (
( z  x.  N
)  +  C )  -  C )  =  ( z  x.  N
) )
9388, 92breqtrrd 4452 . . . . . . 7  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  N  ||  (
( ( z  x.  N )  +  C
)  -  C ) )
94 oveq1 6312 . . . . . . . . 9  |-  ( x  =  ( ( z  x.  N )  +  C )  ->  (
x  -  C )  =  ( ( ( z  x.  N )  +  C )  -  C ) )
9594breq2d 4438 . . . . . . . 8  |-  ( x  =  ( ( z  x.  N )  +  C )  ->  ( N  ||  ( x  -  C )  <->  N  ||  (
( ( z  x.  N )  +  C
)  -  C ) ) )
9695elrab 3235 . . . . . . 7  |-  ( ( ( z  x.  N
)  +  C )  e.  { x  e.  ( A ... B
)  |  N  ||  ( x  -  C
) }  <->  ( (
( z  x.  N
)  +  C )  e.  ( A ... B )  /\  N  ||  ( ( ( z  x.  N )  +  C )  -  C
) ) )
9786, 93, 96sylanbrc 668 . . . . . 6  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  ( (
z  x.  N )  +  C )  e. 
{ x  e.  ( A ... B )  |  N  ||  (
x  -  C ) } )
9897ex 435 . . . . 5  |-  ( ph  ->  ( z  e.  ( ( ( |_ `  ( ( ( A  -  1 )  -  C )  /  N
) )  +  1 ) ... ( |_
`  ( ( B  -  C )  /  N ) ) )  ->  ( ( z  x.  N )  +  C )  e.  {
x  e.  ( A ... B )  |  N  ||  ( x  -  C ) } ) )
99 oveq1 6312 . . . . . . . 8  |-  ( x  =  y  ->  (
x  -  C )  =  ( y  -  C ) )
10099breq2d 4438 . . . . . . 7  |-  ( x  =  y  ->  ( N  ||  ( x  -  C )  <->  N  ||  (
y  -  C ) ) )
101100elrab 3235 . . . . . 6  |-  ( y  e.  { x  e.  ( A ... B
)  |  N  ||  ( x  -  C
) }  <->  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )
10253adantr 466 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  ( A  -  1 )  e.  RR )
103 elfzelz 11798 . . . . . . . . . . . . . 14  |-  ( y  e.  ( A ... B )  ->  y  e.  ZZ )
104103ad2antrl 732 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  y  e.  ZZ )
105104zred 11040 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  y  e.  RR )
10655adantr 466 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  C  e.  RR )
107 elfzle1 11800 . . . . . . . . . . . . . 14  |-  ( y  e.  ( A ... B )  ->  A  <_  y )
108107ad2antrl 732 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  A  <_  y )
10911adantr 466 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  A  e.  ZZ )
110 zlem1lt 10988 . . . . . . . . . . . . . 14  |-  ( ( A  e.  ZZ  /\  y  e.  ZZ )  ->  ( A  <_  y  <->  ( A  -  1 )  <  y ) )
111109, 104, 110syl2anc 665 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  ( A  <_  y  <->  ( A  -  1 )  < 
y ) )
112108, 111mpbid 213 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  ( A  -  1 )  <  y )
113102, 105, 106, 112ltsub1dd 10224 . . . . . . . . . . 11  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  (
( A  -  1 )  -  C )  <  ( y  -  C ) )
11415adantr 466 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  (
( A  -  1 )  -  C )  e.  RR )
1155adantr 466 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  C  e.  ZZ )
116104, 115zsubcld 11045 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  (
y  -  C )  e.  ZZ )
117116zred 11040 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  (
y  -  C )  e.  RR )
11848adantr 466 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  ( N  e.  RR  /\  0  <  N ) )
119 ltdiv1 10468 . . . . . . . . . . . 12  |-  ( ( ( ( A  - 
1 )  -  C
)  e.  RR  /\  ( y  -  C
)  e.  RR  /\  ( N  e.  RR  /\  0  <  N ) )  ->  ( (
( A  -  1 )  -  C )  <  ( y  -  C )  <->  ( (
( A  -  1 )  -  C )  /  N )  < 
( ( y  -  C )  /  N
) ) )
120114, 117, 118, 119syl3anc 1264 . . . . . . . . . . 11  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  (
( ( A  - 
1 )  -  C
)  <  ( y  -  C )  <->  ( (
( A  -  1 )  -  C )  /  N )  < 
( ( y  -  C )  /  N
) ) )
121113, 120mpbid 213 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  (
( ( A  - 
1 )  -  C
)  /  N )  <  ( ( y  -  C )  /  N ) )
12216adantr 466 . . . . . . . . . . 11  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  (
( ( A  - 
1 )  -  C
)  /  N )  e.  RR )
123 simprr 764 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  N  ||  ( y  -  C
) )
12457adantr 466 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  N  e.  ZZ )
1258nnne0d 10654 . . . . . . . . . . . . . 14  |-  ( ph  ->  N  =/=  0 )
126125adantr 466 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  N  =/=  0 )
127 dvdsval2 14286 . . . . . . . . . . . . 13  |-  ( ( N  e.  ZZ  /\  N  =/=  0  /\  (
y  -  C )  e.  ZZ )  -> 
( N  ||  (
y  -  C )  <-> 
( ( y  -  C )  /  N
)  e.  ZZ ) )
128124, 126, 116, 127syl3anc 1264 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  ( N  ||  ( y  -  C )  <->  ( (
y  -  C )  /  N )  e.  ZZ ) )
129123, 128mpbid 213 . . . . . . . . . . 11  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  (
( y  -  C
)  /  N )  e.  ZZ )
130 fllt 12039 . . . . . . . . . . 11  |-  ( ( ( ( ( A  -  1 )  -  C )  /  N
)  e.  RR  /\  ( ( y  -  C )  /  N
)  e.  ZZ )  ->  ( ( ( ( A  -  1 )  -  C )  /  N )  < 
( ( y  -  C )  /  N
)  <->  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N
) )  <  (
( y  -  C
)  /  N ) ) )
131122, 129, 130syl2anc 665 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  (
( ( ( A  -  1 )  -  C )  /  N
)  <  ( (
y  -  C )  /  N )  <->  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N
) )  <  (
( y  -  C
)  /  N ) ) )
132121, 131mpbid 213 . . . . . . . . 9  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) )  < 
( ( y  -  C )  /  N
) )
13317adantr 466 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) )  e.  ZZ )
134 zltp1le 10986 . . . . . . . . . 10  |-  ( ( ( |_ `  (
( ( A  - 
1 )  -  C
)  /  N ) )  e.  ZZ  /\  ( ( y  -  C )  /  N
)  e.  ZZ )  ->  ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  < 
( ( y  -  C )  /  N
)  <->  ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 )  <_  (
( y  -  C
)  /  N ) ) )
135133, 129, 134syl2anc 665 . . . . . . . . 9  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  (
( |_ `  (
( ( A  - 
1 )  -  C
)  /  N ) )  <  ( ( y  -  C )  /  N )  <->  ( ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 )  <_  (
( y  -  C
)  /  N ) ) )
136132, 135mpbid 213 . . . . . . . 8  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  (
( |_ `  (
( ( A  - 
1 )  -  C
)  /  N ) )  +  1 )  <_  ( ( y  -  C )  /  N ) )
13778adantr 466 . . . . . . . . . . 11  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  B  e.  RR )
138 elfzle2 11801 . . . . . . . . . . . 12  |-  ( y  e.  ( A ... B )  ->  y  <_  B )
139138ad2antrl 732 . . . . . . . . . . 11  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  y  <_  B )
140105, 137, 106, 139lesub1dd 10228 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  (
y  -  C )  <_  ( B  -  C ) )
1417adantr 466 . . . . . . . . . . 11  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  ( B  -  C )  e.  RR )
142 lediv1 10469 . . . . . . . . . . 11  |-  ( ( ( y  -  C
)  e.  RR  /\  ( B  -  C
)  e.  RR  /\  ( N  e.  RR  /\  0  <  N ) )  ->  ( (
y  -  C )  <_  ( B  -  C )  <->  ( (
y  -  C )  /  N )  <_ 
( ( B  -  C )  /  N
) ) )
143117, 141, 118, 142syl3anc 1264 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  (
( y  -  C
)  <_  ( B  -  C )  <->  ( (
y  -  C )  /  N )  <_ 
( ( B  -  C )  /  N
) ) )
144140, 143mpbid 213 . . . . . . . . 9  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  (
( y  -  C
)  /  N )  <_  ( ( B  -  C )  /  N ) )
1459adantr 466 . . . . . . . . . 10  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  (
( B  -  C
)  /  N )  e.  RR )
146 flge 12038 . . . . . . . . . 10  |-  ( ( ( ( B  -  C )  /  N
)  e.  RR  /\  ( ( y  -  C )  /  N
)  e.  ZZ )  ->  ( ( ( y  -  C )  /  N )  <_ 
( ( B  -  C )  /  N
)  <->  ( ( y  -  C )  /  N )  <_  ( |_ `  ( ( B  -  C )  /  N ) ) ) )
147145, 129, 146syl2anc 665 . . . . . . . . 9  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  (
( ( y  -  C )  /  N
)  <_  ( ( B  -  C )  /  N )  <->  ( (
y  -  C )  /  N )  <_ 
( |_ `  (
( B  -  C
)  /  N ) ) ) )
148144, 147mpbid 213 . . . . . . . 8  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  (
( y  -  C
)  /  N )  <_  ( |_ `  ( ( B  -  C )  /  N
) ) )
14917peano2zd 11043 . . . . . . . . . 10  |-  ( ph  ->  ( ( |_ `  ( ( ( A  -  1 )  -  C )  /  N
) )  +  1 )  e.  ZZ )
150149adantr 466 . . . . . . . . 9  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  (
( |_ `  (
( ( A  - 
1 )  -  C
)  /  N ) )  +  1 )  e.  ZZ )
15110adantr 466 . . . . . . . . 9  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  ( |_ `  ( ( B  -  C )  /  N ) )  e.  ZZ )
152 elfz 11788 . . . . . . . . 9  |-  ( ( ( ( y  -  C )  /  N
)  e.  ZZ  /\  ( ( |_ `  ( ( ( A  -  1 )  -  C )  /  N
) )  +  1 )  e.  ZZ  /\  ( |_ `  ( ( B  -  C )  /  N ) )  e.  ZZ )  -> 
( ( ( y  -  C )  /  N )  e.  ( ( ( |_ `  ( ( ( A  -  1 )  -  C )  /  N
) )  +  1 ) ... ( |_
`  ( ( B  -  C )  /  N ) ) )  <-> 
( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 )  <_  (
( y  -  C
)  /  N )  /\  ( ( y  -  C )  /  N )  <_  ( |_ `  ( ( B  -  C )  /  N ) ) ) ) )
153129, 150, 151, 152syl3anc 1264 . . . . . . . 8  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  (
( ( y  -  C )  /  N
)  e.  ( ( ( |_ `  (
( ( A  - 
1 )  -  C
)  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N
) ) )  <->  ( (
( |_ `  (
( ( A  - 
1 )  -  C
)  /  N ) )  +  1 )  <_  ( ( y  -  C )  /  N )  /\  (
( y  -  C
)  /  N )  <_  ( |_ `  ( ( B  -  C )  /  N
) ) ) ) )
154136, 148, 153mpbir2and 930 . . . . . . 7  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  (
( y  -  C
)  /  N )  e.  ( ( ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  (
( B  -  C
)  /  N ) ) ) )
155154ex 435 . . . . . 6  |-  ( ph  ->  ( ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) )  ->  ( (
y  -  C )  /  N )  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) ) )
156101, 155syl5bi 220 . . . . 5  |-  ( ph  ->  ( y  e.  {
x  e.  ( A ... B )  |  N  ||  ( x  -  C ) }  ->  ( ( y  -  C )  /  N )  e.  ( ( ( |_ `  ( ( ( A  -  1 )  -  C )  /  N
) )  +  1 ) ... ( |_
`  ( ( B  -  C )  /  N ) ) ) ) )
157101anbi2i 698 . . . . . . 7  |-  ( ( z  e.  ( ( ( |_ `  (
( ( A  - 
1 )  -  C
)  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N
) ) )  /\  y  e.  { x  e.  ( A ... B
)  |  N  ||  ( x  -  C
) } )  <->  ( z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) )  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) ) )
158116zcnd 11041 . . . . . . . . . . 11  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  (
y  -  C )  e.  CC )
159158adantrl 720 . . . . . . . . . 10  |-  ( (
ph  /\  ( z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) )  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) ) )  -> 
( y  -  C
)  e.  CC )
16044zcnd 11041 . . . . . . . . . . 11  |-  ( (
ph  /\  z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) )  ->  z  e.  CC )
161160adantrr 721 . . . . . . . . . 10  |-  ( (
ph  /\  ( z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) )  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) ) )  -> 
z  e.  CC )
1628nncnd 10625 . . . . . . . . . . 11  |-  ( ph  ->  N  e.  CC )
163162adantr 466 . . . . . . . . . 10  |-  ( (
ph  /\  ( z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) )  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) ) )  ->  N  e.  CC )
164125adantr 466 . . . . . . . . . 10  |-  ( (
ph  /\  ( z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) )  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) ) )  ->  N  =/=  0 )
165159, 161, 163, 164divmul3d 10416 . . . . . . . . 9  |-  ( (
ph  /\  ( z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) )  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) ) )  -> 
( ( ( y  -  C )  /  N )  =  z  <-> 
( y  -  C
)  =  ( z  x.  N ) ) )
166104zcnd 11041 . . . . . . . . . . 11  |-  ( (
ph  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) )  ->  y  e.  CC )
167166adantrl 720 . . . . . . . . . 10  |-  ( (
ph  /\  ( z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) )  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) ) )  -> 
y  e.  CC )
16890adantr 466 . . . . . . . . . 10  |-  ( (
ph  /\  ( z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) )  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) ) )  ->  C  e.  CC )
16989adantrr 721 . . . . . . . . . 10  |-  ( (
ph  /\  ( z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) )  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) ) )  -> 
( z  x.  N
)  e.  CC )
170167, 168, 169subadd2d 10004 . . . . . . . . 9  |-  ( (
ph  /\  ( z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) )  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) ) )  -> 
( ( y  -  C )  =  ( z  x.  N )  <-> 
( ( z  x.  N )  +  C
)  =  y ) )
171165, 170bitrd 256 . . . . . . . 8  |-  ( (
ph  /\  ( z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) )  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) ) )  -> 
( ( ( y  -  C )  /  N )  =  z  <-> 
( ( z  x.  N )  +  C
)  =  y ) )
172 eqcom 2438 . . . . . . . 8  |-  ( z  =  ( ( y  -  C )  /  N )  <->  ( (
y  -  C )  /  N )  =  z )
173 eqcom 2438 . . . . . . . 8  |-  ( y  =  ( ( z  x.  N )  +  C )  <->  ( (
z  x.  N )  +  C )  =  y )
174171, 172, 1733bitr4g 291 . . . . . . 7  |-  ( (
ph  /\  ( z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) )  /\  ( y  e.  ( A ... B
)  /\  N  ||  (
y  -  C ) ) ) )  -> 
( z  =  ( ( y  -  C
)  /  N )  <-> 
y  =  ( ( z  x.  N )  +  C ) ) )
175157, 174sylan2b 477 . . . . . 6  |-  ( (
ph  /\  ( z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) )  /\  y  e.  {
x  e.  ( A ... B )  |  N  ||  ( x  -  C ) } ) )  ->  (
z  =  ( ( y  -  C )  /  N )  <->  y  =  ( ( z  x.  N )  +  C
) ) )
176175ex 435 . . . . 5  |-  ( ph  ->  ( ( z  e.  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) )  /\  y  e.  {
x  e.  ( A ... B )  |  N  ||  ( x  -  C ) } )  ->  ( z  =  ( ( y  -  C )  /  N )  <->  y  =  ( ( z  x.  N )  +  C
) ) ) )
17730, 33, 98, 156, 176en3d 7613 . . . 4  |-  ( ph  ->  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) 
~~  { x  e.  ( A ... B
)  |  N  ||  ( x  -  C
) } )
178 entr 7628 . . . 4  |-  ( ( ( 1 ... (
( |_ `  (
( B  -  C
)  /  N ) )  -  ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) ) ) )  ~~  ( ( ( |_ `  (
( ( A  - 
1 )  -  C
)  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N
) ) )  /\  ( ( ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) )  +  1 ) ... ( |_ `  ( ( B  -  C )  /  N ) ) ) 
~~  { x  e.  ( A ... B
)  |  N  ||  ( x  -  C
) } )  -> 
( 1 ... (
( |_ `  (
( B  -  C
)  /  N ) )  -  ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) ) ) )  ~~  { x  e.  ( A ... B
)  |  N  ||  ( x  -  C
) } )
17928, 177, 178syl2anc 665 . . 3  |-  ( ph  ->  ( 1 ... (
( |_ `  (
( B  -  C
)  /  N ) )  -  ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) ) ) )  ~~  { x  e.  ( A ... B
)  |  N  ||  ( x  -  C
) } )
180 fzfi 12182 . . . 4  |-  ( 1 ... ( ( |_
`  ( ( B  -  C )  /  N ) )  -  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) ) ) )  e.  Fin
181 ssrab2 3552 . . . . 5  |-  { x  e.  ( A ... B
)  |  N  ||  ( x  -  C
) }  C_  ( A ... B )
182 ssfi 7798 . . . . 5  |-  ( ( ( A ... B
)  e.  Fin  /\  { x  e.  ( A ... B )  |  N  ||  ( x  -  C ) } 
C_  ( A ... B ) )  ->  { x  e.  ( A ... B )  |  N  ||  ( x  -  C ) }  e.  Fin )
18331, 181, 182mp2an 676 . . . 4  |-  { x  e.  ( A ... B
)  |  N  ||  ( x  -  C
) }  e.  Fin
184 hashen 12527 . . . 4  |-  ( ( ( 1 ... (
( |_ `  (
( B  -  C
)  /  N ) )  -  ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) ) ) )  e.  Fin  /\  { x  e.  ( A ... B )  |  N  ||  ( x  -  C ) }  e.  Fin )  -> 
( ( # `  (
1 ... ( ( |_
`  ( ( B  -  C )  /  N ) )  -  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) ) ) ) )  =  ( # `  {
x  e.  ( A ... B )  |  N  ||  ( x  -  C ) } )  <->  ( 1 ... ( ( |_ `  ( ( B  -  C )  /  N
) )  -  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) ) ) )  ~~  { x  e.  ( A ... B
)  |  N  ||  ( x  -  C
) } ) )
185180, 183, 184mp2an 676 . . 3  |-  ( (
# `  ( 1 ... ( ( |_ `  ( ( B  -  C )  /  N
) )  -  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) ) ) ) )  =  (
# `  { x  e.  ( A ... B
)  |  N  ||  ( x  -  C
) } )  <->  ( 1 ... ( ( |_
`  ( ( B  -  C )  /  N ) )  -  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) ) ) )  ~~  {
x  e.  ( A ... B )  |  N  ||  ( x  -  C ) } )
186179, 185sylibr 215 . 2  |-  ( ph  ->  ( # `  (
1 ... ( ( |_
`  ( ( B  -  C )  /  N ) )  -  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) ) ) ) )  =  ( # `  {
x  e.  ( A ... B )  |  N  ||  ( x  -  C ) } ) )
187 eluzle 11171 . . . . . . 7  |-  ( B  e.  ( ZZ>= `  ( A  -  1 ) )  ->  ( A  -  1 )  <_  B )
1882, 187syl 17 . . . . . 6  |-  ( ph  ->  ( A  -  1 )  <_  B )
189 zre 10941 . . . . . . . 8  |-  ( ( A  -  1 )  e.  ZZ  ->  ( A  -  1 )  e.  RR )
190 zre 10941 . . . . . . . 8  |-  ( B  e.  ZZ  ->  B  e.  RR )
191 zre 10941 . . . . . . . 8  |-  ( C  e.  ZZ  ->  C  e.  RR )
192 lesub1 10107 . . . . . . . 8  |-  ( ( ( A  -  1 )  e.  RR  /\  B  e.  RR  /\  C  e.  RR )  ->  (
( A  -  1 )  <_  B  <->  ( ( A  -  1 )  -  C )  <_ 
( B  -  C
) ) )
193189, 190, 191, 192syl3an 1306 . . . . . . 7  |-  ( ( ( A  -  1 )  e.  ZZ  /\  B  e.  ZZ  /\  C  e.  ZZ )  ->  (
( A  -  1 )  <_  B  <->  ( ( A  -  1 )  -  C )  <_ 
( B  -  C
) ) )
19413, 4, 5, 193syl3anc 1264 . . . . . 6  |-  ( ph  ->  ( ( A  - 
1 )  <_  B  <->  ( ( A  -  1 )  -  C )  <_  ( B  -  C ) ) )
195188, 194mpbid 213 . . . . 5  |-  ( ph  ->  ( ( A  - 
1 )  -  C
)  <_  ( B  -  C ) )
196 lediv1 10469 . . . . . 6  |-  ( ( ( ( A  - 
1 )  -  C
)  e.  RR  /\  ( B  -  C
)  e.  RR  /\  ( N  e.  RR  /\  0  <  N ) )  ->  ( (
( A  -  1 )  -  C )  <_  ( B  -  C )  <->  ( (
( A  -  1 )  -  C )  /  N )  <_ 
( ( B  -  C )  /  N
) ) )
19715, 7, 48, 196syl3anc 1264 . . . . 5  |-  ( ph  ->  ( ( ( A  -  1 )  -  C )  <_  ( B  -  C )  <->  ( ( ( A  - 
1 )  -  C
)  /  N )  <_  ( ( B  -  C )  /  N ) ) )
198195, 197mpbid 213 . . . 4  |-  ( ph  ->  ( ( ( A  -  1 )  -  C )  /  N
)  <_  ( ( B  -  C )  /  N ) )
199 flword2 12045 . . . 4  |-  ( ( ( ( ( A  -  1 )  -  C )  /  N
)  e.  RR  /\  ( ( B  -  C )  /  N
)  e.  RR  /\  ( ( ( A  -  1 )  -  C )  /  N
)  <_  ( ( B  -  C )  /  N ) )  -> 
( |_ `  (
( B  -  C
)  /  N ) )  e.  ( ZZ>= `  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) ) ) )
20016, 9, 198, 199syl3anc 1264 . . 3  |-  ( ph  ->  ( |_ `  (
( B  -  C
)  /  N ) )  e.  ( ZZ>= `  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) ) ) )
201 uznn0sub 11190 . . 3  |-  ( ( |_ `  ( ( B  -  C )  /  N ) )  e.  ( ZZ>= `  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) ) )  ->  ( ( |_
`  ( ( B  -  C )  /  N ) )  -  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) ) )  e.  NN0 )
202 hashfz1 12526 . . 3  |-  ( ( ( |_ `  (
( B  -  C
)  /  N ) )  -  ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) ) )  e.  NN0  ->  ( # `  ( 1 ... (
( |_ `  (
( B  -  C
)  /  N ) )  -  ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) ) ) ) )  =  ( ( |_ `  (
( B  -  C
)  /  N ) )  -  ( |_
`  ( ( ( A  -  1 )  -  C )  /  N ) ) ) )
203200, 201, 2023syl 18 . 2  |-  ( ph  ->  ( # `  (
1 ... ( ( |_
`  ( ( B  -  C )  /  N ) )  -  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) ) ) ) )  =  ( ( |_ `  ( ( B  -  C )  /  N
) )  -  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N ) ) ) )
204186, 203eqtr3d 2472 1  |-  ( ph  ->  ( # `  {
x  e.  ( A ... B )  |  N  ||  ( x  -  C ) } )  =  ( ( |_ `  ( ( B  -  C )  /  N ) )  -  ( |_ `  ( ( ( A  -  1 )  -  C )  /  N
) ) ) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    <-> wb 187    /\ wa 370    = wceq 1437    e. wcel 1870    =/= wne 2625   {crab 2786   _Vcvv 3087    C_ wss 3442   class class class wbr 4426   ` cfv 5601  (class class class)co 6305    ~~ cen 7574   Fincfn 7577   CCcc 9536   RRcr 9537   0cc0 9538   1c1 9539    + caddc 9541    x. cmul 9543    < clt 9674    <_ cle 9675    - cmin 9859    / cdiv 10268   NNcn 10609   NN0cn0 10869   ZZcz 10937   ZZ>=cuz 11159   ...cfz 11782   |_cfl 12023   #chash 12512    || cdvds 14283
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1665  ax-4 1678  ax-5 1751  ax-6 1797  ax-7 1841  ax-8 1872  ax-9 1874  ax-10 1889  ax-11 1894  ax-12 1907  ax-13 2055  ax-ext 2407  ax-sep 4548  ax-nul 4556  ax-pow 4603  ax-pr 4661  ax-un 6597  ax-cnex 9594  ax-resscn 9595  ax-1cn 9596  ax-icn 9597  ax-addcl 9598  ax-addrcl 9599  ax-mulcl 9600  ax-mulrcl 9601  ax-mulcom 9602  ax-addass 9603  ax-mulass 9604  ax-distr 9605  ax-i2m1 9606  ax-1ne0 9607  ax-1rid 9608  ax-rnegex 9609  ax-rrecex 9610  ax-cnre 9611  ax-pre-lttri 9612  ax-pre-lttrn 9613  ax-pre-ltadd 9614  ax-pre-mulgt0 9615  ax-pre-sup 9616
This theorem depends on definitions:  df-bi 188  df-or 371  df-an 372  df-3or 983  df-3an 984  df-tru 1440  df-ex 1660  df-nf 1664  df-sb 1790  df-eu 2270  df-mo 2271  df-clab 2415  df-cleq 2421  df-clel 2424  df-nfc 2579  df-ne 2627  df-nel 2628  df-ral 2787  df-rex 2788  df-reu 2789  df-rmo 2790  df-rab 2791  df-v 3089  df-sbc 3306  df-csb 3402  df-dif 3445  df-un 3447  df-in 3449  df-ss 3456  df-pss 3458  df-nul 3768  df-if 3916  df-pw 3987  df-sn 4003  df-pr 4005  df-tp 4007  df-op 4009  df-uni 4223  df-int 4259  df-iun 4304  df-br 4427  df-opab 4485  df-mpt 4486  df-tr 4521  df-eprel 4765  df-id 4769  df-po 4775  df-so 4776  df-fr 4813  df-we 4815  df-xp 4860  df-rel 4861  df-cnv 4862  df-co 4863  df-dm 4864  df-rn 4865  df-res 4866  df-ima 4867  df-pred 5399  df-ord 5445  df-on 5446  df-lim 5447  df-suc 5448  df-iota 5565  df-fun 5603  df-fn 5604  df-f 5605  df-f1 5606  df-fo 5607  df-f1o 5608  df-fv 5609  df-riota 6267  df-ov 6308  df-oprab 6309  df-mpt2 6310  df-om 6707  df-1st 6807  df-2nd 6808  df-wrecs 7036  df-recs 7098  df-rdg 7136  df-1o 7190  df-er 7371  df-en 7578  df-dom 7579  df-sdom 7580  df-fin 7581  df-sup 7962  df-card 8372  df-pnf 9676  df-mnf 9677  df-xr 9678  df-ltxr 9679  df-le 9680  df-sub 9861  df-neg 9862  df-div 10269  df-nn 10610  df-n0 10870  df-z 10938  df-uz 11160  df-fz 11783  df-fl 12025  df-hash 12513  df-dvds 14284
This theorem is referenced by:  phiprmpw  14693  prmreclem4  14826  ppiub  23995  hashnzfz  36309
  Copyright terms: Public domain W3C validator