Metamath Proof Explorer


Theorem bitsuz

Description: The bits of a number are all at least N iff the number is divisible by 2 ^ N . (Contributed by Mario Carneiro, 21-Sep-2016)

Ref Expression
Assertion bitsuz AN02NAbitsAN

Proof

Step Hyp Ref Expression
1 bitsres AN0bitsAN=bitsA2N2N
2 1 eqeq1d AN0bitsAN=bitsAbitsA2N2N=bitsA
3 simpl AN0A
4 3 zred AN0A
5 2nn 2
6 5 a1i AN02
7 simpr AN0N0
8 6 7 nnexpcld AN02N
9 4 8 nndivred AN0A2N
10 9 flcld AN0A2N
11 8 nnzd AN02N
12 10 11 zmulcld AN0A2N2N
13 bitsf1 bits:1-1𝒫0
14 f1fveq bits:1-1𝒫0A2N2NAbitsA2N2N=bitsAA2N2N=A
15 13 14 mpan A2N2NAbitsA2N2N=bitsAA2N2N=A
16 12 3 15 syl2anc AN0bitsA2N2N=bitsAA2N2N=A
17 dvdsmul2 A2N2N2NA2N2N
18 10 11 17 syl2anc AN02NA2N2N
19 breq2 A2N2N=A2NA2N2N2NA
20 18 19 syl5ibcom AN0A2N2N=A2NA
21 8 nnne0d AN02N0
22 dvdsval2 2N2N0A2NAA2N
23 11 21 3 22 syl3anc AN02NAA2N
24 23 biimpa AN02NAA2N
25 flid A2NA2N=A2N
26 24 25 syl AN02NAA2N=A2N
27 26 oveq1d AN02NAA2N2N=A2N2N
28 3 zcnd AN0A
29 28 adantr AN02NAA
30 8 nncnd AN02N
31 30 adantr AN02NA2N
32 2cnd AN02NA2
33 2ne0 20
34 33 a1i AN02NA20
35 7 nn0zd AN0N
36 35 adantr AN02NAN
37 32 34 36 expne0d AN02NA2N0
38 29 31 37 divcan1d AN02NAA2N2N=A
39 27 38 eqtrd AN02NAA2N2N=A
40 39 ex AN02NAA2N2N=A
41 20 40 impbid AN0A2N2N=A2NA
42 2 16 41 3bitrrd AN02NAbitsAN=bitsA
43 df-ss bitsANbitsAN=bitsA
44 42 43 bitr4di AN02NAbitsAN