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

Theorem dvdsflf1o 24913
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 12370 . . . . 5  |-  ( n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) )  ->  n  e.  NN )
4 nnmulcl 11043 . . . . 5  |-  ( ( N  e.  NN  /\  n  e.  NN )  ->  ( N  x.  n
)  e.  NN )
52, 3, 4syl2an 494 . . . 4  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  ( N  x.  n )  e.  NN )
6 dvdsflf1o.1 . . . . . . . . 9  |-  ( ph  ->  A  e.  RR )
76, 2nndivred 11069 . . . . . . . 8  |-  ( ph  ->  ( A  /  N
)  e.  RR )
8 fznnfl 12661 . . . . . . . 8  |-  ( ( A  /  N )  e.  RR  ->  (
n  e.  ( 1 ... ( |_ `  ( A  /  N
) ) )  <->  ( n  e.  NN  /\  n  <_ 
( A  /  N
) ) ) )
97, 8syl 17 . . . . . . 7  |-  ( ph  ->  ( n  e.  ( 1 ... ( |_
`  ( A  /  N ) ) )  <-> 
( n  e.  NN  /\  n  <_  ( A  /  N ) ) ) )
109simplbda 654 . . . . . 6  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  n  <_  ( A  /  N ) )
113adantl 482 . . . . . . . 8  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  n  e.  NN )
1211nnred 11035 . . . . . . 7  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  n  e.  RR )
136adantr 481 . . . . . . 7  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  A  e.  RR )
142nnred 11035 . . . . . . . 8  |-  ( ph  ->  N  e.  RR )
1514adantr 481 . . . . . . 7  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  N  e.  RR )
162nngt0d 11064 . . . . . . . 8  |-  ( ph  ->  0  <  N )
1716adantr 481 . . . . . . 7  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  0  <  N )
18 lemuldiv2 10904 . . . . . . 7  |-  ( ( n  e.  RR  /\  A  e.  RR  /\  ( N  e.  RR  /\  0  <  N ) )  -> 
( ( N  x.  n )  <_  A  <->  n  <_  ( A  /  N ) ) )
1912, 13, 15, 17, 18syl112anc 1330 . . . . . 6  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  ( ( N  x.  n )  <_  A  <->  n  <_  ( A  /  N ) ) )
2010, 19mpbird 247 . . . . 5  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  ( N  x.  n )  <_  A
)
212nnzd 11481 . . . . . . 7  |-  ( ph  ->  N  e.  ZZ )
22 elfzelz 12342 . . . . . . 7  |-  ( n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) )  ->  n  e.  ZZ )
23 zmulcl 11426 . . . . . . 7  |-  ( ( N  e.  ZZ  /\  n  e.  ZZ )  ->  ( N  x.  n
)  e.  ZZ )
2421, 22, 23syl2an 494 . . . . . 6  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  ( N  x.  n )  e.  ZZ )
25 flge 12606 . . . . . 6  |-  ( ( A  e.  RR  /\  ( N  x.  n
)  e.  ZZ )  ->  ( ( N  x.  n )  <_  A 
<->  ( N  x.  n
)  <_  ( |_ `  A ) ) )
2613, 24, 25syl2anc 693 . . . . 5  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  ( ( N  x.  n )  <_  A  <->  ( N  x.  n )  <_  ( |_ `  A ) ) )
2720, 26mpbid 222 . . . 4  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  ( N  x.  n )  <_  ( |_ `  A ) )
286flcld 12599 . . . . . 6  |-  ( ph  ->  ( |_ `  A
)  e.  ZZ )
2928adantr 481 . . . . 5  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  ( |_ `  A )  e.  ZZ )
30 fznn 12408 . . . . 5  |-  ( ( |_ `  A )  e.  ZZ  ->  (
( N  x.  n
)  e.  ( 1 ... ( |_ `  A ) )  <->  ( ( N  x.  n )  e.  NN  /\  ( N  x.  n )  <_ 
( |_ `  A
) ) ) )
3129, 30syl 17 . . . 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 957 . . 3  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  ( N  x.  n )  e.  ( 1 ... ( |_
`  A ) ) )
33 dvdsmul1 15003 . . . 4  |-  ( ( N  e.  ZZ  /\  n  e.  ZZ )  ->  N  ||  ( N  x.  n ) )
3421, 22, 33syl2an 494 . . 3  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  N  ||  ( N  x.  n )
)
35 breq2 4657 . . . 4  |-  ( x  =  ( N  x.  n )  ->  ( N  ||  x  <->  N  ||  ( N  x.  n )
) )
3635elrab 3363 . . 3  |-  ( ( N  x.  n )  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x } 
<->  ( ( N  x.  n )  e.  ( 1 ... ( |_
`  A ) )  /\  N  ||  ( N  x.  n )
) )
3732, 34, 36sylanbrc 698 . 2  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  ( N  x.  n )  e.  {
x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)
38 breq2 4657 . . . . . . 7  |-  ( x  =  m  ->  ( N  ||  x  <->  N  ||  m
) )
3938elrab 3363 . . . . . 6  |-  ( m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x } 
<->  ( m  e.  ( 1 ... ( |_
`  A ) )  /\  N  ||  m
) )
4039simprbi 480 . . . . 5  |-  ( m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }  ->  N  ||  m
)
4140adantl 482 . . . 4  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  N  ||  m
)
42 elrabi 3359 . . . . . . 7  |-  ( m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }  ->  m  e.  ( 1 ... ( |_
`  A ) ) )
4342adantl 482 . . . . . 6  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  m  e.  ( 1 ... ( |_ `  A ) ) )
44 elfznn 12370 . . . . . 6  |-  ( m  e.  ( 1 ... ( |_ `  A
) )  ->  m  e.  NN )
4543, 44syl 17 . . . . 5  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  m  e.  NN )
462adantr 481 . . . . 5  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  N  e.  NN )
47 nndivdvds 14989 . . . . 5  |-  ( ( m  e.  NN  /\  N  e.  NN )  ->  ( N  ||  m  <->  ( m  /  N )  e.  NN ) )
4845, 46, 47syl2anc 693 . . . 4  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  ( N  ||  m  <->  ( m  /  N )  e.  NN ) )
4941, 48mpbid 222 . . 3  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  ( m  /  N )  e.  NN )
50 fznnfl 12661 . . . . . . 7  |-  ( A  e.  RR  ->  (
m  e.  ( 1 ... ( |_ `  A ) )  <->  ( m  e.  NN  /\  m  <_  A ) ) )
516, 50syl 17 . . . . . 6  |-  ( ph  ->  ( m  e.  ( 1 ... ( |_
`  A ) )  <-> 
( m  e.  NN  /\  m  <_  A )
) )
5251simplbda 654 . . . . 5  |-  ( (
ph  /\  m  e.  ( 1 ... ( |_ `  A ) ) )  ->  m  <_  A )
5342, 52sylan2 491 . . . 4  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  m  <_  A )
5445nnred 11035 . . . . 5  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  m  e.  RR )
556adantr 481 . . . . 5  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  A  e.  RR )
5614adantr 481 . . . . 5  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  N  e.  RR )
5716adantr 481 . . . . 5  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  0  <  N )
58 lediv1 10888 . . . . 5  |-  ( ( m  e.  RR  /\  A  e.  RR  /\  ( N  e.  RR  /\  0  <  N ) )  -> 
( m  <_  A  <->  ( m  /  N )  <_  ( A  /  N ) ) )
5954, 55, 56, 57, 58syl112anc 1330 . . . 4  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  ( m  <_  A  <->  ( m  /  N )  <_  ( A  /  N ) ) )
6053, 59mpbid 222 . . 3  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  ( m  /  N )  <_  ( A  /  N ) )
617adantr 481 . . . 4  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  ( A  /  N )  e.  RR )
62 fznnfl 12661 . . . 4  |-  ( ( A  /  N )  e.  RR  ->  (
( m  /  N
)  e.  ( 1 ... ( |_ `  ( A  /  N
) ) )  <->  ( (
m  /  N )  e.  NN  /\  (
m  /  N )  <_  ( A  /  N ) ) ) )
6361, 62syl 17 . . 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 957 . 2  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  ( m  /  N )  e.  ( 1 ... ( |_
`  ( A  /  N ) ) ) )
6545nncnd 11036 . . . . 5  |-  ( (
ph  /\  m  e.  { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
)  ->  m  e.  CC )
6665adantrl 752 . . . 4  |-  ( (
ph  /\  ( n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) )  /\  m  e.  {
x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
) )  ->  m  e.  CC )
672nncnd 11036 . . . . 5  |-  ( ph  ->  N  e.  CC )
6867adantr 481 . . . 4  |-  ( (
ph  /\  ( n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) )  /\  m  e.  {
x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
) )  ->  N  e.  CC )
6911nncnd 11036 . . . . 5  |-  ( (
ph  /\  n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) ) )  ->  n  e.  CC )
7069adantrr 753 . . . 4  |-  ( (
ph  /\  ( n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) )  /\  m  e.  {
x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
) )  ->  n  e.  CC )
712nnne0d 11065 . . . . 5  |-  ( ph  ->  N  =/=  0 )
7271adantr 481 . . . 4  |-  ( (
ph  /\  ( n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) )  /\  m  e.  {
x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
) )  ->  N  =/=  0 )
7366, 68, 70, 72divmuld 10823 . . 3  |-  ( (
ph  /\  ( n  e.  ( 1 ... ( |_ `  ( A  /  N ) ) )  /\  m  e.  {
x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x }
) )  ->  (
( m  /  N
)  =  n  <->  ( N  x.  n )  =  m ) )
74 eqcom 2629 . . 3  |-  ( n  =  ( m  /  N )  <->  ( m  /  N )  =  n )
75 eqcom 2629 . . 3  |-  ( m  =  ( N  x.  n )  <->  ( N  x.  n )  =  m )
7673, 74, 753bitr4g 303 . 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 6887 1  |-  ( ph  ->  F : ( 1 ... ( |_ `  ( A  /  N
) ) ) -1-1-onto-> { x  e.  ( 1 ... ( |_ `  A ) )  |  N  ||  x } )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    <-> wb 196    /\ wa 384    = wceq 1483    e. wcel 1990    =/= wne 2794   {crab 2916   class class class wbr 4653    |-> cmpt 4729   -1-1-onto->wf1o 5887   ` cfv 5888  (class class class)co 6650   CCcc 9934   RRcr 9935   0cc0 9936   1c1 9937    x. cmul 9941    < clt 10074    <_ cle 10075    / cdiv 10684   NNcn 11020   ZZcz 11377   ...cfz 12326   |_cfl 12591    || cdvds 14983
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1722  ax-4 1737  ax-5 1839  ax-6 1888  ax-7 1935  ax-8 1992  ax-9 1999  ax-10 2019  ax-11 2034  ax-12 2047  ax-13 2246  ax-ext 2602  ax-sep 4781  ax-nul 4789  ax-pow 4843  ax-pr 4906  ax-un 6949  ax-cnex 9992  ax-resscn 9993  ax-1cn 9994  ax-icn 9995  ax-addcl 9996  ax-addrcl 9997  ax-mulcl 9998  ax-mulrcl 9999  ax-mulcom 10000  ax-addass 10001  ax-mulass 10002  ax-distr 10003  ax-i2m1 10004  ax-1ne0 10005  ax-1rid 10006  ax-rnegex 10007  ax-rrecex 10008  ax-cnre 10009  ax-pre-lttri 10010  ax-pre-lttrn 10011  ax-pre-ltadd 10012  ax-pre-mulgt0 10013  ax-pre-sup 10014
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3or 1038  df-3an 1039  df-tru 1486  df-ex 1705  df-nf 1710  df-sb 1881  df-eu 2474  df-mo 2475  df-clab 2609  df-cleq 2615  df-clel 2618  df-nfc 2753  df-ne 2795  df-nel 2898  df-ral 2917  df-rex 2918  df-reu 2919  df-rmo 2920  df-rab 2921  df-v 3202  df-sbc 3436  df-csb 3534  df-dif 3577  df-un 3579  df-in 3581  df-ss 3588  df-pss 3590  df-nul 3916  df-if 4087  df-pw 4160  df-sn 4178  df-pr 4180  df-tp 4182  df-op 4184  df-uni 4437  df-iun 4522  df-br 4654  df-opab 4713  df-mpt 4730  df-tr 4753  df-id 5024  df-eprel 5029  df-po 5035  df-so 5036  df-fr 5073  df-we 5075  df-xp 5120  df-rel 5121  df-cnv 5122  df-co 5123  df-dm 5124  df-rn 5125  df-res 5126  df-ima 5127  df-pred 5680  df-ord 5726  df-on 5727  df-lim 5728  df-suc 5729  df-iota 5851  df-fun 5890  df-fn 5891  df-f 5892  df-f1 5893  df-fo 5894  df-f1o 5895  df-fv 5896  df-riota 6611  df-ov 6653  df-oprab 6654  df-mpt2 6655  df-om 7066  df-1st 7168  df-2nd 7169  df-wrecs 7407  df-recs 7468  df-rdg 7506  df-er 7742  df-en 7956  df-dom 7957  df-sdom 7958  df-sup 8348  df-inf 8349  df-pnf 10076  df-mnf 10077  df-xr 10078  df-ltxr 10079  df-le 10080  df-sub 10268  df-neg 10269  df-div 10685  df-nn 11021  df-n0 11293  df-z 11378  df-uz 11688  df-fz 12327  df-fl 12593  df-dvds 14984
This theorem is referenced by:  dvdsflsumcom  24914  logfac2  24942
  Copyright terms: Public domain W3C validator