Description: Shifting a bit sequence to the left (toward the more significant bits) causes the number to be multiplied by a power of two. (Contributed by Mario Carneiro, 22-Sep-2016)
Ref | Expression | ||
---|---|---|---|
Assertion | bitsshft | |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | simpll | |
|
2 | 2nn | |
|
3 | 2 | a1i | |
4 | simplr | |
|
5 | 3 4 | nnexpcld | |
6 | 5 | nnzd | |
7 | dvdsmul2 | |
|
8 | 1 6 7 | syl2anc | |
9 | 1 6 | zmulcld | |
10 | bitsuz | |
|
11 | 9 4 10 | syl2anc | |
12 | 8 11 | mpbid | |
13 | 12 | sseld | |
14 | uznn0sub | |
|
15 | 13 14 | syl6 | |
16 | bitsss | |
|
17 | 16 | a1i | |
18 | 17 | sseld | |
19 | 2cnd | |
|
20 | 2 | a1i | |
21 | 20 | nnne0d | |
22 | simplr | |
|
23 | 22 | nn0zd | |
24 | simprl | |
|
25 | 24 | nn0zd | |
26 | 19 21 23 25 | expsubd | |
27 | 26 | oveq2d | |
28 | simpl | |
|
29 | 28 | zcnd | |
30 | 29 | adantr | |
31 | 20 24 | nnexpcld | |
32 | 31 | nncnd | |
33 | 20 22 | nnexpcld | |
34 | 33 | nncnd | |
35 | 31 | nnne0d | |
36 | 33 | nnne0d | |
37 | 30 32 34 35 36 | divdiv2d | |
38 | 27 37 | eqtr2d | |
39 | 38 | fveq2d | |
40 | 39 | breq2d | |
41 | 40 | notbid | |
42 | 9 | adantrr | |
43 | bitsval2 | |
|
44 | 42 24 43 | syl2anc | |
45 | bitsval2 | |
|
46 | 45 | ad2ant2rl | |
47 | 41 44 46 | 3bitr4d | |
48 | 47 | expr | |
49 | 15 18 48 | pm5.21ndd | |
50 | 49 | rabbi2dva | |
51 | bitsss | |
|
52 | sseqin2 | |
|
53 | 51 52 | mpbi | |
54 | 50 53 | eqtr3di | |