| Step | Hyp | Ref
| Expression |
| 1 | | bitsfzo.1 |
. . 3
⊢ (𝜑 → 𝑁 ∈
ℕ0) |
| 2 | | nn0uz 9653 |
. . 3
⊢
ℕ0 = (ℤ≥‘0) |
| 3 | 1, 2 | eleqtrdi 2289 |
. 2
⊢ (𝜑 → 𝑁 ∈
(ℤ≥‘0)) |
| 4 | | 2nn 9169 |
. . . . 5
⊢ 2 ∈
ℕ |
| 5 | 4 | a1i 9 |
. . . 4
⊢ (𝜑 → 2 ∈
ℕ) |
| 6 | | bitsfzo.2 |
. . . 4
⊢ (𝜑 → 𝑀 ∈
ℕ0) |
| 7 | 5, 6 | nnexpcld 10804 |
. . 3
⊢ (𝜑 → (2↑𝑀) ∈ ℕ) |
| 8 | 7 | nnzd 9464 |
. 2
⊢ (𝜑 → (2↑𝑀) ∈ ℤ) |
| 9 | | bitsfzo.3 |
. . . . . . . 8
⊢ (𝜑 → (bits‘𝑁) ⊆ (0..^𝑀)) |
| 10 | 9 | adantr 276 |
. . . . . . 7
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (bits‘𝑁) ⊆ (0..^𝑀)) |
| 11 | | n2dvds1 12094 |
. . . . . . . . 9
⊢ ¬ 2
∥ 1 |
| 12 | 4 | a1i 9 |
. . . . . . . . . . . . . . . 16
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 2 ∈ ℕ) |
| 13 | | ssrab2 3269 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ {𝑛 ∈ ℕ0
∣ 𝑁 <
(2↑𝑛)} ⊆
ℕ0 |
| 14 | | bitsfzo.4 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ 𝑆 = inf({𝑛 ∈ ℕ0 ∣ 𝑁 < (2↑𝑛)}, ℝ, < ) |
| 15 | | nnssnn0 9269 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢ ℕ
⊆ ℕ0 |
| 16 | 1 | nn0red 9320 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
⊢ (𝜑 → 𝑁 ∈ ℝ) |
| 17 | | 2re 9077 |
. . . . . . . . . . . . . . . . . . . . . . . . . . 27
⊢ 2 ∈
ℝ |
| 18 | 17 | a1i 9 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
⊢ (𝜑 → 2 ∈
ℝ) |
| 19 | | 1lt2 9177 |
. . . . . . . . . . . . . . . . . . . . . . . . . . 27
⊢ 1 <
2 |
| 20 | 19 | a1i 9 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
⊢ (𝜑 → 1 < 2) |
| 21 | | expnbnd 10772 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
⊢ ((𝑁 ∈ ℝ ∧ 2 ∈
ℝ ∧ 1 < 2) → ∃𝑛 ∈ ℕ 𝑁 < (2↑𝑛)) |
| 22 | 16, 18, 20, 21 | syl3anc 1249 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢ (𝜑 → ∃𝑛 ∈ ℕ 𝑁 < (2↑𝑛)) |
| 23 | | ssrexv 3249 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢ (ℕ
⊆ ℕ0 → (∃𝑛 ∈ ℕ 𝑁 < (2↑𝑛) → ∃𝑛 ∈ ℕ0 𝑁 < (2↑𝑛))) |
| 24 | 15, 22, 23 | mpsyl 65 |
. . . . . . . . . . . . . . . . . . . . . . . 24
⊢ (𝜑 → ∃𝑛 ∈ ℕ0 𝑁 < (2↑𝑛)) |
| 25 | | oveq2 5933 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
⊢ (𝑛 = 𝑢 → (2↑𝑛) = (2↑𝑢)) |
| 26 | 25 | breq2d 4046 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢ (𝑛 = 𝑢 → (𝑁 < (2↑𝑛) ↔ 𝑁 < (2↑𝑢))) |
| 27 | 26 | cbvrexv 2730 |
. . . . . . . . . . . . . . . . . . . . . . . 24
⊢
(∃𝑛 ∈
ℕ0 𝑁 <
(2↑𝑛) ↔
∃𝑢 ∈
ℕ0 𝑁 <
(2↑𝑢)) |
| 28 | 24, 27 | sylib 122 |
. . . . . . . . . . . . . . . . . . . . . . 23
⊢ (𝜑 → ∃𝑢 ∈ ℕ0 𝑁 < (2↑𝑢)) |
| 29 | | 0zd 9355 |
. . . . . . . . . . . . . . . . . . . . . . . 24
⊢ ((𝜑 ∧ (𝑢 ∈ ℕ0 ∧ 𝑁 < (2↑𝑢))) → 0 ∈ ℤ) |
| 30 | 2 | rabeqi 2756 |
. . . . . . . . . . . . . . . . . . . . . . . 24
⊢ {𝑛 ∈ ℕ0
∣ 𝑁 <
(2↑𝑛)} = {𝑛 ∈
(ℤ≥‘0) ∣ 𝑁 < (2↑𝑛)} |
| 31 | | simpr 110 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢ ((𝜑 ∧ (𝑢 ∈ ℕ0 ∧ 𝑁 < (2↑𝑢))) → (𝑢 ∈ ℕ0 ∧ 𝑁 < (2↑𝑢))) |
| 32 | 26 | elrab 2920 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢ (𝑢 ∈ {𝑛 ∈ ℕ0 ∣ 𝑁 < (2↑𝑛)} ↔ (𝑢 ∈ ℕ0 ∧ 𝑁 < (2↑𝑢))) |
| 33 | 31, 32 | sylibr 134 |
. . . . . . . . . . . . . . . . . . . . . . . 24
⊢ ((𝜑 ∧ (𝑢 ∈ ℕ0 ∧ 𝑁 < (2↑𝑢))) → 𝑢 ∈ {𝑛 ∈ ℕ0 ∣ 𝑁 < (2↑𝑛)}) |
| 34 | 1 | nn0zd 9463 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
⊢ (𝜑 → 𝑁 ∈ ℤ) |
| 35 | 34 | ad2antrr 488 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢ (((𝜑 ∧ (𝑢 ∈ ℕ0 ∧ 𝑁 < (2↑𝑢))) ∧ 𝑛 ∈ (0...𝑢)) → 𝑁 ∈ ℤ) |
| 36 | | 2z 9371 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
⊢ 2 ∈
ℤ |
| 37 | | elfznn0 10206 |
. . . . . . . . . . . . . . . . . . . . . . . . . . 27
⊢ (𝑛 ∈ (0...𝑢) → 𝑛 ∈ ℕ0) |
| 38 | 37 | adantl 277 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
⊢ (((𝜑 ∧ (𝑢 ∈ ℕ0 ∧ 𝑁 < (2↑𝑢))) ∧ 𝑛 ∈ (0...𝑢)) → 𝑛 ∈ ℕ0) |
| 39 | | zexpcl 10663 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
⊢ ((2
∈ ℤ ∧ 𝑛
∈ ℕ0) → (2↑𝑛) ∈ ℤ) |
| 40 | 36, 38, 39 | sylancr 414 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢ (((𝜑 ∧ (𝑢 ∈ ℕ0 ∧ 𝑁 < (2↑𝑢))) ∧ 𝑛 ∈ (0...𝑢)) → (2↑𝑛) ∈ ℤ) |
| 41 | | zdclt 9420 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢ ((𝑁 ∈ ℤ ∧
(2↑𝑛) ∈ ℤ)
→ DECID 𝑁 < (2↑𝑛)) |
| 42 | 35, 40, 41 | syl2anc 411 |
. . . . . . . . . . . . . . . . . . . . . . . 24
⊢ (((𝜑 ∧ (𝑢 ∈ ℕ0 ∧ 𝑁 < (2↑𝑢))) ∧ 𝑛 ∈ (0...𝑢)) → DECID 𝑁 < (2↑𝑛)) |
| 43 | 29, 30, 33, 42 | infssuzcldc 10342 |
. . . . . . . . . . . . . . . . . . . . . . 23
⊢ ((𝜑 ∧ (𝑢 ∈ ℕ0 ∧ 𝑁 < (2↑𝑢))) → inf({𝑛 ∈ ℕ0 ∣ 𝑁 < (2↑𝑛)}, ℝ, < ) ∈ {𝑛 ∈ ℕ0
∣ 𝑁 <
(2↑𝑛)}) |
| 44 | 28, 43 | rexlimddv 2619 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ (𝜑 → inf({𝑛 ∈ ℕ0 ∣ 𝑁 < (2↑𝑛)}, ℝ, < ) ∈ {𝑛 ∈ ℕ0
∣ 𝑁 <
(2↑𝑛)}) |
| 45 | 14, 44 | eqeltrid 2283 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ (𝜑 → 𝑆 ∈ {𝑛 ∈ ℕ0 ∣ 𝑁 < (2↑𝑛)}) |
| 46 | 13, 45 | sselid 3182 |
. . . . . . . . . . . . . . . . . . . 20
⊢ (𝜑 → 𝑆 ∈
ℕ0) |
| 47 | 46 | nn0zd 9463 |
. . . . . . . . . . . . . . . . . . 19
⊢ (𝜑 → 𝑆 ∈ ℤ) |
| 48 | 47 | adantr 276 |
. . . . . . . . . . . . . . . . . 18
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑆 ∈ ℤ) |
| 49 | | 0red 8044 |
. . . . . . . . . . . . . . . . . . 19
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 0 ∈ ℝ) |
| 50 | 6 | nn0zd 9463 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ (𝜑 → 𝑀 ∈ ℤ) |
| 51 | 50 | adantr 276 |
. . . . . . . . . . . . . . . . . . . 20
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑀 ∈ ℤ) |
| 52 | 51 | zred 9465 |
. . . . . . . . . . . . . . . . . . 19
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑀 ∈ ℝ) |
| 53 | 48 | zred 9465 |
. . . . . . . . . . . . . . . . . . 19
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑆 ∈ ℝ) |
| 54 | 6 | adantr 276 |
. . . . . . . . . . . . . . . . . . . 20
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑀 ∈
ℕ0) |
| 55 | 54 | nn0ge0d 9322 |
. . . . . . . . . . . . . . . . . . 19
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 0 ≤ 𝑀) |
| 56 | 17 | a1i 9 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 2 ∈ ℝ) |
| 57 | 56, 54 | reexpcld 10799 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑𝑀) ∈ ℝ) |
| 58 | 16 | adantr 276 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑁 ∈ ℝ) |
| 59 | 5, 46 | nnexpcld 10804 |
. . . . . . . . . . . . . . . . . . . . . . 23
⊢ (𝜑 → (2↑𝑆) ∈ ℕ) |
| 60 | 59 | adantr 276 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑𝑆) ∈ ℕ) |
| 61 | 60 | nnred 9020 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑𝑆) ∈ ℝ) |
| 62 | | simpr 110 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑𝑀) ≤ 𝑁) |
| 63 | 45 | adantr 276 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑆 ∈ {𝑛 ∈ ℕ0 ∣ 𝑁 < (2↑𝑛)}) |
| 64 | | oveq2 5933 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢ (𝑚 = 𝑆 → (2↑𝑚) = (2↑𝑆)) |
| 65 | 64 | breq2d 4046 |
. . . . . . . . . . . . . . . . . . . . . . . 24
⊢ (𝑚 = 𝑆 → (𝑁 < (2↑𝑚) ↔ 𝑁 < (2↑𝑆))) |
| 66 | | oveq2 5933 |
. . . . . . . . . . . . . . . . . . . . . . . . . 26
⊢ (𝑛 = 𝑚 → (2↑𝑛) = (2↑𝑚)) |
| 67 | 66 | breq2d 4046 |
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢ (𝑛 = 𝑚 → (𝑁 < (2↑𝑛) ↔ 𝑁 < (2↑𝑚))) |
| 68 | 67 | cbvrabv 2762 |
. . . . . . . . . . . . . . . . . . . . . . . 24
⊢ {𝑛 ∈ ℕ0
∣ 𝑁 <
(2↑𝑛)} = {𝑚 ∈ ℕ0
∣ 𝑁 <
(2↑𝑚)} |
| 69 | 65, 68 | elrab2 2923 |
. . . . . . . . . . . . . . . . . . . . . . 23
⊢ (𝑆 ∈ {𝑛 ∈ ℕ0 ∣ 𝑁 < (2↑𝑛)} ↔ (𝑆 ∈ ℕ0 ∧ 𝑁 < (2↑𝑆))) |
| 70 | 69 | simprbi 275 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ (𝑆 ∈ {𝑛 ∈ ℕ0 ∣ 𝑁 < (2↑𝑛)} → 𝑁 < (2↑𝑆)) |
| 71 | 63, 70 | syl 14 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑁 < (2↑𝑆)) |
| 72 | 57, 58, 61, 62, 71 | lelttrd 8168 |
. . . . . . . . . . . . . . . . . . . 20
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑𝑀) < (2↑𝑆)) |
| 73 | | nn0ltexp2 10818 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ (((2
∈ ℝ ∧ 𝑀
∈ ℕ0 ∧ 𝑆 ∈ ℕ0) ∧ 1 < 2)
→ (𝑀 < 𝑆 ↔ (2↑𝑀) < (2↑𝑆))) |
| 74 | 18, 6, 46, 20, 73 | syl31anc 1252 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ (𝜑 → (𝑀 < 𝑆 ↔ (2↑𝑀) < (2↑𝑆))) |
| 75 | 74 | adantr 276 |
. . . . . . . . . . . . . . . . . . . 20
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑀 < 𝑆 ↔ (2↑𝑀) < (2↑𝑆))) |
| 76 | 72, 75 | mpbird 167 |
. . . . . . . . . . . . . . . . . . 19
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑀 < 𝑆) |
| 77 | 49, 52, 53, 55, 76 | lelttrd 8168 |
. . . . . . . . . . . . . . . . . 18
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 0 < 𝑆) |
| 78 | | elnnz 9353 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝑆 ∈ ℕ ↔ (𝑆 ∈ ℤ ∧ 0 <
𝑆)) |
| 79 | 48, 77, 78 | sylanbrc 417 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑆 ∈ ℕ) |
| 80 | | nnm1nn0 9307 |
. . . . . . . . . . . . . . . . 17
⊢ (𝑆 ∈ ℕ → (𝑆 − 1) ∈
ℕ0) |
| 81 | 79, 80 | syl 14 |
. . . . . . . . . . . . . . . 16
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑆 − 1) ∈
ℕ0) |
| 82 | 12, 81 | nnexpcld 10804 |
. . . . . . . . . . . . . . 15
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑(𝑆 − 1)) ∈
ℕ) |
| 83 | 82 | nncnd 9021 |
. . . . . . . . . . . . . 14
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑(𝑆 − 1)) ∈
ℂ) |
| 84 | 83 | mullidd 8061 |
. . . . . . . . . . . . 13
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (1 · (2↑(𝑆 − 1))) = (2↑(𝑆 − 1))) |
| 85 | 82 | nnred 9020 |
. . . . . . . . . . . . . 14
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑(𝑆 − 1)) ∈
ℝ) |
| 86 | 53 | ltm1d 8976 |
. . . . . . . . . . . . . . . 16
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑆 − 1) < 𝑆) |
| 87 | | peano2zm 9381 |
. . . . . . . . . . . . . . . . . . 19
⊢ (𝑆 ∈ ℤ → (𝑆 − 1) ∈
ℤ) |
| 88 | 47, 87 | syl 14 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝜑 → (𝑆 − 1) ∈ ℤ) |
| 89 | | zltnle 9389 |
. . . . . . . . . . . . . . . . . 18
⊢ (((𝑆 − 1) ∈ ℤ ∧
𝑆 ∈ ℤ) →
((𝑆 − 1) < 𝑆 ↔ ¬ 𝑆 ≤ (𝑆 − 1))) |
| 90 | 88, 47, 89 | syl2anc 411 |
. . . . . . . . . . . . . . . . 17
⊢ (𝜑 → ((𝑆 − 1) < 𝑆 ↔ ¬ 𝑆 ≤ (𝑆 − 1))) |
| 91 | 90 | adantr 276 |
. . . . . . . . . . . . . . . 16
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → ((𝑆 − 1) < 𝑆 ↔ ¬ 𝑆 ≤ (𝑆 − 1))) |
| 92 | 86, 91 | mpbid 147 |
. . . . . . . . . . . . . . 15
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → ¬ 𝑆 ≤ (𝑆 − 1)) |
| 93 | | oveq2 5933 |
. . . . . . . . . . . . . . . . . . 19
⊢ (𝑚 = (𝑆 − 1) → (2↑𝑚) = (2↑(𝑆 − 1))) |
| 94 | 93 | breq2d 4046 |
. . . . . . . . . . . . . . . . . 18
⊢ (𝑚 = (𝑆 − 1) → (𝑁 < (2↑𝑚) ↔ 𝑁 < (2↑(𝑆 − 1)))) |
| 95 | 94, 68 | elrab2 2923 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝑆 − 1) ∈ {𝑛 ∈ ℕ0
∣ 𝑁 <
(2↑𝑛)} ↔ ((𝑆 − 1) ∈
ℕ0 ∧ 𝑁
< (2↑(𝑆 −
1)))) |
| 96 | | 0zd 9355 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ (((𝜑 ∧ (2↑𝑀) ≤ 𝑁) ∧ ((𝑆 − 1) ∈ ℕ0 ∧
𝑁 < (2↑(𝑆 − 1)))) → 0 ∈
ℤ) |
| 97 | 26 | cbvrabv 2762 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ {𝑛 ∈
(ℤ≥‘0) ∣ 𝑁 < (2↑𝑛)} = {𝑢 ∈ (ℤ≥‘0)
∣ 𝑁 <
(2↑𝑢)} |
| 98 | 30, 97 | eqtri 2217 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ {𝑛 ∈ ℕ0
∣ 𝑁 <
(2↑𝑛)} = {𝑢 ∈
(ℤ≥‘0) ∣ 𝑁 < (2↑𝑢)} |
| 99 | | simpr 110 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ (((𝜑 ∧ (2↑𝑀) ≤ 𝑁) ∧ ((𝑆 − 1) ∈ ℕ0 ∧
𝑁 < (2↑(𝑆 − 1)))) → ((𝑆 − 1) ∈
ℕ0 ∧ 𝑁
< (2↑(𝑆 −
1)))) |
| 100 | 99, 95 | sylibr 134 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ (((𝜑 ∧ (2↑𝑀) ≤ 𝑁) ∧ ((𝑆 − 1) ∈ ℕ0 ∧
𝑁 < (2↑(𝑆 − 1)))) → (𝑆 − 1) ∈ {𝑛 ∈ ℕ0
∣ 𝑁 <
(2↑𝑛)}) |
| 101 | 34 | ad3antrrr 492 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ ((((𝜑 ∧ (2↑𝑀) ≤ 𝑁) ∧ ((𝑆 − 1) ∈ ℕ0 ∧
𝑁 < (2↑(𝑆 − 1)))) ∧ 𝑢 ∈ (0...(𝑆 − 1))) → 𝑁 ∈ ℤ) |
| 102 | | elfznn0 10206 |
. . . . . . . . . . . . . . . . . . . . . . . 24
⊢ (𝑢 ∈ (0...(𝑆 − 1)) → 𝑢 ∈ ℕ0) |
| 103 | 102 | adantl 277 |
. . . . . . . . . . . . . . . . . . . . . . 23
⊢ ((((𝜑 ∧ (2↑𝑀) ≤ 𝑁) ∧ ((𝑆 − 1) ∈ ℕ0 ∧
𝑁 < (2↑(𝑆 − 1)))) ∧ 𝑢 ∈ (0...(𝑆 − 1))) → 𝑢 ∈ ℕ0) |
| 104 | | zexpcl 10663 |
. . . . . . . . . . . . . . . . . . . . . . 23
⊢ ((2
∈ ℤ ∧ 𝑢
∈ ℕ0) → (2↑𝑢) ∈ ℤ) |
| 105 | 36, 103, 104 | sylancr 414 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ ((((𝜑 ∧ (2↑𝑀) ≤ 𝑁) ∧ ((𝑆 − 1) ∈ ℕ0 ∧
𝑁 < (2↑(𝑆 − 1)))) ∧ 𝑢 ∈ (0...(𝑆 − 1))) → (2↑𝑢) ∈
ℤ) |
| 106 | | zdclt 9420 |
. . . . . . . . . . . . . . . . . . . . . 22
⊢ ((𝑁 ∈ ℤ ∧
(2↑𝑢) ∈ ℤ)
→ DECID 𝑁 < (2↑𝑢)) |
| 107 | 101, 105,
106 | syl2anc 411 |
. . . . . . . . . . . . . . . . . . . . 21
⊢ ((((𝜑 ∧ (2↑𝑀) ≤ 𝑁) ∧ ((𝑆 − 1) ∈ ℕ0 ∧
𝑁 < (2↑(𝑆 − 1)))) ∧ 𝑢 ∈ (0...(𝑆 − 1))) → DECID
𝑁 < (2↑𝑢)) |
| 108 | 96, 98, 100, 107 | infssuzledc 10341 |
. . . . . . . . . . . . . . . . . . . 20
⊢ (((𝜑 ∧ (2↑𝑀) ≤ 𝑁) ∧ ((𝑆 − 1) ∈ ℕ0 ∧
𝑁 < (2↑(𝑆 − 1)))) → inf({𝑛 ∈ ℕ0
∣ 𝑁 <
(2↑𝑛)}, ℝ, <
) ≤ (𝑆 −
1)) |
| 109 | 95, 108 | sylan2b 287 |
. . . . . . . . . . . . . . . . . . 19
⊢ (((𝜑 ∧ (2↑𝑀) ≤ 𝑁) ∧ (𝑆 − 1) ∈ {𝑛 ∈ ℕ0 ∣ 𝑁 < (2↑𝑛)}) → inf({𝑛 ∈ ℕ0 ∣ 𝑁 < (2↑𝑛)}, ℝ, < ) ≤ (𝑆 − 1)) |
| 110 | 14, 109 | eqbrtrid 4069 |
. . . . . . . . . . . . . . . . . 18
⊢ (((𝜑 ∧ (2↑𝑀) ≤ 𝑁) ∧ (𝑆 − 1) ∈ {𝑛 ∈ ℕ0 ∣ 𝑁 < (2↑𝑛)}) → 𝑆 ≤ (𝑆 − 1)) |
| 111 | 110 | ex 115 |
. . . . . . . . . . . . . . . . 17
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → ((𝑆 − 1) ∈ {𝑛 ∈ ℕ0 ∣ 𝑁 < (2↑𝑛)} → 𝑆 ≤ (𝑆 − 1))) |
| 112 | 95, 111 | biimtrrid 153 |
. . . . . . . . . . . . . . . 16
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (((𝑆 − 1) ∈ ℕ0 ∧
𝑁 < (2↑(𝑆 − 1))) → 𝑆 ≤ (𝑆 − 1))) |
| 113 | 81, 112 | mpand 429 |
. . . . . . . . . . . . . . 15
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑁 < (2↑(𝑆 − 1)) → 𝑆 ≤ (𝑆 − 1))) |
| 114 | 92, 113 | mtod 664 |
. . . . . . . . . . . . . 14
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → ¬ 𝑁 < (2↑(𝑆 − 1))) |
| 115 | 85, 58, 114 | nltled 8164 |
. . . . . . . . . . . . 13
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑(𝑆 − 1)) ≤ 𝑁) |
| 116 | 84, 115 | eqbrtrd 4056 |
. . . . . . . . . . . 12
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (1 · (2↑(𝑆 − 1))) ≤ 𝑁) |
| 117 | | 1red 8058 |
. . . . . . . . . . . . 13
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 1 ∈ ℝ) |
| 118 | | 2rp 9750 |
. . . . . . . . . . . . . . 15
⊢ 2 ∈
ℝ+ |
| 119 | 118 | a1i 9 |
. . . . . . . . . . . . . 14
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 2 ∈
ℝ+) |
| 120 | | 1zzd 9370 |
. . . . . . . . . . . . . . 15
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 1 ∈ ℤ) |
| 121 | 48, 120 | zsubcld 9470 |
. . . . . . . . . . . . . 14
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑆 − 1) ∈ ℤ) |
| 122 | 119, 121 | rpexpcld 10806 |
. . . . . . . . . . . . 13
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑(𝑆 − 1)) ∈
ℝ+) |
| 123 | 117, 58, 122 | lemuldivd 9838 |
. . . . . . . . . . . 12
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → ((1 · (2↑(𝑆 − 1))) ≤ 𝑁 ↔ 1 ≤ (𝑁 / (2↑(𝑆 − 1))))) |
| 124 | 116, 123 | mpbid 147 |
. . . . . . . . . . 11
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 1 ≤ (𝑁 / (2↑(𝑆 − 1)))) |
| 125 | | 2cn 9078 |
. . . . . . . . . . . . . . 15
⊢ 2 ∈
ℂ |
| 126 | | expm1t 10676 |
. . . . . . . . . . . . . . 15
⊢ ((2
∈ ℂ ∧ 𝑆
∈ ℕ) → (2↑𝑆) = ((2↑(𝑆 − 1)) · 2)) |
| 127 | 125, 79, 126 | sylancr 414 |
. . . . . . . . . . . . . 14
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑𝑆) = ((2↑(𝑆 − 1)) · 2)) |
| 128 | 71, 127 | breqtrd 4060 |
. . . . . . . . . . . . 13
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑁 < ((2↑(𝑆 − 1)) · 2)) |
| 129 | 58, 56, 122 | ltdivmuld 9840 |
. . . . . . . . . . . . 13
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → ((𝑁 / (2↑(𝑆 − 1))) < 2 ↔ 𝑁 < ((2↑(𝑆 − 1)) ·
2))) |
| 130 | 128, 129 | mpbird 167 |
. . . . . . . . . . . 12
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑁 / (2↑(𝑆 − 1))) < 2) |
| 131 | | df-2 9066 |
. . . . . . . . . . . 12
⊢ 2 = (1 +
1) |
| 132 | 130, 131 | breqtrdi 4075 |
. . . . . . . . . . 11
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑁 / (2↑(𝑆 − 1))) < (1 + 1)) |
| 133 | | nnexpcl 10661 |
. . . . . . . . . . . . . 14
⊢ ((2
∈ ℕ ∧ (𝑆
− 1) ∈ ℕ0) → (2↑(𝑆 − 1)) ∈
ℕ) |
| 134 | 4, 81, 133 | sylancr 414 |
. . . . . . . . . . . . 13
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑(𝑆 − 1)) ∈
ℕ) |
| 135 | | znq 9715 |
. . . . . . . . . . . . 13
⊢ ((𝑁 ∈ ℤ ∧
(2↑(𝑆 − 1))
∈ ℕ) → (𝑁 /
(2↑(𝑆 − 1)))
∈ ℚ) |
| 136 | 34, 134, 135 | syl2an2r 595 |
. . . . . . . . . . . 12
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑁 / (2↑(𝑆 − 1))) ∈
ℚ) |
| 137 | | flqbi 10397 |
. . . . . . . . . . . 12
⊢ (((𝑁 / (2↑(𝑆 − 1))) ∈ ℚ ∧ 1 ∈
ℤ) → ((⌊‘(𝑁 / (2↑(𝑆 − 1)))) = 1 ↔ (1 ≤ (𝑁 / (2↑(𝑆 − 1))) ∧ (𝑁 / (2↑(𝑆 − 1))) < (1 +
1)))) |
| 138 | 136, 120,
137 | syl2anc 411 |
. . . . . . . . . . 11
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → ((⌊‘(𝑁 / (2↑(𝑆 − 1)))) = 1 ↔ (1 ≤ (𝑁 / (2↑(𝑆 − 1))) ∧ (𝑁 / (2↑(𝑆 − 1))) < (1 +
1)))) |
| 139 | 124, 132,
138 | mpbir2and 946 |
. . . . . . . . . 10
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (⌊‘(𝑁 / (2↑(𝑆 − 1)))) = 1) |
| 140 | 139 | breq2d 4046 |
. . . . . . . . 9
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2 ∥ (⌊‘(𝑁 / (2↑(𝑆 − 1)))) ↔ 2 ∥
1)) |
| 141 | 11, 140 | mtbiri 676 |
. . . . . . . 8
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → ¬ 2 ∥
(⌊‘(𝑁 /
(2↑(𝑆 −
1))))) |
| 142 | | bitsval2 12126 |
. . . . . . . . 9
⊢ ((𝑁 ∈ ℤ ∧ (𝑆 − 1) ∈
ℕ0) → ((𝑆 − 1) ∈ (bits‘𝑁) ↔ ¬ 2 ∥
(⌊‘(𝑁 /
(2↑(𝑆 −
1)))))) |
| 143 | 34, 81, 142 | syl2an2r 595 |
. . . . . . . 8
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → ((𝑆 − 1) ∈ (bits‘𝑁) ↔ ¬ 2 ∥
(⌊‘(𝑁 /
(2↑(𝑆 −
1)))))) |
| 144 | 141, 143 | mpbird 167 |
. . . . . . 7
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑆 − 1) ∈ (bits‘𝑁)) |
| 145 | 10, 144 | sseldd 3185 |
. . . . . 6
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑆 − 1) ∈ (0..^𝑀)) |
| 146 | | elfzolt2 10249 |
. . . . . 6
⊢ ((𝑆 − 1) ∈ (0..^𝑀) → (𝑆 − 1) < 𝑀) |
| 147 | 145, 146 | syl 14 |
. . . . 5
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑆 − 1) < 𝑀) |
| 148 | | zlem1lt 9399 |
. . . . . 6
⊢ ((𝑆 ∈ ℤ ∧ 𝑀 ∈ ℤ) → (𝑆 ≤ 𝑀 ↔ (𝑆 − 1) < 𝑀)) |
| 149 | 47, 51, 148 | syl2an2r 595 |
. . . . 5
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑆 ≤ 𝑀 ↔ (𝑆 − 1) < 𝑀)) |
| 150 | 147, 149 | mpbird 167 |
. . . 4
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑆 ≤ 𝑀) |
| 151 | | zltnle 9389 |
. . . . . 6
⊢ ((𝑀 ∈ ℤ ∧ 𝑆 ∈ ℤ) → (𝑀 < 𝑆 ↔ ¬ 𝑆 ≤ 𝑀)) |
| 152 | 50, 48, 151 | syl2an2r 595 |
. . . . 5
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑀 < 𝑆 ↔ ¬ 𝑆 ≤ 𝑀)) |
| 153 | 76, 152 | mpbid 147 |
. . . 4
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → ¬ 𝑆 ≤ 𝑀) |
| 154 | 150, 153 | pm2.65da 662 |
. . 3
⊢ (𝜑 → ¬ (2↑𝑀) ≤ 𝑁) |
| 155 | | zltnle 9389 |
. . . 4
⊢ ((𝑁 ∈ ℤ ∧
(2↑𝑀) ∈ ℤ)
→ (𝑁 <
(2↑𝑀) ↔ ¬
(2↑𝑀) ≤ 𝑁)) |
| 156 | 34, 8, 155 | syl2anc 411 |
. . 3
⊢ (𝜑 → (𝑁 < (2↑𝑀) ↔ ¬ (2↑𝑀) ≤ 𝑁)) |
| 157 | 154, 156 | mpbird 167 |
. 2
⊢ (𝜑 → 𝑁 < (2↑𝑀)) |
| 158 | | elfzo2 10242 |
. 2
⊢ (𝑁 ∈ (0..^(2↑𝑀)) ↔ (𝑁 ∈ (ℤ≥‘0)
∧ (2↑𝑀) ∈
ℤ ∧ 𝑁 <
(2↑𝑀))) |
| 159 | 3, 8, 157, 158 | syl3anbrc 1183 |
1
⊢ (𝜑 → 𝑁 ∈ (0..^(2↑𝑀))) |