Step |
Hyp |
Ref |
Expression |
1 |
|
blennnelnn |
⊢ ( 𝑁 ∈ ℕ → ( #b ‘ 𝑁 ) ∈ ℕ ) |
2 |
|
nnm1nn0 |
⊢ ( ( #b ‘ 𝑁 ) ∈ ℕ → ( ( #b ‘ 𝑁 ) − 1 ) ∈ ℕ0 ) |
3 |
1 2
|
syl |
⊢ ( 𝑁 ∈ ℕ → ( ( #b ‘ 𝑁 ) − 1 ) ∈ ℕ0 ) |
4 |
|
oveq2 |
⊢ ( 𝑖 = ( ( #b ‘ 𝑁 ) − 1 ) → ( 2 ↑ 𝑖 ) = ( 2 ↑ ( ( #b ‘ 𝑁 ) − 1 ) ) ) |
5 |
4
|
oveq2d |
⊢ ( 𝑖 = ( ( #b ‘ 𝑁 ) − 1 ) → ( 0 ..^ ( 2 ↑ 𝑖 ) ) = ( 0 ..^ ( 2 ↑ ( ( #b ‘ 𝑁 ) − 1 ) ) ) ) |
6 |
4
|
oveq1d |
⊢ ( 𝑖 = ( ( #b ‘ 𝑁 ) − 1 ) → ( ( 2 ↑ 𝑖 ) + 𝑟 ) = ( ( 2 ↑ ( ( #b ‘ 𝑁 ) − 1 ) ) + 𝑟 ) ) |
7 |
6
|
eqeq2d |
⊢ ( 𝑖 = ( ( #b ‘ 𝑁 ) − 1 ) → ( 𝑁 = ( ( 2 ↑ 𝑖 ) + 𝑟 ) ↔ 𝑁 = ( ( 2 ↑ ( ( #b ‘ 𝑁 ) − 1 ) ) + 𝑟 ) ) ) |
8 |
5 7
|
rexeqbidv |
⊢ ( 𝑖 = ( ( #b ‘ 𝑁 ) − 1 ) → ( ∃ 𝑟 ∈ ( 0 ..^ ( 2 ↑ 𝑖 ) ) 𝑁 = ( ( 2 ↑ 𝑖 ) + 𝑟 ) ↔ ∃ 𝑟 ∈ ( 0 ..^ ( 2 ↑ ( ( #b ‘ 𝑁 ) − 1 ) ) ) 𝑁 = ( ( 2 ↑ ( ( #b ‘ 𝑁 ) − 1 ) ) + 𝑟 ) ) ) |
9 |
8
|
adantl |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝑖 = ( ( #b ‘ 𝑁 ) − 1 ) ) → ( ∃ 𝑟 ∈ ( 0 ..^ ( 2 ↑ 𝑖 ) ) 𝑁 = ( ( 2 ↑ 𝑖 ) + 𝑟 ) ↔ ∃ 𝑟 ∈ ( 0 ..^ ( 2 ↑ ( ( #b ‘ 𝑁 ) − 1 ) ) ) 𝑁 = ( ( 2 ↑ ( ( #b ‘ 𝑁 ) − 1 ) ) + 𝑟 ) ) ) |
10 |
|
nnz |
⊢ ( 𝑁 ∈ ℕ → 𝑁 ∈ ℤ ) |
11 |
|
2nn |
⊢ 2 ∈ ℕ |
12 |
11
|
a1i |
⊢ ( 𝑁 ∈ ℕ → 2 ∈ ℕ ) |
13 |
12 3
|
nnexpcld |
⊢ ( 𝑁 ∈ ℕ → ( 2 ↑ ( ( #b ‘ 𝑁 ) − 1 ) ) ∈ ℕ ) |
14 |
|
zmodfzo |
⊢ ( ( 𝑁 ∈ ℤ ∧ ( 2 ↑ ( ( #b ‘ 𝑁 ) − 1 ) ) ∈ ℕ ) → ( 𝑁 mod ( 2 ↑ ( ( #b ‘ 𝑁 ) − 1 ) ) ) ∈ ( 0 ..^ ( 2 ↑ ( ( #b ‘ 𝑁 ) − 1 ) ) ) ) |
15 |
10 13 14
|
syl2anc |
⊢ ( 𝑁 ∈ ℕ → ( 𝑁 mod ( 2 ↑ ( ( #b ‘ 𝑁 ) − 1 ) ) ) ∈ ( 0 ..^ ( 2 ↑ ( ( #b ‘ 𝑁 ) − 1 ) ) ) ) |
16 |
|
oveq2 |
⊢ ( 𝑟 = ( 𝑁 mod ( 2 ↑ ( ( #b ‘ 𝑁 ) − 1 ) ) ) → ( ( 2 ↑ ( ( #b ‘ 𝑁 ) − 1 ) ) + 𝑟 ) = ( ( 2 ↑ ( ( #b ‘ 𝑁 ) − 1 ) ) + ( 𝑁 mod ( 2 ↑ ( ( #b ‘ 𝑁 ) − 1 ) ) ) ) ) |
17 |
16
|
eqeq2d |
⊢ ( 𝑟 = ( 𝑁 mod ( 2 ↑ ( ( #b ‘ 𝑁 ) − 1 ) ) ) → ( 𝑁 = ( ( 2 ↑ ( ( #b ‘ 𝑁 ) − 1 ) ) + 𝑟 ) ↔ 𝑁 = ( ( 2 ↑ ( ( #b ‘ 𝑁 ) − 1 ) ) + ( 𝑁 mod ( 2 ↑ ( ( #b ‘ 𝑁 ) − 1 ) ) ) ) ) ) |
18 |
17
|
adantl |
⊢ ( ( 𝑁 ∈ ℕ ∧ 𝑟 = ( 𝑁 mod ( 2 ↑ ( ( #b ‘ 𝑁 ) − 1 ) ) ) ) → ( 𝑁 = ( ( 2 ↑ ( ( #b ‘ 𝑁 ) − 1 ) ) + 𝑟 ) ↔ 𝑁 = ( ( 2 ↑ ( ( #b ‘ 𝑁 ) − 1 ) ) + ( 𝑁 mod ( 2 ↑ ( ( #b ‘ 𝑁 ) − 1 ) ) ) ) ) ) |
19 |
|
nnpw2pmod |
⊢ ( 𝑁 ∈ ℕ → 𝑁 = ( ( 2 ↑ ( ( #b ‘ 𝑁 ) − 1 ) ) + ( 𝑁 mod ( 2 ↑ ( ( #b ‘ 𝑁 ) − 1 ) ) ) ) ) |
20 |
15 18 19
|
rspcedvd |
⊢ ( 𝑁 ∈ ℕ → ∃ 𝑟 ∈ ( 0 ..^ ( 2 ↑ ( ( #b ‘ 𝑁 ) − 1 ) ) ) 𝑁 = ( ( 2 ↑ ( ( #b ‘ 𝑁 ) − 1 ) ) + 𝑟 ) ) |
21 |
3 9 20
|
rspcedvd |
⊢ ( 𝑁 ∈ ℕ → ∃ 𝑖 ∈ ℕ0 ∃ 𝑟 ∈ ( 0 ..^ ( 2 ↑ 𝑖 ) ) 𝑁 = ( ( 2 ↑ 𝑖 ) + 𝑟 ) ) |