Metamath Proof Explorer


Theorem bitsfzo

Description: The bits of a number are all less than M iff the number is nonnegative and less than 2 ^ M . (Contributed by Mario Carneiro, 5-Sep-2016) (Proof shortened by AV, 1-Oct-2020)

Ref Expression
Assertion bitsfzo NM0N0..^2MbitsN0..^M

Proof

Step Hyp Ref Expression
1 bitsval mbitsNNm0¬2N2m
2 simp32 NM0N0..^2MNm0¬2N2mm0
3 nn0uz 0=0
4 2 3 eleqtrdi NM0N0..^2MNm0¬2N2mm0
5 simp1r NM0N0..^2MNm0¬2N2mM0
6 5 nn0zd NM0N0..^2MNm0¬2N2mM
7 2re 2
8 7 a1i NM0N0..^2MNm0¬2N2m2
9 8 2 reexpcld NM0N0..^2MNm0¬2N2m2m
10 simp1l NM0N0..^2MNm0¬2N2mN
11 10 zred NM0N0..^2MNm0¬2N2mN
12 8 5 reexpcld NM0N0..^2MNm0¬2N2m2M
13 9 recnd NM0N0..^2MNm0¬2N2m2m
14 13 mullidd NM0N0..^2MNm0¬2N2m12m=2m
15 simp33 NM0N0..^2MNm0¬2N2m¬2N2m
16 2rp 2+
17 16 a1i NM0N0..^2MNm0¬2N2m2+
18 2 nn0zd NM0N0..^2MNm0¬2N2mm
19 17 18 rpexpcld NM0N0..^2MNm0¬2N2m2m+
20 11 19 rerpdivcld NM0N0..^2MNm0¬2N2mN2m
21 1red NM0N0..^2MNm0¬2N2m1
22 20 21 ltnled NM0N0..^2MNm0¬2N2mN2m<1¬1N2m
23 0p1e1 0+1=1
24 23 breq2i N2m<0+1N2m<1
25 elfzole1 N0..^2M0N
26 25 3ad2ant2 NM0N0..^2MNm0¬2N2m0N
27 11 19 26 divge0d NM0N0..^2MNm0¬2N2m0N2m
28 0z 0
29 flbi N2m0N2m=00N2mN2m<0+1
30 20 28 29 sylancl NM0N0..^2MNm0¬2N2mN2m=00N2mN2m<0+1
31 z0even 20
32 id N2m=0N2m=0
33 31 32 breqtrrid N2m=02N2m
34 30 33 syl6bir NM0N0..^2MNm0¬2N2m0N2mN2m<0+12N2m
35 27 34 mpand NM0N0..^2MNm0¬2N2mN2m<0+12N2m
36 24 35 biimtrrid NM0N0..^2MNm0¬2N2mN2m<12N2m
37 22 36 sylbird NM0N0..^2MNm0¬2N2m¬1N2m2N2m
38 15 37 mt3d NM0N0..^2MNm0¬2N2m1N2m
39 21 11 19 lemuldivd NM0N0..^2MNm0¬2N2m12mN1N2m
40 38 39 mpbird NM0N0..^2MNm0¬2N2m12mN
41 14 40 eqbrtrrd NM0N0..^2MNm0¬2N2m2mN
42 elfzolt2 N0..^2MN<2M
43 42 3ad2ant2 NM0N0..^2MNm0¬2N2mN<2M
44 9 11 12 41 43 lelttrd NM0N0..^2MNm0¬2N2m2m<2M
45 1lt2 1<2
46 45 a1i NM0N0..^2MNm0¬2N2m1<2
47 8 18 6 46 ltexp2d NM0N0..^2MNm0¬2N2mm<M2m<2M
48 44 47 mpbird NM0N0..^2MNm0¬2N2mm<M
49 elfzo2 m0..^Mm0Mm<M
50 4 6 48 49 syl3anbrc NM0N0..^2MNm0¬2N2mm0..^M
51 50 3expia NM0N0..^2MNm0¬2N2mm0..^M
52 1 51 biimtrid NM0N0..^2MmbitsNm0..^M
53 52 ssrdv NM0N0..^2MbitsN0..^M
54 simpr NM0bitsN0..^MNN
55 54 nnred NM0bitsN0..^MNN
56 simpllr NM0bitsN0..^MNM0
57 56 nn0red NM0bitsN0..^MNM
58 max2 NMMifNMMN
59 55 57 58 syl2anc NM0bitsN0..^MNMifNMMN
60 simplr NM0bitsN0..^MNbitsN0..^M
61 n2dvdsm1 ¬2-1
62 simplll NM0bitsN0..^MNN
63 62 zred NM0bitsN0..^MNN
64 2nn 2
65 64 a1i NM0bitsN0..^MN2
66 54 nnnn0d NM0bitsN0..^MNN0
67 56 66 ifcld NM0bitsN0..^MNifNMMN0
68 65 67 nnexpcld NM0bitsN0..^MN2ifNMMN
69 63 68 nndivred NM0bitsN0..^MNN2ifNMMN
70 1red NM0bitsN0..^MN1
71 62 zcnd NM0bitsN0..^MNN
72 68 nncnd NM0bitsN0..^MN2ifNMMN
73 2cnd NM0bitsN0..^MN2
74 2ne0 20
75 74 a1i NM0bitsN0..^MN20
76 67 nn0zd NM0bitsN0..^MNifNMMN
77 73 75 76 expne0d NM0bitsN0..^MN2ifNMMN0
78 71 72 77 divnegd NM0bitsN0..^MNN2ifNMMN=N2ifNMMN
79 67 nn0red NM0bitsN0..^MNifNMMN
80 68 nnred NM0bitsN0..^MN2ifNMMN
81 max1 NMNifNMMN
82 55 57 81 syl2anc NM0bitsN0..^MNNifNMMN
83 2z 2
84 uzid 222
85 83 84 ax-mp 22
86 bernneq3 22ifNMMN0ifNMMN<2ifNMMN
87 85 67 86 sylancr NM0bitsN0..^MNifNMMN<2ifNMMN
88 79 80 87 ltled NM0bitsN0..^MNifNMMN2ifNMMN
89 55 79 80 82 88 letrd NM0bitsN0..^MNN2ifNMMN
90 72 mulridd NM0bitsN0..^MN2ifNMMN1=2ifNMMN
91 89 90 breqtrrd NM0bitsN0..^MNN2ifNMMN1
92 68 nnrpd NM0bitsN0..^MN2ifNMMN+
93 55 70 92 ledivmuld NM0bitsN0..^MNN2ifNMMN1N2ifNMMN1
94 91 93 mpbird NM0bitsN0..^MNN2ifNMMN1
95 78 94 eqbrtrd NM0bitsN0..^MNN2ifNMMN1
96 69 70 95 lenegcon1d NM0bitsN0..^MN1N2ifNMMN
97 54 nngt0d NM0bitsN0..^MN0<N
98 68 nngt0d NM0bitsN0..^MN0<2ifNMMN
99 55 80 97 98 divgt0d NM0bitsN0..^MN0<N2ifNMMN
100 99 78 breqtrrd NM0bitsN0..^MN0<N2ifNMMN
101 69 lt0neg1d NM0bitsN0..^MNN2ifNMMN<00<N2ifNMMN
102 100 101 mpbird NM0bitsN0..^MNN2ifNMMN<0
103 ax-1cn 1
104 neg1cn 1
105 1pneg1e0 1+-1=0
106 103 104 105 addcomli -1+1=0
107 102 106 breqtrrdi NM0bitsN0..^MNN2ifNMMN<-1+1
108 neg1z 1
109 flbi N2ifNMMN1N2ifNMMN=11N2ifNMMNN2ifNMMN<-1+1
110 69 108 109 sylancl NM0bitsN0..^MNN2ifNMMN=11N2ifNMMNN2ifNMMN<-1+1
111 96 107 110 mpbir2and NM0bitsN0..^MNN2ifNMMN=1
112 111 breq2d NM0bitsN0..^MN2N2ifNMMN2-1
113 61 112 mtbiri NM0bitsN0..^MN¬2N2ifNMMN
114 bitsval2 NifNMMN0ifNMMNbitsN¬2N2ifNMMN
115 62 67 114 syl2anc NM0bitsN0..^MNifNMMNbitsN¬2N2ifNMMN
116 113 115 mpbird NM0bitsN0..^MNifNMMNbitsN
117 60 116 sseldd NM0bitsN0..^MNifNMMN0..^M
118 elfzolt2 ifNMMN0..^MifNMMN<M
119 117 118 syl NM0bitsN0..^MNifNMMN<M
120 79 57 ltnled NM0bitsN0..^MNifNMMN<M¬MifNMMN
121 119 120 mpbid NM0bitsN0..^MN¬MifNMMN
122 59 121 pm2.65da NM0bitsN0..^M¬N
123 122 intnand NM0bitsN0..^M¬NN
124 simpll NM0bitsN0..^MN
125 elznn0nn NN0NN
126 124 125 sylib NM0bitsN0..^MN0NN
127 126 ord NM0bitsN0..^M¬N0NN
128 123 127 mt3d NM0bitsN0..^MN0
129 simplr NM0bitsN0..^MM0
130 simpr NM0bitsN0..^MbitsN0..^M
131 eqid supn0|N<2n<=supn0|N<2n<
132 128 129 130 131 bitsfzolem NM0bitsN0..^MN0..^2M
133 53 132 impbida NM0N0..^2MbitsN0..^M