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

Theorem bitsval 13950
Description: Expand the definition of the bits of an integer. (Contributed by Mario Carneiro, 5-Sep-2016.)
Assertion
Ref Expression
bitsval  |-  ( M  e.  (bits `  N
)  <->  ( N  e.  ZZ  /\  M  e. 
NN0  /\  -.  2  ||  ( |_ `  ( N  /  ( 2 ^ M ) ) ) ) )

Proof of Theorem bitsval
Dummy variables  n  m are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 df-bits 13948 . . . . 5  |- bits  =  ( n  e.  ZZ  |->  { m  e.  NN0  |  -.  2  ||  ( |_
`  ( n  / 
( 2 ^ m
) ) ) } )
21dmmptss 5509 . . . 4  |-  dom bits  C_  ZZ
3 elfvdm 5898 . . . 4  |-  ( M  e.  (bits `  N
)  ->  N  e.  dom bits )
42, 3sseldi 3507 . . 3  |-  ( M  e.  (bits `  N
)  ->  N  e.  ZZ )
5 bitsfval 13949 . . . . 5  |-  ( N  e.  ZZ  ->  (bits `  N )  =  {
m  e.  NN0  |  -.  2  ||  ( |_
`  ( N  / 
( 2 ^ m
) ) ) } )
65eleq2d 2537 . . . 4  |-  ( N  e.  ZZ  ->  ( M  e.  (bits `  N
)  <->  M  e.  { m  e.  NN0  |  -.  2  ||  ( |_ `  ( N  /  ( 2 ^ m ) ) ) } ) )
7 oveq2 6303 . . . . . . . . 9  |-  ( m  =  M  ->  (
2 ^ m )  =  ( 2 ^ M ) )
87oveq2d 6311 . . . . . . . 8  |-  ( m  =  M  ->  ( N  /  ( 2 ^ m ) )  =  ( N  /  (
2 ^ M ) ) )
98fveq2d 5876 . . . . . . 7  |-  ( m  =  M  ->  ( |_ `  ( N  / 
( 2 ^ m
) ) )  =  ( |_ `  ( N  /  ( 2 ^ M ) ) ) )
109breq2d 4465 . . . . . 6  |-  ( m  =  M  ->  (
2  ||  ( |_ `  ( N  /  (
2 ^ m ) ) )  <->  2  ||  ( |_ `  ( N  /  ( 2 ^ M ) ) ) ) )
1110notbid 294 . . . . 5  |-  ( m  =  M  ->  ( -.  2  ||  ( |_
`  ( N  / 
( 2 ^ m
) ) )  <->  -.  2  ||  ( |_ `  ( N  /  ( 2 ^ M ) ) ) ) )
1211elrab 3266 . . . 4  |-  ( M  e.  { m  e. 
NN0  |  -.  2  ||  ( |_ `  ( N  /  ( 2 ^ m ) ) ) }  <->  ( M  e. 
NN0  /\  -.  2  ||  ( |_ `  ( N  /  ( 2 ^ M ) ) ) ) )
136, 12syl6bb 261 . . 3  |-  ( N  e.  ZZ  ->  ( M  e.  (bits `  N
)  <->  ( M  e. 
NN0  /\  -.  2  ||  ( |_ `  ( N  /  ( 2 ^ M ) ) ) ) ) )
144, 13biadan2 642 . 2  |-  ( M  e.  (bits `  N
)  <->  ( N  e.  ZZ  /\  ( M  e.  NN0  /\  -.  2  ||  ( |_ `  ( N  /  ( 2 ^ M ) ) ) ) ) )
15 3anass 977 . 2  |-  ( ( N  e.  ZZ  /\  M  e.  NN0  /\  -.  2  ||  ( |_ `  ( N  /  (
2 ^ M ) ) ) )  <->  ( N  e.  ZZ  /\  ( M  e.  NN0  /\  -.  2  ||  ( |_ `  ( N  /  ( 2 ^ M ) ) ) ) ) )
1614, 15bitr4i 252 1  |-  ( M  e.  (bits `  N
)  <->  ( N  e.  ZZ  /\  M  e. 
NN0  /\  -.  2  ||  ( |_ `  ( N  /  ( 2 ^ M ) ) ) ) )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    <-> wb 184    /\ wa 369    /\ w3a 973    = wceq 1379    e. wcel 1767   {crab 2821   class class class wbr 4453   dom cdm 5005   ` cfv 5594  (class class class)co 6295    / cdiv 10218   2c2 10597   NN0cn0 10807   ZZcz 10876   |_cfl 11907   ^cexp 12146    || cdivides 13864  bitscbits 13945
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1601  ax-4 1612  ax-5 1680  ax-6 1719  ax-7 1739  ax-8 1769  ax-9 1771  ax-10 1786  ax-11 1791  ax-12 1803  ax-13 1968  ax-ext 2445  ax-sep 4574  ax-nul 4582  ax-pow 4631  ax-pr 4692  ax-un 6587  ax-cnex 9560  ax-resscn 9561  ax-1cn 9562  ax-icn 9563  ax-addcl 9564  ax-addrcl 9565  ax-mulcl 9566  ax-mulrcl 9567  ax-i2m1 9572  ax-1ne0 9573  ax-rrecex 9576  ax-cnre 9577
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 974  df-3an 975  df-tru 1382  df-ex 1597  df-nf 1600  df-sb 1712  df-eu 2279  df-mo 2280  df-clab 2453  df-cleq 2459  df-clel 2462  df-nfc 2617  df-ne 2664  df-ral 2822  df-rex 2823  df-reu 2824  df-rab 2826  df-v 3120  df-sbc 3337  df-csb 3441  df-dif 3484  df-un 3486  df-in 3488  df-ss 3495  df-pss 3497  df-nul 3791  df-if 3946  df-pw 4018  df-sn 4034  df-pr 4036  df-tp 4038  df-op 4040  df-uni 4252  df-iun 4333  df-br 4454  df-opab 4512  df-mpt 4513  df-tr 4547  df-eprel 4797  df-id 4801  df-po 4806  df-so 4807  df-fr 4844  df-we 4846  df-ord 4887  df-on 4888  df-lim 4889  df-suc 4890  df-xp 5011  df-rel 5012  df-cnv 5013  df-co 5014  df-dm 5015  df-rn 5016  df-res 5017  df-ima 5018  df-iota 5557  df-fun 5596  df-fn 5597  df-f 5598  df-f1 5599  df-fo 5600  df-f1o 5601  df-fv 5602  df-ov 6298  df-om 6696  df-recs 7054  df-rdg 7088  df-nn 10549  df-n0 10808  df-bits 13948
This theorem is referenced by:  bitsval2  13951  bitsss  13952  bitsfzo  13961  bitsmod  13962  bitscmp  13964
  Copyright terms: Public domain W3C validator