Step | Hyp | Ref
| Expression |
1 | | bitsfzo.1 |
. . 3
⊢ (𝜑 → 𝑁 ∈
ℕ0) |
2 | | nn0uz 12549 |
. . 3
⊢
ℕ0 = (ℤ≥‘0) |
3 | 1, 2 | eleqtrdi 2849 |
. 2
⊢ (𝜑 → 𝑁 ∈
(ℤ≥‘0)) |
4 | | 2nn 11976 |
. . . . 5
⊢ 2 ∈
ℕ |
5 | 4 | a1i 11 |
. . . 4
⊢ (𝜑 → 2 ∈
ℕ) |
6 | | bitsfzo.2 |
. . . 4
⊢ (𝜑 → 𝑀 ∈
ℕ0) |
7 | 5, 6 | nnexpcld 13888 |
. . 3
⊢ (𝜑 → (2↑𝑀) ∈ ℕ) |
8 | 7 | nnzd 12354 |
. 2
⊢ (𝜑 → (2↑𝑀) ∈ ℤ) |
9 | | bitsfzo.3 |
. . . . . . . 8
⊢ (𝜑 → (bits‘𝑁) ⊆ (0..^𝑀)) |
10 | 9 | adantr 480 |
. . . . . . 7
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (bits‘𝑁) ⊆ (0..^𝑀)) |
11 | | n2dvds1 16005 |
. . . . . . . . 9
⊢ ¬ 2
∥ 1 |
12 | 4 | a1i 11 |
. . . . . . . . . . . . . . . 16
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 2 ∈ ℕ) |
13 | | ssrab2 4009 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ {𝑛 ∈ ℕ0
∣ 𝑁 <
(2↑𝑛)} ⊆
ℕ0 |
14 | | bitsfzo.4 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ 𝑆 = inf({𝑛 ∈ ℕ0 ∣ 𝑁 < (2↑𝑛)}, ℝ, < ) |
15 | 13, 2 | sseqtri 3953 |
. . . . . . . . . . . . . . . . . . . . . . 23
⊢ {𝑛 ∈ ℕ0
∣ 𝑁 <
(2↑𝑛)} ⊆
(ℤ≥‘0) |
16 | | nnssnn0 12166 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢ ℕ
⊆ ℕ0 |
17 | 1 | nn0red 12224 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
⊢ (𝜑 → 𝑁 ∈ ℝ) |
18 | | 2re 11977 |
. . . . . . . . . . . . . . . . . . . . . . . . . . 27
⊢ 2 ∈
ℝ |
19 | 18 | a1i 11 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
⊢ (𝜑 → 2 ∈
ℝ) |
20 | | 1lt2 12074 |
. . . . . . . . . . . . . . . . . . . . . . . . . . 27
⊢ 1 <
2 |
21 | 20 | a1i 11 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
⊢ (𝜑 → 1 < 2) |
22 | | expnbnd 13875 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
⊢ ((𝑁 ∈ ℝ ∧ 2 ∈
ℝ ∧ 1 < 2) → ∃𝑛 ∈ ℕ 𝑁 < (2↑𝑛)) |
23 | 17, 19, 21, 22 | syl3anc 1369 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢ (𝜑 → ∃𝑛 ∈ ℕ 𝑁 < (2↑𝑛)) |
24 | | ssrexv 3984 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢ (ℕ
⊆ ℕ0 → (∃𝑛 ∈ ℕ 𝑁 < (2↑𝑛) → ∃𝑛 ∈ ℕ0 𝑁 < (2↑𝑛))) |
25 | 16, 23, 24 | mpsyl 68 |
. . . . . . . . . . . . . . . . . . . . . . . 24
⊢ (𝜑 → ∃𝑛 ∈ ℕ0 𝑁 < (2↑𝑛)) |
26 | | rabn0 4316 |
. . . . . . . . . . . . . . . . . . . . . . . 24
⊢ ({𝑛 ∈ ℕ0
∣ 𝑁 <
(2↑𝑛)} ≠ ∅
↔ ∃𝑛 ∈
ℕ0 𝑁 <
(2↑𝑛)) |
27 | 25, 26 | sylibr 233 |
. . . . . . . . . . . . . . . . . . . . . . 23
⊢ (𝜑 → {𝑛 ∈ ℕ0 ∣ 𝑁 < (2↑𝑛)} ≠ ∅) |
28 | | infssuzcl 12601 |
. . . . . . . . . . . . . . . . . . . . . . 23
⊢ (({𝑛 ∈ ℕ0
∣ 𝑁 <
(2↑𝑛)} ⊆
(ℤ≥‘0) ∧ {𝑛 ∈ ℕ0 ∣ 𝑁 < (2↑𝑛)} ≠ ∅) → inf({𝑛 ∈ ℕ0
∣ 𝑁 <
(2↑𝑛)}, ℝ, <
) ∈ {𝑛 ∈
ℕ0 ∣ 𝑁 < (2↑𝑛)}) |
29 | 15, 27, 28 | sylancr 586 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ (𝜑 → inf({𝑛 ∈ ℕ0 ∣ 𝑁 < (2↑𝑛)}, ℝ, < ) ∈ {𝑛 ∈ ℕ0
∣ 𝑁 <
(2↑𝑛)}) |
30 | 14, 29 | eqeltrid 2843 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ (𝜑 → 𝑆 ∈ {𝑛 ∈ ℕ0 ∣ 𝑁 < (2↑𝑛)}) |
31 | 13, 30 | sselid 3915 |
. . . . . . . . . . . . . . . . . . . 20
⊢ (𝜑 → 𝑆 ∈
ℕ0) |
32 | 31 | nn0zd 12353 |
. . . . . . . . . . . . . . . . . . 19
⊢ (𝜑 → 𝑆 ∈ ℤ) |
33 | 32 | adantr 480 |
. . . . . . . . . . . . . . . . . 18
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑆 ∈ ℤ) |
34 | | 0red 10909 |
. . . . . . . . . . . . . . . . . . 19
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 0 ∈ ℝ) |
35 | 6 | nn0zd 12353 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ (𝜑 → 𝑀 ∈ ℤ) |
36 | 35 | adantr 480 |
. . . . . . . . . . . . . . . . . . . 20
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑀 ∈ ℤ) |
37 | 36 | zred 12355 |
. . . . . . . . . . . . . . . . . . 19
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑀 ∈ ℝ) |
38 | 33 | zred 12355 |
. . . . . . . . . . . . . . . . . . 19
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑆 ∈ ℝ) |
39 | 6 | adantr 480 |
. . . . . . . . . . . . . . . . . . . 20
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑀 ∈
ℕ0) |
40 | 39 | nn0ge0d 12226 |
. . . . . . . . . . . . . . . . . . 19
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 0 ≤ 𝑀) |
41 | 18 | a1i 11 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 2 ∈ ℝ) |
42 | 41, 39 | reexpcld 13809 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑𝑀) ∈ ℝ) |
43 | 17 | adantr 480 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑁 ∈ ℝ) |
44 | 5, 31 | nnexpcld 13888 |
. . . . . . . . . . . . . . . . . . . . . . 23
⊢ (𝜑 → (2↑𝑆) ∈ ℕ) |
45 | 44 | adantr 480 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑𝑆) ∈ ℕ) |
46 | 45 | nnred 11918 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑𝑆) ∈ ℝ) |
47 | | simpr 484 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑𝑀) ≤ 𝑁) |
48 | 30 | adantr 480 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑆 ∈ {𝑛 ∈ ℕ0 ∣ 𝑁 < (2↑𝑛)}) |
49 | | oveq2 7263 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢ (𝑚 = 𝑆 → (2↑𝑚) = (2↑𝑆)) |
50 | 49 | breq2d 5082 |
. . . . . . . . . . . . . . . . . . . . . . . 24
⊢ (𝑚 = 𝑆 → (𝑁 < (2↑𝑚) ↔ 𝑁 < (2↑𝑆))) |
51 | | oveq2 7263 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
⊢ (𝑛 = 𝑚 → (2↑𝑛) = (2↑𝑚)) |
52 | 51 | breq2d 5082 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢ (𝑛 = 𝑚 → (𝑁 < (2↑𝑛) ↔ 𝑁 < (2↑𝑚))) |
53 | 52 | cbvrabv 3416 |
. . . . . . . . . . . . . . . . . . . . . . . 24
⊢ {𝑛 ∈ ℕ0
∣ 𝑁 <
(2↑𝑛)} = {𝑚 ∈ ℕ0
∣ 𝑁 <
(2↑𝑚)} |
54 | 50, 53 | elrab2 3620 |
. . . . . . . . . . . . . . . . . . . . . . 23
⊢ (𝑆 ∈ {𝑛 ∈ ℕ0 ∣ 𝑁 < (2↑𝑛)} ↔ (𝑆 ∈ ℕ0 ∧ 𝑁 < (2↑𝑆))) |
55 | 54 | simprbi 496 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ (𝑆 ∈ {𝑛 ∈ ℕ0 ∣ 𝑁 < (2↑𝑛)} → 𝑁 < (2↑𝑆)) |
56 | 48, 55 | syl 17 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑁 < (2↑𝑆)) |
57 | 42, 43, 46, 47, 56 | lelttrd 11063 |
. . . . . . . . . . . . . . . . . . . 20
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑𝑀) < (2↑𝑆)) |
58 | 20 | a1i 11 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 1 < 2) |
59 | 41, 36, 33, 58 | ltexp2d 13896 |
. . . . . . . . . . . . . . . . . . . 20
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑀 < 𝑆 ↔ (2↑𝑀) < (2↑𝑆))) |
60 | 57, 59 | mpbird 256 |
. . . . . . . . . . . . . . . . . . 19
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑀 < 𝑆) |
61 | 34, 37, 38, 40, 60 | lelttrd 11063 |
. . . . . . . . . . . . . . . . . 18
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 0 < 𝑆) |
62 | | elnnz 12259 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝑆 ∈ ℕ ↔ (𝑆 ∈ ℤ ∧ 0 <
𝑆)) |
63 | 33, 61, 62 | sylanbrc 582 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑆 ∈ ℕ) |
64 | | nnm1nn0 12204 |
. . . . . . . . . . . . . . . . 17
⊢ (𝑆 ∈ ℕ → (𝑆 − 1) ∈
ℕ0) |
65 | 63, 64 | syl 17 |
. . . . . . . . . . . . . . . 16
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑆 − 1) ∈
ℕ0) |
66 | 12, 65 | nnexpcld 13888 |
. . . . . . . . . . . . . . 15
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑(𝑆 − 1)) ∈
ℕ) |
67 | 66 | nncnd 11919 |
. . . . . . . . . . . . . 14
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑(𝑆 − 1)) ∈
ℂ) |
68 | 67 | mulid2d 10924 |
. . . . . . . . . . . . 13
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (1 · (2↑(𝑆 − 1))) = (2↑(𝑆 − 1))) |
69 | 66 | nnred 11918 |
. . . . . . . . . . . . . 14
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑(𝑆 − 1)) ∈
ℝ) |
70 | 38 | ltm1d 11837 |
. . . . . . . . . . . . . . . 16
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑆 − 1) < 𝑆) |
71 | 65 | nn0red 12224 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑆 − 1) ∈ ℝ) |
72 | 71, 38 | ltnled 11052 |
. . . . . . . . . . . . . . . 16
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → ((𝑆 − 1) < 𝑆 ↔ ¬ 𝑆 ≤ (𝑆 − 1))) |
73 | 70, 72 | mpbid 231 |
. . . . . . . . . . . . . . 15
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → ¬ 𝑆 ≤ (𝑆 − 1)) |
74 | | oveq2 7263 |
. . . . . . . . . . . . . . . . . . 19
⊢ (𝑚 = (𝑆 − 1) → (2↑𝑚) = (2↑(𝑆 − 1))) |
75 | 74 | breq2d 5082 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝑚 = (𝑆 − 1) → (𝑁 < (2↑𝑚) ↔ 𝑁 < (2↑(𝑆 − 1)))) |
76 | 75, 53 | elrab2 3620 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝑆 − 1) ∈ {𝑛 ∈ ℕ0
∣ 𝑁 <
(2↑𝑛)} ↔ ((𝑆 − 1) ∈
ℕ0 ∧ 𝑁
< (2↑(𝑆 −
1)))) |
77 | | infssuzle 12600 |
. . . . . . . . . . . . . . . . . . . 20
⊢ (({𝑛 ∈ ℕ0
∣ 𝑁 <
(2↑𝑛)} ⊆
(ℤ≥‘0) ∧ (𝑆 − 1) ∈ {𝑛 ∈ ℕ0 ∣ 𝑁 < (2↑𝑛)}) → inf({𝑛 ∈ ℕ0 ∣ 𝑁 < (2↑𝑛)}, ℝ, < ) ≤ (𝑆 − 1)) |
78 | 15, 77 | mpan 686 |
. . . . . . . . . . . . . . . . . . 19
⊢ ((𝑆 − 1) ∈ {𝑛 ∈ ℕ0
∣ 𝑁 <
(2↑𝑛)} →
inf({𝑛 ∈
ℕ0 ∣ 𝑁 < (2↑𝑛)}, ℝ, < ) ≤ (𝑆 − 1)) |
79 | 14, 78 | eqbrtrid 5105 |
. . . . . . . . . . . . . . . . . 18
⊢ ((𝑆 − 1) ∈ {𝑛 ∈ ℕ0
∣ 𝑁 <
(2↑𝑛)} → 𝑆 ≤ (𝑆 − 1)) |
80 | 79 | a1i 11 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → ((𝑆 − 1) ∈ {𝑛 ∈ ℕ0 ∣ 𝑁 < (2↑𝑛)} → 𝑆 ≤ (𝑆 − 1))) |
81 | 76, 80 | syl5bir 242 |
. . . . . . . . . . . . . . . 16
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (((𝑆 − 1) ∈ ℕ0 ∧
𝑁 < (2↑(𝑆 − 1))) → 𝑆 ≤ (𝑆 − 1))) |
82 | 65, 81 | mpand 691 |
. . . . . . . . . . . . . . 15
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑁 < (2↑(𝑆 − 1)) → 𝑆 ≤ (𝑆 − 1))) |
83 | 73, 82 | mtod 197 |
. . . . . . . . . . . . . 14
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → ¬ 𝑁 < (2↑(𝑆 − 1))) |
84 | 69, 43, 83 | nltled 11055 |
. . . . . . . . . . . . 13
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑(𝑆 − 1)) ≤ 𝑁) |
85 | 68, 84 | eqbrtrd 5092 |
. . . . . . . . . . . 12
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (1 · (2↑(𝑆 − 1))) ≤ 𝑁) |
86 | | 1red 10907 |
. . . . . . . . . . . . 13
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 1 ∈ ℝ) |
87 | | 2rp 12664 |
. . . . . . . . . . . . . . 15
⊢ 2 ∈
ℝ+ |
88 | 87 | a1i 11 |
. . . . . . . . . . . . . 14
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 2 ∈
ℝ+) |
89 | | 1z 12280 |
. . . . . . . . . . . . . . . 16
⊢ 1 ∈
ℤ |
90 | 89 | a1i 11 |
. . . . . . . . . . . . . . 15
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 1 ∈ ℤ) |
91 | 33, 90 | zsubcld 12360 |
. . . . . . . . . . . . . 14
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑆 − 1) ∈ ℤ) |
92 | 88, 91 | rpexpcld 13890 |
. . . . . . . . . . . . 13
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑(𝑆 − 1)) ∈
ℝ+) |
93 | 86, 43, 92 | lemuldivd 12750 |
. . . . . . . . . . . 12
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → ((1 · (2↑(𝑆 − 1))) ≤ 𝑁 ↔ 1 ≤ (𝑁 / (2↑(𝑆 − 1))))) |
94 | 85, 93 | mpbid 231 |
. . . . . . . . . . 11
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 1 ≤ (𝑁 / (2↑(𝑆 − 1)))) |
95 | | 2cn 11978 |
. . . . . . . . . . . . . . 15
⊢ 2 ∈
ℂ |
96 | | expm1t 13739 |
. . . . . . . . . . . . . . 15
⊢ ((2
∈ ℂ ∧ 𝑆
∈ ℕ) → (2↑𝑆) = ((2↑(𝑆 − 1)) · 2)) |
97 | 95, 63, 96 | sylancr 586 |
. . . . . . . . . . . . . 14
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑𝑆) = ((2↑(𝑆 − 1)) · 2)) |
98 | 56, 97 | breqtrd 5096 |
. . . . . . . . . . . . 13
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑁 < ((2↑(𝑆 − 1)) · 2)) |
99 | 43, 41, 92 | ltdivmuld 12752 |
. . . . . . . . . . . . 13
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → ((𝑁 / (2↑(𝑆 − 1))) < 2 ↔ 𝑁 < ((2↑(𝑆 − 1)) ·
2))) |
100 | 98, 99 | mpbird 256 |
. . . . . . . . . . . 12
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑁 / (2↑(𝑆 − 1))) < 2) |
101 | | df-2 11966 |
. . . . . . . . . . . 12
⊢ 2 = (1 +
1) |
102 | 100, 101 | breqtrdi 5111 |
. . . . . . . . . . 11
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑁 / (2↑(𝑆 − 1))) < (1 + 1)) |
103 | 43, 92 | rerpdivcld 12732 |
. . . . . . . . . . . 12
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑁 / (2↑(𝑆 − 1))) ∈
ℝ) |
104 | | flbi 13464 |
. . . . . . . . . . . 12
⊢ (((𝑁 / (2↑(𝑆 − 1))) ∈ ℝ ∧ 1 ∈
ℤ) → ((⌊‘(𝑁 / (2↑(𝑆 − 1)))) = 1 ↔ (1 ≤ (𝑁 / (2↑(𝑆 − 1))) ∧ (𝑁 / (2↑(𝑆 − 1))) < (1 +
1)))) |
105 | 103, 89, 104 | sylancl 585 |
. . . . . . . . . . 11
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → ((⌊‘(𝑁 / (2↑(𝑆 − 1)))) = 1 ↔ (1 ≤ (𝑁 / (2↑(𝑆 − 1))) ∧ (𝑁 / (2↑(𝑆 − 1))) < (1 +
1)))) |
106 | 94, 102, 105 | mpbir2and 709 |
. . . . . . . . . 10
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (⌊‘(𝑁 / (2↑(𝑆 − 1)))) = 1) |
107 | 106 | breq2d 5082 |
. . . . . . . . 9
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2 ∥ (⌊‘(𝑁 / (2↑(𝑆 − 1)))) ↔ 2 ∥
1)) |
108 | 11, 107 | mtbiri 326 |
. . . . . . . 8
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → ¬ 2 ∥
(⌊‘(𝑁 /
(2↑(𝑆 −
1))))) |
109 | 1 | nn0zd 12353 |
. . . . . . . . 9
⊢ (𝜑 → 𝑁 ∈ ℤ) |
110 | | bitsval2 16060 |
. . . . . . . . 9
⊢ ((𝑁 ∈ ℤ ∧ (𝑆 − 1) ∈
ℕ0) → ((𝑆 − 1) ∈ (bits‘𝑁) ↔ ¬ 2 ∥
(⌊‘(𝑁 /
(2↑(𝑆 −
1)))))) |
111 | 109, 65, 110 | syl2an2r 681 |
. . . . . . . 8
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → ((𝑆 − 1) ∈ (bits‘𝑁) ↔ ¬ 2 ∥
(⌊‘(𝑁 /
(2↑(𝑆 −
1)))))) |
112 | 108, 111 | mpbird 256 |
. . . . . . 7
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑆 − 1) ∈ (bits‘𝑁)) |
113 | 10, 112 | sseldd 3918 |
. . . . . 6
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑆 − 1) ∈ (0..^𝑀)) |
114 | | elfzolt2 13325 |
. . . . . 6
⊢ ((𝑆 − 1) ∈ (0..^𝑀) → (𝑆 − 1) < 𝑀) |
115 | 113, 114 | syl 17 |
. . . . 5
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑆 − 1) < 𝑀) |
116 | | zlem1lt 12302 |
. . . . . 6
⊢ ((𝑆 ∈ ℤ ∧ 𝑀 ∈ ℤ) → (𝑆 ≤ 𝑀 ↔ (𝑆 − 1) < 𝑀)) |
117 | 32, 36, 116 | syl2an2r 681 |
. . . . 5
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑆 ≤ 𝑀 ↔ (𝑆 − 1) < 𝑀)) |
118 | 115, 117 | mpbird 256 |
. . . 4
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑆 ≤ 𝑀) |
119 | 37, 38 | ltnled 11052 |
. . . . 5
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑀 < 𝑆 ↔ ¬ 𝑆 ≤ 𝑀)) |
120 | 60, 119 | mpbid 231 |
. . . 4
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → ¬ 𝑆 ≤ 𝑀) |
121 | 118, 120 | pm2.65da 813 |
. . 3
⊢ (𝜑 → ¬ (2↑𝑀) ≤ 𝑁) |
122 | 7 | nnred 11918 |
. . . 4
⊢ (𝜑 → (2↑𝑀) ∈ ℝ) |
123 | 17, 122 | ltnled 11052 |
. . 3
⊢ (𝜑 → (𝑁 < (2↑𝑀) ↔ ¬ (2↑𝑀) ≤ 𝑁)) |
124 | 121, 123 | mpbird 256 |
. 2
⊢ (𝜑 → 𝑁 < (2↑𝑀)) |
125 | | elfzo2 13319 |
. 2
⊢ (𝑁 ∈ (0..^(2↑𝑀)) ↔ (𝑁 ∈ (ℤ≥‘0)
∧ (2↑𝑀) ∈
ℤ ∧ 𝑁 <
(2↑𝑀))) |
126 | 3, 8, 124, 125 | syl3anbrc 1341 |
1
⊢ (𝜑 → 𝑁 ∈ (0..^(2↑𝑀))) |