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

Theorem dvdsflf1o 20929
Description: A bijection from the numbers less than  N  /  A to the multiples of  A less than  N. Useful for some sum manipulations. (Contributed by Mario Carneiro, 3-May-2016.)
Hypotheses
Ref Expression
dvdsflf1o.1  |-  ( ph  ->  A  e.  RR )
dvdsflf1o.2  |-  ( ph  ->  N  e.  NN )
dvdsflf1o.f  |-  F  =  ( n  e.  ( 1 ... ( |_
`  ( A  /  N ) ) ) 
|->  ( N  x.  n
) )
Assertion
Ref Expression
dvdsflf1o  |-  ( ph  ->  F : ( 1 ... ( |_ `  ( A  /  N
) ) ) -1-1-onto-> { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x } )
Distinct variable groups:    x, n, A    n, N, x    ph, n
Allowed substitution hints:    ph( x)    F( x, n)

Proof of Theorem dvdsflf1o
Dummy variable  m is distinct from all other variables.
StepHypRef Expression
1 dvdsflf1o.f . 2  |-  F  =  ( n  e.  ( 1 ... ( |_
`  ( A  /  N ) ) ) 
|->  ( N  x.  n
) )
2 dvdsflf1o.2 . . . . 5  |-  ( ph  ->  N  e.  NN )
3 elfznn 11040 . . . . 5  |-  ( n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) )  ->  n  e.  NN )
4 nnmulcl 9983 . . . . 5  |-  ( ( N  e.  NN  /\  n  e.  NN )  ->  ( N  x.  n
)  e.  NN )
52, 3, 4syl2an 464 . . . 4  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  ( N  x.  n )  e.  NN )
6 dvdsflf1o.1 . . . . . . . . 9  |-  ( ph  ->  A  e.  RR )
76, 2nndivred 10008 . . . . . . . 8  |-  ( ph  ->  ( A  /  N
)  e.  RR )
8 fznnfl 11202 . . . . . . . 8  |-  ( ( A  /  N )  e.  RR  ->  (
n  e.  ( 1 ... ( |_ `  ( A  /  N
) ) )  <->  ( n  e.  NN  /\  n  <_ 
( A  /  N
) ) ) )
97, 8syl 16 . . . . . . 7  |-  ( ph  ->  ( n  e.  ( 1 ... ( |_
`  ( A  /  N ) ) )  <-> 
( n  e.  NN  /\  n  <_  ( A  /  N ) ) ) )
109simplbda 608 . . . . . 6  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  n  <_  ( A  /  N ) )
113adantl 453 . . . . . . . 8  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  n  e.  NN )
1211nnred 9975 . . . . . . 7  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  n  e.  RR )
136adantr 452 . . . . . . 7  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  A  e.  RR )
142nnred 9975 . . . . . . . 8  |-  ( ph  ->  N  e.  RR )
1514adantr 452 . . . . . . 7  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  N  e.  RR )
162nngt0d 10003 . . . . . . . 8  |-  ( ph  ->  0  <  N )
1716adantr 452 . . . . . . 7  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  0  <  N )
18 lemuldiv2 9850 . . . . . . 7  |-  ( ( n  e.  RR  /\  A  e.  RR  /\  ( N  e.  RR  /\  0  <  N ) )  -> 
( ( N  x.  n )  <_  A  <->  n  <_  ( A  /  N ) ) )
1912, 13, 15, 17, 18syl112anc 1188 . . . . . 6  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  ( ( N  x.  n )  <_  A  <->  n  <_  ( A  /  N ) ) )
2010, 19mpbird 224 . . . . 5  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  ( N  x.  n )  <_  A
)
212nnzd 10334 . . . . . . 7  |-  ( ph  ->  N  e.  ZZ )
22 elfzelz 11019 . . . . . . 7  |-  ( n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) )  ->  n  e.  ZZ )
23 zmulcl 10284 . . . . . . 7  |-  ( ( N  e.  ZZ  /\  n  e.  ZZ )  ->  ( N  x.  n
)  e.  ZZ )
2421, 22, 23syl2an 464 . . . . . 6  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  ( N  x.  n )  e.  ZZ )
25 flge 11173 . . . . . 6  |-  ( ( A  e.  RR  /\  ( N  x.  n
)  e.  ZZ )  ->  ( ( N  x.  n )  <_  A 
<->  ( N  x.  n
)  <_  ( |_ `  A ) ) )
2613, 24, 25syl2anc 643 . . . . 5  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  ( ( N  x.  n )  <_  A  <->  ( N  x.  n )  <_  ( |_ `  A ) ) )
2720, 26mpbid 202 . . . 4  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  ( N  x.  n )  <_  ( |_ `  A ) )
286flcld 11166 . . . . . 6  |-  ( ph  ->  ( |_ `  A
)  e.  ZZ )
2928adantr 452 . . . . 5  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  ( |_ `  A )  e.  ZZ )
30 fznn 11074 . . . . 5  |-  ( ( |_ `  A )  e.  ZZ  ->  (
( N  x.  n
)  e.  ( 1 ... ( |_ `  A ) )  <->  ( ( N  x.  n )  e.  NN  /\  ( N  x.  n )  <_ 
( |_ `  A
) ) ) )
3129, 30syl 16 . . . 4  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  ( ( N  x.  n )  e.  ( 1 ... ( |_ `  A ) )  <-> 
( ( N  x.  n )  e.  NN  /\  ( N  x.  n
)  <_  ( |_ `  A ) ) ) )
325, 27, 31mpbir2and 889 . . 3  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  ( N  x.  n )  e.  ( 1 ... ( |_
`  A ) ) )
33 dvdsmul1 12830 . . . 4  |-  ( ( N  e.  ZZ  /\  n  e.  ZZ )  ->  N  ||  ( N  x.  n ) )
3421, 22, 33syl2an 464 . . 3  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  N  ||  ( N  x.  n )
)
35 breq2 4180 . . . 4  |-  ( x  =  ( N  x.  n )  ->  ( N  ||  x  <->  N  ||  ( N  x.  n )
) )
3635elrab 3056 . . 3  |-  ( ( N  x.  n )  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x } 
<->  ( ( N  x.  n )  e.  ( 1 ... ( |_
`  A ) )  /\  N  ||  ( N  x.  n )
) )
3732, 34, 36sylanbrc 646 . 2  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  ( N  x.  n )  e.  {
x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)
38 breq2 4180 . . . . . . 7  |-  ( x  =  m  ->  ( N  ||  x  <->  N  ||  m
) )
3938elrab 3056 . . . . . 6  |-  ( m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x } 
<->  ( m  e.  ( 1 ... ( |_
`  A ) )  /\  N  ||  m
) )
4039simprbi 451 . . . . 5  |-  ( m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }  ->  N  ||  m
)
4140adantl 453 . . . 4  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  N  ||  m
)
42 elrabi 3054 . . . . . . 7  |-  ( m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }  ->  m  e.  ( 1 ... ( |_
`  A ) ) )
4342adantl 453 . . . . . 6  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  m  e.  ( 1 ... ( |_ `  A ) ) )
44 elfznn 11040 . . . . . 6  |-  ( m  e.  ( 1 ... ( |_ `  A
) )  ->  m  e.  NN )
4543, 44syl 16 . . . . 5  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  m  e.  NN )
462adantr 452 . . . . 5  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  N  e.  NN )
47 nndivdvds 12817 . . . . 5  |-  ( ( m  e.  NN  /\  N  e.  NN )  ->  ( N  ||  m  <->  ( m  /  N )  e.  NN ) )
4845, 46, 47syl2anc 643 . . . 4  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  ( N  ||  m  <->  ( m  /  N )  e.  NN ) )
4941, 48mpbid 202 . . 3  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  ( m  /  N )  e.  NN )
50 fznnfl 11202 . . . . . . 7  |-  ( A  e.  RR  ->  (
m  e.  ( 1 ... ( |_ `  A ) )  <->  ( m  e.  NN  /\  m  <_  A ) ) )
516, 50syl 16 . . . . . 6  |-  ( ph  ->  ( m  e.  ( 1 ... ( |_
`  A ) )  <-> 
( m  e.  NN  /\  m  <_  A )
) )
5251simplbda 608 . . . . 5  |-  ( (
ph  /\  m  e.  ( 1 ... ( |_ `  A ) ) )  ->  m  <_  A )
5342, 52sylan2 461 . . . 4  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  m  <_  A )
5445nnred 9975 . . . . 5  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  m  e.  RR )
556adantr 452 . . . . 5  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  A  e.  RR )
5614adantr 452 . . . . 5  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  N  e.  RR )
5716adantr 452 . . . . 5  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  0  <  N )
58 lediv1 9835 . . . . 5  |-  ( ( m  e.  RR  /\  A  e.  RR  /\  ( N  e.  RR  /\  0  <  N ) )  -> 
( m  <_  A  <->  ( m  /  N )  <_  ( A  /  N ) ) )
5954, 55, 56, 57, 58syl112anc 1188 . . . 4  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  ( m  <_  A  <->  ( m  /  N )  <_  ( A  /  N ) ) )
6053, 59mpbid 202 . . 3  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  ( m  /  N )  <_  ( A  /  N ) )
617adantr 452 . . . 4  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  ( A  /  N )  e.  RR )
62 fznnfl 11202 . . . 4  |-  ( ( A  /  N )  e.  RR  ->  (
( m  /  N
)  e.  ( 1 ... ( |_ `  ( A  /  N
) ) )  <->  ( (
m  /  N )  e.  NN  /\  (
m  /  N )  <_  ( A  /  N ) ) ) )
6361, 62syl 16 . . 3  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  ( (
m  /  N )  e.  ( 1 ... ( |_ `  ( A  /  N ) ) )  <->  ( ( m  /  N )  e.  NN  /\  ( m  /  N )  <_ 
( A  /  N
) ) ) )
6449, 60, 63mpbir2and 889 . 2  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  ( m  /  N )  e.  ( 1 ... ( |_
`  ( A  /  N ) ) ) )
6545nncnd 9976 . . . . 5  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  m  e.  CC )
6665adantrl 697 . . . 4  |-  ( (
ph  /\  ( n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) )  /\  m  e.  {
x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
) )  ->  m  e.  CC )
672nncnd 9976 . . . . 5  |-  ( ph  ->  N  e.  CC )
6867adantr 452 . . . 4  |-  ( (
ph  /\  ( n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) )  /\  m  e.  {
x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
) )  ->  N  e.  CC )
6911nncnd 9976 . . . . 5  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  n  e.  CC )
7069adantrr 698 . . . 4  |-  ( (
ph  /\  ( n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) )  /\  m  e.  {
x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
) )  ->  n  e.  CC )
712nnne0d 10004 . . . . 5  |-  ( ph  ->  N  =/=  0 )
7271adantr 452 . . . 4  |-  ( (
ph  /\  ( n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) )  /\  m  e.  {
x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
) )  ->  N  =/=  0 )
7366, 68, 70, 72divmuld 9772 . . 3  |-  ( (
ph  /\  ( n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) )  /\  m  e.  {
x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
) )  ->  (
( m  /  N
)  =  n  <->  ( N  x.  n )  =  m ) )
74 eqcom 2410 . . 3  |-  ( n  =  ( m  /  N )  <->  ( m  /  N )  =  n )
75 eqcom 2410 . . 3  |-  ( m  =  ( N  x.  n )  <->  ( N  x.  n )  =  m )
7673, 74, 753bitr4g 280 . 2  |-  ( (
ph  /\  ( n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) )  /\  m  e.  {
x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
) )  ->  (
n  =  ( m  /  N )  <->  m  =  ( N  x.  n
) ) )
771, 37, 64, 76f1o2d 6259 1  |-  ( ph  ->  F : ( 1 ... ( |_ `  ( A  /  N
) ) ) -1-1-onto-> { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x } )
Colors of variables: wff set class
Syntax hints:    -> wi 4    <-> wb 177    /\ wa 359    = wceq 1649    e. wcel 1721    =/= wne 2571   {crab 2674   class class class wbr 4176    e. cmpt 4230   -1-1-onto->wf1o 5416   ` cfv 5417  (class class class)co 6044   CCcc 8948   RRcr 8949   0cc0 8950   1c1 8951    x. cmul 8955    < clt 9080    <_ cle 9081    / cdiv 9637   NNcn 9960   ZZcz 10242   ...cfz 11003   |_cfl 11160    || cdivides 12811
This theorem is referenced by:  dvdsflsumcom  20930  logfac2  20958
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1552  ax-5 1563  ax-17 1623  ax-9 1662  ax-8 1683  ax-13 1723  ax-14 1725  ax-6 1740  ax-7 1745  ax-11 1757  ax-12 1946  ax-ext 2389  ax-sep 4294  ax-nul 4302  ax-pow 4341  ax-pr 4367  ax-un 4664  ax-cnex 9006  ax-resscn 9007  ax-1cn 9008  ax-icn 9009  ax-addcl 9010  ax-addrcl 9011  ax-mulcl 9012  ax-mulrcl 9013  ax-mulcom 9014  ax-addass 9015  ax-mulass 9016  ax-distr 9017  ax-i2m1 9018  ax-1ne0 9019  ax-1rid 9020  ax-rnegex 9021  ax-rrecex 9022  ax-cnre 9023  ax-pre-lttri 9024  ax-pre-lttrn 9025  ax-pre-ltadd 9026  ax-pre-mulgt0 9027  ax-pre-sup 9028
This theorem depends on definitions:  df-bi 178  df-or 360  df-an 361  df-3or 937  df-3an 938  df-tru 1325  df-ex 1548  df-nf 1551  df-sb 1656  df-eu 2262  df-mo 2263  df-clab 2395  df-cleq 2401  df-clel 2404  df-nfc 2533  df-ne 2573  df-nel 2574  df-ral 2675  df-rex 2676  df-reu 2677  df-rmo 2678  df-rab 2679  df-v 2922  df-sbc 3126  df-csb 3216  df-dif 3287  df-un 3289  df-in 3291  df-ss 3298  df-pss 3300  df-nul 3593  df-if 3704  df-pw 3765  df-sn 3784  df-pr 3785  df-tp 3786  df-op 3787  df-uni 3980  df-iun 4059  df-br 4177  df-opab 4231  df-mpt 4232  df-tr 4267  df-eprel 4458  df-id 4462  df-po 4467  df-so 4468  df-fr 4505  df-we 4507  df-ord 4548  df-on 4549  df-lim 4550  df-suc 4551  df-om 4809  df-xp 4847  df-rel 4848  df-cnv 4849  df-co 4850  df-dm 4851  df-rn 4852  df-res 4853  df-ima 4854  df-iota 5381  df-fun 5419  df-fn 5420  df-f 5421  df-f1 5422  df-fo 5423  df-f1o 5424  df-fv 5425  df-ov 6047  df-oprab 6048  df-mpt2 6049  df-1st 6312  df-2nd 6313  df-riota 6512  df-recs 6596  df-rdg 6631  df-er 6868  df-en 7073  df-dom 7074  df-sdom 7075  df-sup 7408  df-pnf 9082  df-mnf 9083  df-xr 9084  df-ltxr 9085  df-le 9086  df-sub 9253  df-neg 9254  df-div 9638  df-nn 9961  df-n0 10182  df-z 10243  df-uz 10449  df-fz 11004  df-fl 11161  df-dvds 12812
  Copyright terms: Public domain W3C validator