Step |
Hyp |
Ref |
Expression |
1 |
|
bitsval |
|- ( m e. ( bits ` N ) <-> ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) |
2 |
|
simp32 |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> m e. NN0 ) |
3 |
|
nn0uz |
|- NN0 = ( ZZ>= ` 0 ) |
4 |
2 3
|
eleqtrdi |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> m e. ( ZZ>= ` 0 ) ) |
5 |
|
simp1r |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> M e. NN0 ) |
6 |
5
|
nn0zd |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> M e. ZZ ) |
7 |
|
2re |
|- 2 e. RR |
8 |
7
|
a1i |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> 2 e. RR ) |
9 |
8 2
|
reexpcld |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> ( 2 ^ m ) e. RR ) |
10 |
|
simp1l |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> N e. ZZ ) |
11 |
10
|
zred |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> N e. RR ) |
12 |
8 5
|
reexpcld |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> ( 2 ^ M ) e. RR ) |
13 |
9
|
recnd |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> ( 2 ^ m ) e. CC ) |
14 |
13
|
mulid2d |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> ( 1 x. ( 2 ^ m ) ) = ( 2 ^ m ) ) |
15 |
|
simp33 |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) |
16 |
|
2rp |
|- 2 e. RR+ |
17 |
16
|
a1i |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> 2 e. RR+ ) |
18 |
2
|
nn0zd |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> m e. ZZ ) |
19 |
17 18
|
rpexpcld |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> ( 2 ^ m ) e. RR+ ) |
20 |
11 19
|
rerpdivcld |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> ( N / ( 2 ^ m ) ) e. RR ) |
21 |
|
1red |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> 1 e. RR ) |
22 |
20 21
|
ltnled |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> ( ( N / ( 2 ^ m ) ) < 1 <-> -. 1 <_ ( N / ( 2 ^ m ) ) ) ) |
23 |
|
0p1e1 |
|- ( 0 + 1 ) = 1 |
24 |
23
|
breq2i |
|- ( ( N / ( 2 ^ m ) ) < ( 0 + 1 ) <-> ( N / ( 2 ^ m ) ) < 1 ) |
25 |
|
elfzole1 |
|- ( N e. ( 0 ..^ ( 2 ^ M ) ) -> 0 <_ N ) |
26 |
25
|
3ad2ant2 |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> 0 <_ N ) |
27 |
11 19 26
|
divge0d |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> 0 <_ ( N / ( 2 ^ m ) ) ) |
28 |
|
0z |
|- 0 e. ZZ |
29 |
|
flbi |
|- ( ( ( N / ( 2 ^ m ) ) e. RR /\ 0 e. ZZ ) -> ( ( |_ ` ( N / ( 2 ^ m ) ) ) = 0 <-> ( 0 <_ ( N / ( 2 ^ m ) ) /\ ( N / ( 2 ^ m ) ) < ( 0 + 1 ) ) ) ) |
30 |
20 28 29
|
sylancl |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> ( ( |_ ` ( N / ( 2 ^ m ) ) ) = 0 <-> ( 0 <_ ( N / ( 2 ^ m ) ) /\ ( N / ( 2 ^ m ) ) < ( 0 + 1 ) ) ) ) |
31 |
|
z0even |
|- 2 || 0 |
32 |
|
id |
|- ( ( |_ ` ( N / ( 2 ^ m ) ) ) = 0 -> ( |_ ` ( N / ( 2 ^ m ) ) ) = 0 ) |
33 |
31 32
|
breqtrrid |
|- ( ( |_ ` ( N / ( 2 ^ m ) ) ) = 0 -> 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) |
34 |
30 33
|
syl6bir |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> ( ( 0 <_ ( N / ( 2 ^ m ) ) /\ ( N / ( 2 ^ m ) ) < ( 0 + 1 ) ) -> 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) |
35 |
27 34
|
mpand |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> ( ( N / ( 2 ^ m ) ) < ( 0 + 1 ) -> 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) |
36 |
24 35
|
syl5bir |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> ( ( N / ( 2 ^ m ) ) < 1 -> 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) |
37 |
22 36
|
sylbird |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> ( -. 1 <_ ( N / ( 2 ^ m ) ) -> 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) |
38 |
15 37
|
mt3d |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> 1 <_ ( N / ( 2 ^ m ) ) ) |
39 |
21 11 19
|
lemuldivd |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> ( ( 1 x. ( 2 ^ m ) ) <_ N <-> 1 <_ ( N / ( 2 ^ m ) ) ) ) |
40 |
38 39
|
mpbird |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> ( 1 x. ( 2 ^ m ) ) <_ N ) |
41 |
14 40
|
eqbrtrrd |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> ( 2 ^ m ) <_ N ) |
42 |
|
elfzolt2 |
|- ( N e. ( 0 ..^ ( 2 ^ M ) ) -> N < ( 2 ^ M ) ) |
43 |
42
|
3ad2ant2 |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> N < ( 2 ^ M ) ) |
44 |
9 11 12 41 43
|
lelttrd |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> ( 2 ^ m ) < ( 2 ^ M ) ) |
45 |
|
1lt2 |
|- 1 < 2 |
46 |
45
|
a1i |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> 1 < 2 ) |
47 |
8 18 6 46
|
ltexp2d |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> ( m < M <-> ( 2 ^ m ) < ( 2 ^ M ) ) ) |
48 |
44 47
|
mpbird |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> m < M ) |
49 |
|
elfzo2 |
|- ( m e. ( 0 ..^ M ) <-> ( m e. ( ZZ>= ` 0 ) /\ M e. ZZ /\ m < M ) ) |
50 |
4 6 48 49
|
syl3anbrc |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) /\ ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) ) -> m e. ( 0 ..^ M ) ) |
51 |
50
|
3expia |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) ) -> ( ( N e. ZZ /\ m e. NN0 /\ -. 2 || ( |_ ` ( N / ( 2 ^ m ) ) ) ) -> m e. ( 0 ..^ M ) ) ) |
52 |
1 51
|
syl5bi |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) ) -> ( m e. ( bits ` N ) -> m e. ( 0 ..^ M ) ) ) |
53 |
52
|
ssrdv |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ N e. ( 0 ..^ ( 2 ^ M ) ) ) -> ( bits ` N ) C_ ( 0 ..^ M ) ) |
54 |
|
simpr |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> -u N e. NN ) |
55 |
54
|
nnred |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> -u N e. RR ) |
56 |
|
simpllr |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> M e. NN0 ) |
57 |
56
|
nn0red |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> M e. RR ) |
58 |
|
max2 |
|- ( ( -u N e. RR /\ M e. RR ) -> M <_ if ( -u N <_ M , M , -u N ) ) |
59 |
55 57 58
|
syl2anc |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> M <_ if ( -u N <_ M , M , -u N ) ) |
60 |
|
simplr |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> ( bits ` N ) C_ ( 0 ..^ M ) ) |
61 |
|
n2dvdsm1 |
|- -. 2 || -u 1 |
62 |
|
simplll |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> N e. ZZ ) |
63 |
62
|
zred |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> N e. RR ) |
64 |
|
2nn |
|- 2 e. NN |
65 |
64
|
a1i |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> 2 e. NN ) |
66 |
54
|
nnnn0d |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> -u N e. NN0 ) |
67 |
56 66
|
ifcld |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> if ( -u N <_ M , M , -u N ) e. NN0 ) |
68 |
65 67
|
nnexpcld |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> ( 2 ^ if ( -u N <_ M , M , -u N ) ) e. NN ) |
69 |
63 68
|
nndivred |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> ( N / ( 2 ^ if ( -u N <_ M , M , -u N ) ) ) e. RR ) |
70 |
|
1red |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> 1 e. RR ) |
71 |
62
|
zcnd |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> N e. CC ) |
72 |
68
|
nncnd |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> ( 2 ^ if ( -u N <_ M , M , -u N ) ) e. CC ) |
73 |
|
2cnd |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> 2 e. CC ) |
74 |
|
2ne0 |
|- 2 =/= 0 |
75 |
74
|
a1i |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> 2 =/= 0 ) |
76 |
67
|
nn0zd |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> if ( -u N <_ M , M , -u N ) e. ZZ ) |
77 |
73 75 76
|
expne0d |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> ( 2 ^ if ( -u N <_ M , M , -u N ) ) =/= 0 ) |
78 |
71 72 77
|
divnegd |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> -u ( N / ( 2 ^ if ( -u N <_ M , M , -u N ) ) ) = ( -u N / ( 2 ^ if ( -u N <_ M , M , -u N ) ) ) ) |
79 |
67
|
nn0red |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> if ( -u N <_ M , M , -u N ) e. RR ) |
80 |
68
|
nnred |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> ( 2 ^ if ( -u N <_ M , M , -u N ) ) e. RR ) |
81 |
|
max1 |
|- ( ( -u N e. RR /\ M e. RR ) -> -u N <_ if ( -u N <_ M , M , -u N ) ) |
82 |
55 57 81
|
syl2anc |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> -u N <_ if ( -u N <_ M , M , -u N ) ) |
83 |
|
2z |
|- 2 e. ZZ |
84 |
|
uzid |
|- ( 2 e. ZZ -> 2 e. ( ZZ>= ` 2 ) ) |
85 |
83 84
|
ax-mp |
|- 2 e. ( ZZ>= ` 2 ) |
86 |
|
bernneq3 |
|- ( ( 2 e. ( ZZ>= ` 2 ) /\ if ( -u N <_ M , M , -u N ) e. NN0 ) -> if ( -u N <_ M , M , -u N ) < ( 2 ^ if ( -u N <_ M , M , -u N ) ) ) |
87 |
85 67 86
|
sylancr |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> if ( -u N <_ M , M , -u N ) < ( 2 ^ if ( -u N <_ M , M , -u N ) ) ) |
88 |
79 80 87
|
ltled |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> if ( -u N <_ M , M , -u N ) <_ ( 2 ^ if ( -u N <_ M , M , -u N ) ) ) |
89 |
55 79 80 82 88
|
letrd |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> -u N <_ ( 2 ^ if ( -u N <_ M , M , -u N ) ) ) |
90 |
72
|
mulid1d |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> ( ( 2 ^ if ( -u N <_ M , M , -u N ) ) x. 1 ) = ( 2 ^ if ( -u N <_ M , M , -u N ) ) ) |
91 |
89 90
|
breqtrrd |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> -u N <_ ( ( 2 ^ if ( -u N <_ M , M , -u N ) ) x. 1 ) ) |
92 |
68
|
nnrpd |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> ( 2 ^ if ( -u N <_ M , M , -u N ) ) e. RR+ ) |
93 |
55 70 92
|
ledivmuld |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> ( ( -u N / ( 2 ^ if ( -u N <_ M , M , -u N ) ) ) <_ 1 <-> -u N <_ ( ( 2 ^ if ( -u N <_ M , M , -u N ) ) x. 1 ) ) ) |
94 |
91 93
|
mpbird |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> ( -u N / ( 2 ^ if ( -u N <_ M , M , -u N ) ) ) <_ 1 ) |
95 |
78 94
|
eqbrtrd |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> -u ( N / ( 2 ^ if ( -u N <_ M , M , -u N ) ) ) <_ 1 ) |
96 |
69 70 95
|
lenegcon1d |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> -u 1 <_ ( N / ( 2 ^ if ( -u N <_ M , M , -u N ) ) ) ) |
97 |
54
|
nngt0d |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> 0 < -u N ) |
98 |
68
|
nngt0d |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> 0 < ( 2 ^ if ( -u N <_ M , M , -u N ) ) ) |
99 |
55 80 97 98
|
divgt0d |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> 0 < ( -u N / ( 2 ^ if ( -u N <_ M , M , -u N ) ) ) ) |
100 |
99 78
|
breqtrrd |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> 0 < -u ( N / ( 2 ^ if ( -u N <_ M , M , -u N ) ) ) ) |
101 |
69
|
lt0neg1d |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> ( ( N / ( 2 ^ if ( -u N <_ M , M , -u N ) ) ) < 0 <-> 0 < -u ( N / ( 2 ^ if ( -u N <_ M , M , -u N ) ) ) ) ) |
102 |
100 101
|
mpbird |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> ( N / ( 2 ^ if ( -u N <_ M , M , -u N ) ) ) < 0 ) |
103 |
|
ax-1cn |
|- 1 e. CC |
104 |
|
neg1cn |
|- -u 1 e. CC |
105 |
|
1pneg1e0 |
|- ( 1 + -u 1 ) = 0 |
106 |
103 104 105
|
addcomli |
|- ( -u 1 + 1 ) = 0 |
107 |
102 106
|
breqtrrdi |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> ( N / ( 2 ^ if ( -u N <_ M , M , -u N ) ) ) < ( -u 1 + 1 ) ) |
108 |
|
neg1z |
|- -u 1 e. ZZ |
109 |
|
flbi |
|- ( ( ( N / ( 2 ^ if ( -u N <_ M , M , -u N ) ) ) e. RR /\ -u 1 e. ZZ ) -> ( ( |_ ` ( N / ( 2 ^ if ( -u N <_ M , M , -u N ) ) ) ) = -u 1 <-> ( -u 1 <_ ( N / ( 2 ^ if ( -u N <_ M , M , -u N ) ) ) /\ ( N / ( 2 ^ if ( -u N <_ M , M , -u N ) ) ) < ( -u 1 + 1 ) ) ) ) |
110 |
69 108 109
|
sylancl |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> ( ( |_ ` ( N / ( 2 ^ if ( -u N <_ M , M , -u N ) ) ) ) = -u 1 <-> ( -u 1 <_ ( N / ( 2 ^ if ( -u N <_ M , M , -u N ) ) ) /\ ( N / ( 2 ^ if ( -u N <_ M , M , -u N ) ) ) < ( -u 1 + 1 ) ) ) ) |
111 |
96 107 110
|
mpbir2and |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> ( |_ ` ( N / ( 2 ^ if ( -u N <_ M , M , -u N ) ) ) ) = -u 1 ) |
112 |
111
|
breq2d |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> ( 2 || ( |_ ` ( N / ( 2 ^ if ( -u N <_ M , M , -u N ) ) ) ) <-> 2 || -u 1 ) ) |
113 |
61 112
|
mtbiri |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> -. 2 || ( |_ ` ( N / ( 2 ^ if ( -u N <_ M , M , -u N ) ) ) ) ) |
114 |
|
bitsval2 |
|- ( ( N e. ZZ /\ if ( -u N <_ M , M , -u N ) e. NN0 ) -> ( if ( -u N <_ M , M , -u N ) e. ( bits ` N ) <-> -. 2 || ( |_ ` ( N / ( 2 ^ if ( -u N <_ M , M , -u N ) ) ) ) ) ) |
115 |
62 67 114
|
syl2anc |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> ( if ( -u N <_ M , M , -u N ) e. ( bits ` N ) <-> -. 2 || ( |_ ` ( N / ( 2 ^ if ( -u N <_ M , M , -u N ) ) ) ) ) ) |
116 |
113 115
|
mpbird |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> if ( -u N <_ M , M , -u N ) e. ( bits ` N ) ) |
117 |
60 116
|
sseldd |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> if ( -u N <_ M , M , -u N ) e. ( 0 ..^ M ) ) |
118 |
|
elfzolt2 |
|- ( if ( -u N <_ M , M , -u N ) e. ( 0 ..^ M ) -> if ( -u N <_ M , M , -u N ) < M ) |
119 |
117 118
|
syl |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> if ( -u N <_ M , M , -u N ) < M ) |
120 |
79 57
|
ltnled |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> ( if ( -u N <_ M , M , -u N ) < M <-> -. M <_ if ( -u N <_ M , M , -u N ) ) ) |
121 |
119 120
|
mpbid |
|- ( ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) /\ -u N e. NN ) -> -. M <_ if ( -u N <_ M , M , -u N ) ) |
122 |
59 121
|
pm2.65da |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) -> -. -u N e. NN ) |
123 |
122
|
intnand |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) -> -. ( N e. RR /\ -u N e. NN ) ) |
124 |
|
simpll |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) -> N e. ZZ ) |
125 |
|
elznn0nn |
|- ( N e. ZZ <-> ( N e. NN0 \/ ( N e. RR /\ -u N e. NN ) ) ) |
126 |
124 125
|
sylib |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) -> ( N e. NN0 \/ ( N e. RR /\ -u N e. NN ) ) ) |
127 |
126
|
ord |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) -> ( -. N e. NN0 -> ( N e. RR /\ -u N e. NN ) ) ) |
128 |
123 127
|
mt3d |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) -> N e. NN0 ) |
129 |
|
simplr |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) -> M e. NN0 ) |
130 |
|
simpr |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) -> ( bits ` N ) C_ ( 0 ..^ M ) ) |
131 |
|
eqid |
|- inf ( { n e. NN0 | N < ( 2 ^ n ) } , RR , < ) = inf ( { n e. NN0 | N < ( 2 ^ n ) } , RR , < ) |
132 |
128 129 130 131
|
bitsfzolem |
|- ( ( ( N e. ZZ /\ M e. NN0 ) /\ ( bits ` N ) C_ ( 0 ..^ M ) ) -> N e. ( 0 ..^ ( 2 ^ M ) ) ) |
133 |
53 132
|
impbida |
|- ( ( N e. ZZ /\ M e. NN0 ) -> ( N e. ( 0 ..^ ( 2 ^ M ) ) <-> ( bits ` N ) C_ ( 0 ..^ M ) ) ) |