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

Theorem bitscmp 12720
Description: The bit complement of  N is  -u N  -  1. (Thus, by bitsfi 12719, all negative numbers have cofinite bits representations.) (Contributed by Mario Carneiro, 5-Sep-2016.)
Assertion
Ref Expression
bitscmp  |-  ( N  e.  ZZ  ->  ( NN0  \  (bits `  N
) )  =  (bits `  ( -u N  - 
1 ) ) )

Proof of Theorem bitscmp
Dummy variable  m is distinct from all other variables.
StepHypRef Expression
1 bitsval2 12707 . . . . . . 7  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( m  e.  (bits `  N )  <->  -.  2  ||  ( |_ `  ( N  /  ( 2 ^ m ) ) ) ) )
2 2z 10143 . . . . . . . . . 10  |-  2  e.  ZZ
32a1i 10 . . . . . . . . 9  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
2  e.  ZZ )
4 simpl 443 . . . . . . . . . . . 12  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  ->  N  e.  ZZ )
54zred 10206 . . . . . . . . . . 11  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  ->  N  e.  RR )
6 2nn 9966 . . . . . . . . . . . . 13  |-  2  e.  NN
76a1i 10 . . . . . . . . . . . 12  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
2  e.  NN )
8 simpr 447 . . . . . . . . . . . 12  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  ->  m  e.  NN0 )
97, 8nnexpcld 11356 . . . . . . . . . . 11  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( 2 ^ m
)  e.  NN )
105, 9nndivred 9881 . . . . . . . . . 10  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( N  /  (
2 ^ m ) )  e.  RR )
1110flcld 11019 . . . . . . . . 9  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( |_ `  ( N  /  ( 2 ^ m ) ) )  e.  ZZ )
12 dvdsnegb 12637 . . . . . . . . 9  |-  ( ( 2  e.  ZZ  /\  ( |_ `  ( N  /  ( 2 ^ m ) ) )  e.  ZZ )  -> 
( 2  ||  ( |_ `  ( N  / 
( 2 ^ m
) ) )  <->  2  ||  -u ( |_ `  ( N  /  ( 2 ^ m ) ) ) ) )
133, 11, 12syl2anc 642 . . . . . . . 8  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( 2  ||  ( |_ `  ( N  / 
( 2 ^ m
) ) )  <->  2  ||  -u ( |_ `  ( N  /  ( 2 ^ m ) ) ) ) )
1413notbid 285 . . . . . . 7  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( -.  2  ||  ( |_ `  ( N  /  ( 2 ^ m ) ) )  <->  -.  2  ||  -u ( |_ `  ( N  / 
( 2 ^ m
) ) ) ) )
1511znegcld 10208 . . . . . . . . 9  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  ->  -u ( |_ `  ( N  /  ( 2 ^ m ) ) )  e.  ZZ )
16 oddm1even 12679 . . . . . . . . 9  |-  ( -u ( |_ `  ( N  /  ( 2 ^ m ) ) )  e.  ZZ  ->  ( -.  2  ||  -u ( |_ `  ( N  / 
( 2 ^ m
) ) )  <->  2  ||  ( -u ( |_ `  ( N  /  (
2 ^ m ) ) )  -  1 ) ) )
1715, 16syl 15 . . . . . . . 8  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( -.  2  ||  -u ( |_ `  ( N  /  ( 2 ^ m ) ) )  <->  2  ||  ( -u ( |_ `  ( N  /  ( 2 ^ m ) ) )  -  1 ) ) )
1811zred 10206 . . . . . . . . . . . . . . . . 17  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( |_ `  ( N  /  ( 2 ^ m ) ) )  e.  RR )
1918recnd 8948 . . . . . . . . . . . . . . . 16  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( |_ `  ( N  /  ( 2 ^ m ) ) )  e.  CC )
20 1re 8924 . . . . . . . . . . . . . . . . . 18  |-  1  e.  RR
2120a1i 10 . . . . . . . . . . . . . . . . 17  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
1  e.  RR )
2221recnd 8948 . . . . . . . . . . . . . . . 16  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
1  e.  CC )
2319, 22negdi2d 9258 . . . . . . . . . . . . . . 15  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  ->  -u ( ( |_ `  ( N  /  (
2 ^ m ) ) )  +  1 )  =  ( -u ( |_ `  ( N  /  ( 2 ^ m ) ) )  -  1 ) )
24 flltp1 11021 . . . . . . . . . . . . . . . . 17  |-  ( ( N  /  ( 2 ^ m ) )  e.  RR  ->  ( N  /  ( 2 ^ m ) )  < 
( ( |_ `  ( N  /  (
2 ^ m ) ) )  +  1 ) )
2510, 24syl 15 . . . . . . . . . . . . . . . 16  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( N  /  (
2 ^ m ) )  <  ( ( |_ `  ( N  /  ( 2 ^ m ) ) )  +  1 ) )
2618, 21readdcld 8949 . . . . . . . . . . . . . . . . 17  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( ( |_ `  ( N  /  (
2 ^ m ) ) )  +  1 )  e.  RR )
2710, 26ltnegd 9437 . . . . . . . . . . . . . . . 16  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( ( N  / 
( 2 ^ m
) )  <  (
( |_ `  ( N  /  ( 2 ^ m ) ) )  +  1 )  <->  -u ( ( |_ `  ( N  /  ( 2 ^ m ) ) )  +  1 )  <  -u ( N  /  (
2 ^ m ) ) ) )
2825, 27mpbid 201 . . . . . . . . . . . . . . 15  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  ->  -u ( ( |_ `  ( N  /  (
2 ^ m ) ) )  +  1 )  <  -u ( N  /  ( 2 ^ m ) ) )
2923, 28eqbrtrrd 4124 . . . . . . . . . . . . . 14  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( -u ( |_ `  ( N  /  (
2 ^ m ) ) )  -  1 )  <  -u ( N  /  ( 2 ^ m ) ) )
305recnd 8948 . . . . . . . . . . . . . . 15  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  ->  N  e.  CC )
319nncnd 9849 . . . . . . . . . . . . . . 15  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( 2 ^ m
)  e.  CC )
329nnne0d 9877 . . . . . . . . . . . . . . 15  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( 2 ^ m
)  =/=  0 )
3330, 31, 32divnegd 9636 . . . . . . . . . . . . . 14  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  ->  -u ( N  /  (
2 ^ m ) )  =  ( -u N  /  ( 2 ^ m ) ) )
3429, 33breqtrd 4126 . . . . . . . . . . . . 13  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( -u ( |_ `  ( N  /  (
2 ^ m ) ) )  -  1 )  <  ( -u N  /  ( 2 ^ m ) ) )
35 1z 10142 . . . . . . . . . . . . . . . . 17  |-  1  e.  ZZ
3635a1i 10 . . . . . . . . . . . . . . . 16  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
1  e.  ZZ )
3715, 36zsubcld 10211 . . . . . . . . . . . . . . 15  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( -u ( |_ `  ( N  /  (
2 ^ m ) ) )  -  1 )  e.  ZZ )
3837zred 10206 . . . . . . . . . . . . . 14  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( -u ( |_ `  ( N  /  (
2 ^ m ) ) )  -  1 )  e.  RR )
395renegcld 9297 . . . . . . . . . . . . . 14  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  ->  -u N  e.  RR )
409nnrpd 10478 . . . . . . . . . . . . . 14  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( 2 ^ m
)  e.  RR+ )
4138, 39, 40ltmuldivd 10522 . . . . . . . . . . . . 13  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( ( ( -u ( |_ `  ( N  /  ( 2 ^ m ) ) )  -  1 )  x.  ( 2 ^ m
) )  <  -u N  <->  (
-u ( |_ `  ( N  /  (
2 ^ m ) ) )  -  1 )  <  ( -u N  /  ( 2 ^ m ) ) ) )
4234, 41mpbird 223 . . . . . . . . . . . 12  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( ( -u ( |_ `  ( N  / 
( 2 ^ m
) ) )  - 
1 )  x.  (
2 ^ m ) )  <  -u N
)
439nnzd 10205 . . . . . . . . . . . . . 14  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( 2 ^ m
)  e.  ZZ )
4437, 43zmulcld 10212 . . . . . . . . . . . . 13  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( ( -u ( |_ `  ( N  / 
( 2 ^ m
) ) )  - 
1 )  x.  (
2 ^ m ) )  e.  ZZ )
45 znegcl 10144 . . . . . . . . . . . . . 14  |-  ( N  e.  ZZ  ->  -u N  e.  ZZ )
464, 45syl 15 . . . . . . . . . . . . 13  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  ->  -u N  e.  ZZ )
47 zltlem1 10159 . . . . . . . . . . . . 13  |-  ( ( ( ( -u ( |_ `  ( N  / 
( 2 ^ m
) ) )  - 
1 )  x.  (
2 ^ m ) )  e.  ZZ  /\  -u N  e.  ZZ )  ->  ( ( (
-u ( |_ `  ( N  /  (
2 ^ m ) ) )  -  1 )  x.  ( 2 ^ m ) )  <  -u N  <->  ( ( -u ( |_ `  ( N  /  ( 2 ^ m ) ) )  -  1 )  x.  ( 2 ^ m
) )  <_  ( -u N  -  1 ) ) )
4844, 46, 47syl2anc 642 . . . . . . . . . . . 12  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( ( ( -u ( |_ `  ( N  /  ( 2 ^ m ) ) )  -  1 )  x.  ( 2 ^ m
) )  <  -u N  <->  ( ( -u ( |_
`  ( N  / 
( 2 ^ m
) ) )  - 
1 )  x.  (
2 ^ m ) )  <_  ( -u N  -  1 ) ) )
4942, 48mpbid 201 . . . . . . . . . . 11  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( ( -u ( |_ `  ( N  / 
( 2 ^ m
) ) )  - 
1 )  x.  (
2 ^ m ) )  <_  ( -u N  -  1 ) )
5039, 21resubcld 9298 . . . . . . . . . . . 12  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( -u N  -  1 )  e.  RR )
5138, 50, 40lemuldivd 10524 . . . . . . . . . . 11  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( ( ( -u ( |_ `  ( N  /  ( 2 ^ m ) ) )  -  1 )  x.  ( 2 ^ m
) )  <_  ( -u N  -  1 )  <-> 
( -u ( |_ `  ( N  /  (
2 ^ m ) ) )  -  1 )  <_  ( ( -u N  -  1 )  /  ( 2 ^ m ) ) ) )
5249, 51mpbid 201 . . . . . . . . . 10  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( -u ( |_ `  ( N  /  (
2 ^ m ) ) )  -  1 )  <_  ( ( -u N  -  1 )  /  ( 2 ^ m ) ) )
53 flle 11020 . . . . . . . . . . . . . . . . 17  |-  ( ( N  /  ( 2 ^ m ) )  e.  RR  ->  ( |_ `  ( N  / 
( 2 ^ m
) ) )  <_ 
( N  /  (
2 ^ m ) ) )
5410, 53syl 15 . . . . . . . . . . . . . . . 16  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( |_ `  ( N  /  ( 2 ^ m ) ) )  <_  ( N  / 
( 2 ^ m
) ) )
5518, 10lenegd 9438 . . . . . . . . . . . . . . . 16  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( ( |_ `  ( N  /  (
2 ^ m ) ) )  <_  ( N  /  ( 2 ^ m ) )  <->  -u ( N  /  ( 2 ^ m ) )  <_  -u ( |_ `  ( N  /  ( 2 ^ m ) ) ) ) )
5654, 55mpbid 201 . . . . . . . . . . . . . . 15  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  ->  -u ( N  /  (
2 ^ m ) )  <_  -u ( |_
`  ( N  / 
( 2 ^ m
) ) ) )
5733, 56eqbrtrrd 4124 . . . . . . . . . . . . . 14  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( -u N  /  (
2 ^ m ) )  <_  -u ( |_
`  ( N  / 
( 2 ^ m
) ) ) )
5818renegcld 9297 . . . . . . . . . . . . . . 15  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  ->  -u ( |_ `  ( N  /  ( 2 ^ m ) ) )  e.  RR )
5939, 58, 40ledivmuld 10528 . . . . . . . . . . . . . 14  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( ( -u N  /  ( 2 ^ m ) )  <_  -u ( |_ `  ( N  /  ( 2 ^ m ) ) )  <->  -u N  <_  ( ( 2 ^ m )  x.  -u ( |_ `  ( N  /  (
2 ^ m ) ) ) ) ) )
6057, 59mpbid 201 . . . . . . . . . . . . 13  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  ->  -u N  <_  ( (
2 ^ m )  x.  -u ( |_ `  ( N  /  (
2 ^ m ) ) ) ) )
6143, 15zmulcld 10212 . . . . . . . . . . . . . 14  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( ( 2 ^ m )  x.  -u ( |_ `  ( N  / 
( 2 ^ m
) ) ) )  e.  ZZ )
62 zlem1lt 10158 . . . . . . . . . . . . . 14  |-  ( (
-u N  e.  ZZ  /\  ( ( 2 ^ m )  x.  -u ( |_ `  ( N  / 
( 2 ^ m
) ) ) )  e.  ZZ )  -> 
( -u N  <_  (
( 2 ^ m
)  x.  -u ( |_ `  ( N  / 
( 2 ^ m
) ) ) )  <-> 
( -u N  -  1 )  <  ( ( 2 ^ m )  x.  -u ( |_ `  ( N  /  (
2 ^ m ) ) ) ) ) )
6346, 61, 62syl2anc 642 . . . . . . . . . . . . 13  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( -u N  <_  (
( 2 ^ m
)  x.  -u ( |_ `  ( N  / 
( 2 ^ m
) ) ) )  <-> 
( -u N  -  1 )  <  ( ( 2 ^ m )  x.  -u ( |_ `  ( N  /  (
2 ^ m ) ) ) ) ) )
6460, 63mpbid 201 . . . . . . . . . . . 12  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( -u N  -  1 )  <  ( ( 2 ^ m )  x.  -u ( |_ `  ( N  /  (
2 ^ m ) ) ) ) )
6550, 58, 40ltdivmuld 10526 . . . . . . . . . . . 12  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( ( ( -u N  -  1 )  /  ( 2 ^ m ) )  <  -u ( |_ `  ( N  /  ( 2 ^ m ) ) )  <-> 
( -u N  -  1 )  <  ( ( 2 ^ m )  x.  -u ( |_ `  ( N  /  (
2 ^ m ) ) ) ) ) )
6664, 65mpbird 223 . . . . . . . . . . 11  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( ( -u N  -  1 )  / 
( 2 ^ m
) )  <  -u ( |_ `  ( N  / 
( 2 ^ m
) ) ) )
6719negcld 9231 . . . . . . . . . . . 12  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  ->  -u ( |_ `  ( N  /  ( 2 ^ m ) ) )  e.  CC )
6867, 22npcand 9248 . . . . . . . . . . 11  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( ( -u ( |_ `  ( N  / 
( 2 ^ m
) ) )  - 
1 )  +  1 )  =  -u ( |_ `  ( N  / 
( 2 ^ m
) ) ) )
6966, 68breqtrrd 4128 . . . . . . . . . 10  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( ( -u N  -  1 )  / 
( 2 ^ m
) )  <  (
( -u ( |_ `  ( N  /  (
2 ^ m ) ) )  -  1 )  +  1 ) )
7050, 9nndivred 9881 . . . . . . . . . . 11  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( ( -u N  -  1 )  / 
( 2 ^ m
) )  e.  RR )
71 flbi 11035 . . . . . . . . . . 11  |-  ( ( ( ( -u N  -  1 )  / 
( 2 ^ m
) )  e.  RR  /\  ( -u ( |_
`  ( N  / 
( 2 ^ m
) ) )  - 
1 )  e.  ZZ )  ->  ( ( |_
`  ( ( -u N  -  1 )  /  ( 2 ^ m ) ) )  =  ( -u ( |_ `  ( N  / 
( 2 ^ m
) ) )  - 
1 )  <->  ( ( -u ( |_ `  ( N  /  ( 2 ^ m ) ) )  -  1 )  <_ 
( ( -u N  -  1 )  / 
( 2 ^ m
) )  /\  (
( -u N  -  1 )  /  ( 2 ^ m ) )  <  ( ( -u ( |_ `  ( N  /  ( 2 ^ m ) ) )  -  1 )  +  1 ) ) ) )
7270, 37, 71syl2anc 642 . . . . . . . . . 10  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( ( |_ `  ( ( -u N  -  1 )  / 
( 2 ^ m
) ) )  =  ( -u ( |_
`  ( N  / 
( 2 ^ m
) ) )  - 
1 )  <->  ( ( -u ( |_ `  ( N  /  ( 2 ^ m ) ) )  -  1 )  <_ 
( ( -u N  -  1 )  / 
( 2 ^ m
) )  /\  (
( -u N  -  1 )  /  ( 2 ^ m ) )  <  ( ( -u ( |_ `  ( N  /  ( 2 ^ m ) ) )  -  1 )  +  1 ) ) ) )
7352, 69, 72mpbir2and 888 . . . . . . . . 9  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( |_ `  (
( -u N  -  1 )  /  ( 2 ^ m ) ) )  =  ( -u ( |_ `  ( N  /  ( 2 ^ m ) ) )  -  1 ) )
7473breq2d 4114 . . . . . . . 8  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( 2  ||  ( |_ `  ( ( -u N  -  1 )  /  ( 2 ^ m ) ) )  <->  2  ||  ( -u ( |_ `  ( N  /  ( 2 ^ m ) ) )  -  1 ) ) )
7517, 74bitr4d 247 . . . . . . 7  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( -.  2  ||  -u ( |_ `  ( N  /  ( 2 ^ m ) ) )  <->  2  ||  ( |_
`  ( ( -u N  -  1 )  /  ( 2 ^ m ) ) ) ) )
761, 14, 753bitrd 270 . . . . . 6  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( m  e.  (bits `  N )  <->  2  ||  ( |_ `  ( (
-u N  -  1 )  /  ( 2 ^ m ) ) ) ) )
7776notbid 285 . . . . 5  |-  ( ( N  e.  ZZ  /\  m  e.  NN0 )  -> 
( -.  m  e.  (bits `  N )  <->  -.  2  ||  ( |_
`  ( ( -u N  -  1 )  /  ( 2 ^ m ) ) ) ) )
7877pm5.32da 622 . . . 4  |-  ( N  e.  ZZ  ->  (
( m  e.  NN0  /\ 
-.  m  e.  (bits `  N ) )  <->  ( m  e.  NN0  /\  -.  2  ||  ( |_ `  (
( -u N  -  1 )  /  ( 2 ^ m ) ) ) ) ) )
7935a1i 10 . . . . . 6  |-  ( N  e.  ZZ  ->  1  e.  ZZ )
8045, 79zsubcld 10211 . . . . 5  |-  ( N  e.  ZZ  ->  ( -u N  -  1 )  e.  ZZ )
8180biantrurd 494 . . . 4  |-  ( N  e.  ZZ  ->  (
( m  e.  NN0  /\ 
-.  2  ||  ( |_ `  ( ( -u N  -  1 )  /  ( 2 ^ m ) ) ) )  <->  ( ( -u N  -  1 )  e.  ZZ  /\  (
m  e.  NN0  /\  -.  2  ||  ( |_
`  ( ( -u N  -  1 )  /  ( 2 ^ m ) ) ) ) ) ) )
8278, 81bitrd 244 . . 3  |-  ( N  e.  ZZ  ->  (
( m  e.  NN0  /\ 
-.  m  e.  (bits `  N ) )  <->  ( ( -u N  -  1 )  e.  ZZ  /\  (
m  e.  NN0  /\  -.  2  ||  ( |_
`  ( ( -u N  -  1 )  /  ( 2 ^ m ) ) ) ) ) ) )
83 eldif 3238 . . 3  |-  ( m  e.  ( NN0  \  (bits `  N ) )  <->  ( m  e.  NN0  /\  -.  m  e.  (bits `  N )
) )
84 bitsval 12706 . . . 4  |-  ( m  e.  (bits `  ( -u N  -  1 ) )  <->  ( ( -u N  -  1 )  e.  ZZ  /\  m  e.  NN0  /\  -.  2  ||  ( |_ `  (
( -u N  -  1 )  /  ( 2 ^ m ) ) ) ) )
85 3anass 938 . . . 4  |-  ( ( ( -u N  - 
1 )  e.  ZZ  /\  m  e.  NN0  /\  -.  2  ||  ( |_
`  ( ( -u N  -  1 )  /  ( 2 ^ m ) ) ) )  <->  ( ( -u N  -  1 )  e.  ZZ  /\  (
m  e.  NN0  /\  -.  2  ||  ( |_
`  ( ( -u N  -  1 )  /  ( 2 ^ m ) ) ) ) ) )
8684, 85bitri 240 . . 3  |-  ( m  e.  (bits `  ( -u N  -  1 ) )  <->  ( ( -u N  -  1 )  e.  ZZ  /\  (
m  e.  NN0  /\  -.  2  ||  ( |_
`  ( ( -u N  -  1 )  /  ( 2 ^ m ) ) ) ) ) )
8782, 83, 863bitr4g 279 . 2  |-  ( N  e.  ZZ  ->  (
m  e.  ( NN0  \  (bits `  N )
)  <->  m  e.  (bits `  ( -u N  - 
1 ) ) ) )
8887eqrdv 2356 1  |-  ( N  e.  ZZ  ->  ( NN0  \  (bits `  N
) )  =  (bits `  ( -u N  - 
1 ) ) )
Colors of variables: wff set class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 176    /\ wa 358    /\ w3a 934    = wceq 1642    e. wcel 1710    \ cdif 3225   class class class wbr 4102   ` cfv 5334  (class class class)co 5942   RRcr 8823   1c1 8825    + caddc 8827    x. cmul 8829    < clt 8954    <_ cle 8955    - cmin 9124   -ucneg 9125    / cdiv 9510   NNcn 9833   2c2 9882   NN0cn0 10054   ZZcz 10113   |_cfl 11013   ^cexp 11194    || cdivides 12622  bitscbits 12701
This theorem is referenced by:  m1bits  12722  bitsf1  12728
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1546  ax-5 1557  ax-17 1616  ax-9 1654  ax-8 1675  ax-13 1712  ax-14 1714  ax-6 1729  ax-7 1734  ax-11 1746  ax-12 1930  ax-ext 2339  ax-sep 4220  ax-nul 4228  ax-pow 4267  ax-pr 4293  ax-un 4591  ax-cnex 8880  ax-resscn 8881  ax-1cn 8882  ax-icn 8883  ax-addcl 8884  ax-addrcl 8885  ax-mulcl 8886  ax-mulrcl 8887  ax-mulcom 8888  ax-addass 8889  ax-mulass 8890  ax-distr 8891  ax-i2m1 8892  ax-1ne0 8893  ax-1rid 8894  ax-rnegex 8895  ax-rrecex 8896  ax-cnre 8897  ax-pre-lttri 8898  ax-pre-lttrn 8899  ax-pre-ltadd 8900  ax-pre-mulgt0 8901  ax-pre-sup 8902
This theorem depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3or 935  df-3an 936  df-tru 1319  df-ex 1542  df-nf 1545  df-sb 1649  df-eu 2213  df-mo 2214  df-clab 2345  df-cleq 2351  df-clel 2354  df-nfc 2483  df-ne 2523  df-nel 2524  df-ral 2624  df-rex 2625  df-reu 2626  df-rmo 2627  df-rab 2628  df-v 2866  df-sbc 3068  df-csb 3158  df-dif 3231  df-un 3233  df-in 3235  df-ss 3242  df-pss 3244  df-nul 3532  df-if 3642  df-pw 3703  df-sn 3722  df-pr 3723  df-tp 3724  df-op 3725  df-uni 3907  df-iun 3986  df-br 4103  df-opab 4157  df-mpt 4158  df-tr 4193  df-eprel 4384  df-id 4388  df-po 4393  df-so 4394  df-fr 4431  df-we 4433  df-ord 4474  df-on 4475  df-lim 4476  df-suc 4477  df-om 4736  df-xp 4774  df-rel 4775  df-cnv 4776  df-co 4777  df-dm 4778  df-rn 4779  df-res 4780  df-ima 4781  df-iota 5298  df-fun 5336  df-fn 5337  df-f 5338  df-f1 5339  df-fo 5340  df-f1o 5341  df-fv 5342  df-ov 5945  df-oprab 5946  df-mpt2 5947  df-2nd 6207  df-riota 6388  df-recs 6472  df-rdg 6507  df-er 6744  df-en 6949  df-dom 6950  df-sdom 6951  df-sup 7281  df-pnf 8956  df-mnf 8957  df-xr 8958  df-ltxr 8959  df-le 8960  df-sub 9126  df-neg 9127  df-div 9511  df-nn 9834  df-2 9891  df-n0 10055  df-z 10114  df-uz 10320  df-rp 10444  df-fl 11014  df-seq 11136  df-exp 11195  df-dvds 12623  df-bits 12704
  Copyright terms: Public domain W3C validator