| Step | Hyp | Ref
 | Expression | 
| 1 |   | bitsfzo.1 | 
. . 3
⊢ (𝜑 → 𝑁 ∈
ℕ0) | 
| 2 |   | nn0uz 9636 | 
. . 3
⊢
ℕ0 = (ℤ≥‘0) | 
| 3 | 1, 2 | eleqtrdi 2289 | 
. 2
⊢ (𝜑 → 𝑁 ∈
(ℤ≥‘0)) | 
| 4 |   | 2nn 9152 | 
. . . . 5
⊢ 2 ∈
ℕ | 
| 5 | 4 | a1i 9 | 
. . . 4
⊢ (𝜑 → 2 ∈
ℕ) | 
| 6 |   | bitsfzo.2 | 
. . . 4
⊢ (𝜑 → 𝑀 ∈
ℕ0) | 
| 7 | 5, 6 | nnexpcld 10787 | 
. . 3
⊢ (𝜑 → (2↑𝑀) ∈ ℕ) | 
| 8 | 7 | nnzd 9447 | 
. 2
⊢ (𝜑 → (2↑𝑀) ∈ ℤ) | 
| 9 |   | bitsfzo.3 | 
. . . . . . . 8
⊢ (𝜑 → (bits‘𝑁) ⊆ (0..^𝑀)) | 
| 10 | 9 | adantr 276 | 
. . . . . . 7
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (bits‘𝑁) ⊆ (0..^𝑀)) | 
| 11 |   | n2dvds1 12077 | 
. . . . . . . . 9
⊢  ¬ 2
∥ 1 | 
| 12 | 4 | a1i 9 | 
. . . . . . . . . . . . . . . 16
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 2 ∈ ℕ) | 
| 13 |   | ssrab2 3268 | 
. . . . . . . . . . . . . . . . . . . . 21
⊢ {𝑛 ∈ ℕ0
∣ 𝑁 <
(2↑𝑛)} ⊆
ℕ0 | 
| 14 |   | bitsfzo.4 | 
. . . . . . . . . . . . . . . . . . . . . 22
⊢ 𝑆 = inf({𝑛 ∈ ℕ0 ∣ 𝑁 < (2↑𝑛)}, ℝ, < ) | 
| 15 |   | nnssnn0 9252 | 
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢ ℕ
⊆ ℕ0 | 
| 16 | 1 | nn0red 9303 | 
. . . . . . . . . . . . . . . . . . . . . . . . . 26
⊢ (𝜑 → 𝑁 ∈ ℝ) | 
| 17 |   | 2re 9060 | 
. . . . . . . . . . . . . . . . . . . . . . . . . . 27
⊢ 2 ∈
ℝ | 
| 18 | 17 | a1i 9 | 
. . . . . . . . . . . . . . . . . . . . . . . . . 26
⊢ (𝜑 → 2 ∈
ℝ) | 
| 19 |   | 1lt2 9160 | 
. . . . . . . . . . . . . . . . . . . . . . . . . . 27
⊢ 1 <
2 | 
| 20 | 19 | a1i 9 | 
. . . . . . . . . . . . . . . . . . . . . . . . . 26
⊢ (𝜑 → 1 < 2) | 
| 21 |   | expnbnd 10755 | 
. . . . . . . . . . . . . . . . . . . . . . . . . 26
⊢ ((𝑁 ∈ ℝ ∧ 2 ∈
ℝ ∧ 1 < 2) → ∃𝑛 ∈ ℕ 𝑁 < (2↑𝑛)) | 
| 22 | 16, 18, 20, 21 | syl3anc 1249 | 
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢ (𝜑 → ∃𝑛 ∈ ℕ 𝑁 < (2↑𝑛)) | 
| 23 |   | ssrexv 3248 | 
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢ (ℕ
⊆ ℕ0 → (∃𝑛 ∈ ℕ 𝑁 < (2↑𝑛) → ∃𝑛 ∈ ℕ0 𝑁 < (2↑𝑛))) | 
| 24 | 15, 22, 23 | mpsyl 65 | 
. . . . . . . . . . . . . . . . . . . . . . . 24
⊢ (𝜑 → ∃𝑛 ∈ ℕ0 𝑁 < (2↑𝑛)) | 
| 25 |   | oveq2 5930 | 
. . . . . . . . . . . . . . . . . . . . . . . . . 26
⊢ (𝑛 = 𝑢 → (2↑𝑛) = (2↑𝑢)) | 
| 26 | 25 | breq2d 4045 | 
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢ (𝑛 = 𝑢 → (𝑁 < (2↑𝑛) ↔ 𝑁 < (2↑𝑢))) | 
| 27 | 26 | cbvrexv 2730 | 
. . . . . . . . . . . . . . . . . . . . . . . 24
⊢
(∃𝑛 ∈
ℕ0 𝑁 <
(2↑𝑛) ↔
∃𝑢 ∈
ℕ0 𝑁 <
(2↑𝑢)) | 
| 28 | 24, 27 | sylib 122 | 
. . . . . . . . . . . . . . . . . . . . . . 23
⊢ (𝜑 → ∃𝑢 ∈ ℕ0 𝑁 < (2↑𝑢)) | 
| 29 |   | 0zd 9338 | 
. . . . . . . . . . . . . . . . . . . . . . . 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 9446 | 
. . . . . . . . . . . . . . . . . . . . . . . . . 26
⊢ (𝜑 → 𝑁 ∈ ℤ) | 
| 35 | 34 | ad2antrr 488 | 
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢ (((𝜑 ∧ (𝑢 ∈ ℕ0 ∧ 𝑁 < (2↑𝑢))) ∧ 𝑛 ∈ (0...𝑢)) → 𝑁 ∈ ℤ) | 
| 36 |   | 2z 9354 | 
. . . . . . . . . . . . . . . . . . . . . . . . . 26
⊢ 2 ∈
ℤ | 
| 37 |   | elfznn0 10189 | 
. . . . . . . . . . . . . . . . . . . . . . . . . . 27
⊢ (𝑛 ∈ (0...𝑢) → 𝑛 ∈ ℕ0) | 
| 38 | 37 | adantl 277 | 
. . . . . . . . . . . . . . . . . . . . . . . . . 26
⊢ (((𝜑 ∧ (𝑢 ∈ ℕ0 ∧ 𝑁 < (2↑𝑢))) ∧ 𝑛 ∈ (0...𝑢)) → 𝑛 ∈ ℕ0) | 
| 39 |   | zexpcl 10646 | 
. . . . . . . . . . . . . . . . . . . . . . . . . 26
⊢ ((2
∈ ℤ ∧ 𝑛
∈ ℕ0) → (2↑𝑛) ∈ ℤ) | 
| 40 | 36, 38, 39 | sylancr 414 | 
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢ (((𝜑 ∧ (𝑢 ∈ ℕ0 ∧ 𝑁 < (2↑𝑢))) ∧ 𝑛 ∈ (0...𝑢)) → (2↑𝑛) ∈ ℤ) | 
| 41 |   | zdclt 9403 | 
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢ ((𝑁 ∈ ℤ ∧
(2↑𝑛) ∈ ℤ)
→ DECID 𝑁 < (2↑𝑛)) | 
| 42 | 35, 40, 41 | syl2anc 411 | 
. . . . . . . . . . . . . . . . . . . . . . . 24
⊢ (((𝜑 ∧ (𝑢 ∈ ℕ0 ∧ 𝑁 < (2↑𝑢))) ∧ 𝑛 ∈ (0...𝑢)) → DECID 𝑁 < (2↑𝑛)) | 
| 43 | 29, 30, 33, 42 | infssuzcldc 10325 | 
. . . . . . . . . . . . . . . . . . . . . . 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 3181 | 
. . . . . . . . . . . . . . . . . . . 20
⊢ (𝜑 → 𝑆 ∈
ℕ0) | 
| 47 | 46 | nn0zd 9446 | 
. . . . . . . . . . . . . . . . . . 19
⊢ (𝜑 → 𝑆 ∈ ℤ) | 
| 48 | 47 | adantr 276 | 
. . . . . . . . . . . . . . . . . 18
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑆 ∈ ℤ) | 
| 49 |   | 0red 8027 | 
. . . . . . . . . . . . . . . . . . 19
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 0 ∈ ℝ) | 
| 50 | 6 | nn0zd 9446 | 
. . . . . . . . . . . . . . . . . . . . 21
⊢ (𝜑 → 𝑀 ∈ ℤ) | 
| 51 | 50 | adantr 276 | 
. . . . . . . . . . . . . . . . . . . 20
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑀 ∈ ℤ) | 
| 52 | 51 | zred 9448 | 
. . . . . . . . . . . . . . . . . . 19
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑀 ∈ ℝ) | 
| 53 | 48 | zred 9448 | 
. . . . . . . . . . . . . . . . . . 19
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑆 ∈ ℝ) | 
| 54 | 6 | adantr 276 | 
. . . . . . . . . . . . . . . . . . . 20
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑀 ∈
ℕ0) | 
| 55 | 54 | nn0ge0d 9305 | 
. . . . . . . . . . . . . . . . . . 19
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 0 ≤ 𝑀) | 
| 56 | 17 | a1i 9 | 
. . . . . . . . . . . . . . . . . . . . . 22
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 2 ∈ ℝ) | 
| 57 | 56, 54 | reexpcld 10782 | 
. . . . . . . . . . . . . . . . . . . . 21
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑𝑀) ∈ ℝ) | 
| 58 | 16 | adantr 276 | 
. . . . . . . . . . . . . . . . . . . . 21
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑁 ∈ ℝ) | 
| 59 | 5, 46 | nnexpcld 10787 | 
. . . . . . . . . . . . . . . . . . . . . . 23
⊢ (𝜑 → (2↑𝑆) ∈ ℕ) | 
| 60 | 59 | adantr 276 | 
. . . . . . . . . . . . . . . . . . . . . 22
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑𝑆) ∈ ℕ) | 
| 61 | 60 | nnred 9003 | 
. . . . . . . . . . . . . . . . . . . . 21
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑𝑆) ∈ ℝ) | 
| 62 |   | simpr 110 | 
. . . . . . . . . . . . . . . . . . . . 21
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑𝑀) ≤ 𝑁) | 
| 63 | 45 | adantr 276 | 
. . . . . . . . . . . . . . . . . . . . . 22
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑆 ∈ {𝑛 ∈ ℕ0 ∣ 𝑁 < (2↑𝑛)}) | 
| 64 |   | oveq2 5930 | 
. . . . . . . . . . . . . . . . . . . . . . . . 25
⊢ (𝑚 = 𝑆 → (2↑𝑚) = (2↑𝑆)) | 
| 65 | 64 | breq2d 4045 | 
. . . . . . . . . . . . . . . . . . . . . . . 24
⊢ (𝑚 = 𝑆 → (𝑁 < (2↑𝑚) ↔ 𝑁 < (2↑𝑆))) | 
| 66 |   | oveq2 5930 | 
. . . . . . . . . . . . . . . . . . . . . . . . . 26
⊢ (𝑛 = 𝑚 → (2↑𝑛) = (2↑𝑚)) | 
| 67 | 66 | breq2d 4045 | 
. . . . . . . . . . . . . . . . . . . . . . . . 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 8151 | 
. . . . . . . . . . . . . . . . . . . 20
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑𝑀) < (2↑𝑆)) | 
| 73 |   | nn0ltexp2 10801 | 
. . . . . . . . . . . . . . . . . . . . . 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 8151 | 
. . . . . . . . . . . . . . . . . 18
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 0 < 𝑆) | 
| 78 |   | elnnz 9336 | 
. . . . . . . . . . . . . . . . . 18
⊢ (𝑆 ∈ ℕ ↔ (𝑆 ∈ ℤ ∧ 0 <
𝑆)) | 
| 79 | 48, 77, 78 | sylanbrc 417 | 
. . . . . . . . . . . . . . . . 17
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑆 ∈ ℕ) | 
| 80 |   | nnm1nn0 9290 | 
. . . . . . . . . . . . . . . . 17
⊢ (𝑆 ∈ ℕ → (𝑆 − 1) ∈
ℕ0) | 
| 81 | 79, 80 | syl 14 | 
. . . . . . . . . . . . . . . 16
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑆 − 1) ∈
ℕ0) | 
| 82 | 12, 81 | nnexpcld 10787 | 
. . . . . . . . . . . . . . 15
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑(𝑆 − 1)) ∈
ℕ) | 
| 83 | 82 | nncnd 9004 | 
. . . . . . . . . . . . . 14
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑(𝑆 − 1)) ∈
ℂ) | 
| 84 | 83 | mullidd 8044 | 
. . . . . . . . . . . . 13
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (1 · (2↑(𝑆 − 1))) = (2↑(𝑆 − 1))) | 
| 85 | 82 | nnred 9003 | 
. . . . . . . . . . . . . 14
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑(𝑆 − 1)) ∈
ℝ) | 
| 86 | 53 | ltm1d 8959 | 
. . . . . . . . . . . . . . . 16
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑆 − 1) < 𝑆) | 
| 87 |   | peano2zm 9364 | 
. . . . . . . . . . . . . . . . . . 19
⊢ (𝑆 ∈ ℤ → (𝑆 − 1) ∈
ℤ) | 
| 88 | 47, 87 | syl 14 | 
. . . . . . . . . . . . . . . . . 18
⊢ (𝜑 → (𝑆 − 1) ∈ ℤ) | 
| 89 |   | zltnle 9372 | 
. . . . . . . . . . . . . . . . . 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 5930 | 
. . . . . . . . . . . . . . . . . . 19
⊢ (𝑚 = (𝑆 − 1) → (2↑𝑚) = (2↑(𝑆 − 1))) | 
| 94 | 93 | breq2d 4045 | 
. . . . . . . . . . . . . . . . . 18
⊢ (𝑚 = (𝑆 − 1) → (𝑁 < (2↑𝑚) ↔ 𝑁 < (2↑(𝑆 − 1)))) | 
| 95 | 94, 68 | elrab2 2923 | 
. . . . . . . . . . . . . . . . 17
⊢ ((𝑆 − 1) ∈ {𝑛 ∈ ℕ0
∣ 𝑁 <
(2↑𝑛)} ↔ ((𝑆 − 1) ∈
ℕ0 ∧ 𝑁
< (2↑(𝑆 −
1)))) | 
| 96 |   | 0zd 9338 | 
. . . . . . . . . . . . . . . . . . . . 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 10189 | 
. . . . . . . . . . . . . . . . . . . . . . . 24
⊢ (𝑢 ∈ (0...(𝑆 − 1)) → 𝑢 ∈ ℕ0) | 
| 103 | 102 | adantl 277 | 
. . . . . . . . . . . . . . . . . . . . . . 23
⊢ ((((𝜑 ∧ (2↑𝑀) ≤ 𝑁) ∧ ((𝑆 − 1) ∈ ℕ0 ∧
𝑁 < (2↑(𝑆 − 1)))) ∧ 𝑢 ∈ (0...(𝑆 − 1))) → 𝑢 ∈ ℕ0) | 
| 104 |   | zexpcl 10646 | 
. . . . . . . . . . . . . . . . . . . . . . 23
⊢ ((2
∈ ℤ ∧ 𝑢
∈ ℕ0) → (2↑𝑢) ∈ ℤ) | 
| 105 | 36, 103, 104 | sylancr 414 | 
. . . . . . . . . . . . . . . . . . . . . 22
⊢ ((((𝜑 ∧ (2↑𝑀) ≤ 𝑁) ∧ ((𝑆 − 1) ∈ ℕ0 ∧
𝑁 < (2↑(𝑆 − 1)))) ∧ 𝑢 ∈ (0...(𝑆 − 1))) → (2↑𝑢) ∈
ℤ) | 
| 106 |   | zdclt 9403 | 
. . . . . . . . . . . . . . . . . . . . . 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 10324 | 
. . . . . . . . . . . . . . . . . . . 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 4068 | 
. . . . . . . . . . . . . . . . . 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 8147 | 
. . . . . . . . . . . . 13
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑(𝑆 − 1)) ≤ 𝑁) | 
| 116 | 84, 115 | eqbrtrd 4055 | 
. . . . . . . . . . . 12
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (1 · (2↑(𝑆 − 1))) ≤ 𝑁) | 
| 117 |   | 1red 8041 | 
. . . . . . . . . . . . 13
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 1 ∈ ℝ) | 
| 118 |   | 2rp 9733 | 
. . . . . . . . . . . . . . 15
⊢ 2 ∈
ℝ+ | 
| 119 | 118 | a1i 9 | 
. . . . . . . . . . . . . 14
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 2 ∈
ℝ+) | 
| 120 |   | 1zzd 9353 | 
. . . . . . . . . . . . . . 15
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 1 ∈ ℤ) | 
| 121 | 48, 120 | zsubcld 9453 | 
. . . . . . . . . . . . . 14
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑆 − 1) ∈ ℤ) | 
| 122 | 119, 121 | rpexpcld 10789 | 
. . . . . . . . . . . . 13
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑(𝑆 − 1)) ∈
ℝ+) | 
| 123 | 117, 58, 122 | lemuldivd 9821 | 
. . . . . . . . . . . 12
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → ((1 · (2↑(𝑆 − 1))) ≤ 𝑁 ↔ 1 ≤ (𝑁 / (2↑(𝑆 − 1))))) | 
| 124 | 116, 123 | mpbid 147 | 
. . . . . . . . . . 11
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 1 ≤ (𝑁 / (2↑(𝑆 − 1)))) | 
| 125 |   | 2cn 9061 | 
. . . . . . . . . . . . . . 15
⊢ 2 ∈
ℂ | 
| 126 |   | expm1t 10659 | 
. . . . . . . . . . . . . . 15
⊢ ((2
∈ ℂ ∧ 𝑆
∈ ℕ) → (2↑𝑆) = ((2↑(𝑆 − 1)) · 2)) | 
| 127 | 125, 79, 126 | sylancr 414 | 
. . . . . . . . . . . . . 14
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑𝑆) = ((2↑(𝑆 − 1)) · 2)) | 
| 128 | 71, 127 | breqtrd 4059 | 
. . . . . . . . . . . . 13
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑁 < ((2↑(𝑆 − 1)) · 2)) | 
| 129 | 58, 56, 122 | ltdivmuld 9823 | 
. . . . . . . . . . . . 13
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → ((𝑁 / (2↑(𝑆 − 1))) < 2 ↔ 𝑁 < ((2↑(𝑆 − 1)) ·
2))) | 
| 130 | 128, 129 | mpbird 167 | 
. . . . . . . . . . . 12
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑁 / (2↑(𝑆 − 1))) < 2) | 
| 131 |   | df-2 9049 | 
. . . . . . . . . . . 12
⊢ 2 = (1 +
1) | 
| 132 | 130, 131 | breqtrdi 4074 | 
. . . . . . . . . . 11
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑁 / (2↑(𝑆 − 1))) < (1 + 1)) | 
| 133 |   | nnexpcl 10644 | 
. . . . . . . . . . . . . 14
⊢ ((2
∈ ℕ ∧ (𝑆
− 1) ∈ ℕ0) → (2↑(𝑆 − 1)) ∈
ℕ) | 
| 134 | 4, 81, 133 | sylancr 414 | 
. . . . . . . . . . . . 13
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2↑(𝑆 − 1)) ∈
ℕ) | 
| 135 |   | znq 9698 | 
. . . . . . . . . . . . 13
⊢ ((𝑁 ∈ ℤ ∧
(2↑(𝑆 − 1))
∈ ℕ) → (𝑁 /
(2↑(𝑆 − 1)))
∈ ℚ) | 
| 136 | 34, 134, 135 | syl2an2r 595 | 
. . . . . . . . . . . 12
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑁 / (2↑(𝑆 − 1))) ∈
ℚ) | 
| 137 |   | flqbi 10380 | 
. . . . . . . . . . . 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 4045 | 
. . . . . . . . 9
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (2 ∥ (⌊‘(𝑁 / (2↑(𝑆 − 1)))) ↔ 2 ∥
1)) | 
| 141 | 11, 140 | mtbiri 676 | 
. . . . . . . 8
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → ¬ 2 ∥
(⌊‘(𝑁 /
(2↑(𝑆 −
1))))) | 
| 142 |   | bitsval2 12109 | 
. . . . . . . . 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 3184 | 
. . . . . 6
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑆 − 1) ∈ (0..^𝑀)) | 
| 146 |   | elfzolt2 10232 | 
. . . . . 6
⊢ ((𝑆 − 1) ∈ (0..^𝑀) → (𝑆 − 1) < 𝑀) | 
| 147 | 145, 146 | syl 14 | 
. . . . 5
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑆 − 1) < 𝑀) | 
| 148 |   | zlem1lt 9382 | 
. . . . . 6
⊢ ((𝑆 ∈ ℤ ∧ 𝑀 ∈ ℤ) → (𝑆 ≤ 𝑀 ↔ (𝑆 − 1) < 𝑀)) | 
| 149 | 47, 51, 148 | syl2an2r 595 | 
. . . . 5
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → (𝑆 ≤ 𝑀 ↔ (𝑆 − 1) < 𝑀)) | 
| 150 | 147, 149 | mpbird 167 | 
. . . 4
⊢ ((𝜑 ∧ (2↑𝑀) ≤ 𝑁) → 𝑆 ≤ 𝑀) | 
| 151 |   | zltnle 9372 | 
. . . . . 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 9372 | 
. . . 4
⊢ ((𝑁 ∈ ℤ ∧
(2↑𝑀) ∈ ℤ)
→ (𝑁 <
(2↑𝑀) ↔ ¬
(2↑𝑀) ≤ 𝑁)) | 
| 156 | 34, 8, 155 | syl2anc 411 | 
. . 3
⊢ (𝜑 → (𝑁 < (2↑𝑀) ↔ ¬ (2↑𝑀) ≤ 𝑁)) | 
| 157 | 154, 156 | mpbird 167 | 
. 2
⊢ (𝜑 → 𝑁 < (2↑𝑀)) | 
| 158 |   | elfzo2 10225 | 
. 2
⊢ (𝑁 ∈ (0..^(2↑𝑀)) ↔ (𝑁 ∈ (ℤ≥‘0)
∧ (2↑𝑀) ∈
ℤ ∧ 𝑁 <
(2↑𝑀))) | 
| 159 | 3, 8, 157, 158 | syl3anbrc 1183 | 
1
⊢ (𝜑 → 𝑁 ∈ (0..^(2↑𝑀))) |