| Step |
Hyp |
Ref |
Expression |
| 1 |
|
blennnelnn |
|- ( N e. NN -> ( #b ` N ) e. NN ) |
| 2 |
|
nnm1nn0 |
|- ( ( #b ` N ) e. NN -> ( ( #b ` N ) - 1 ) e. NN0 ) |
| 3 |
1 2
|
syl |
|- ( N e. NN -> ( ( #b ` N ) - 1 ) e. NN0 ) |
| 4 |
|
oveq2 |
|- ( i = ( ( #b ` N ) - 1 ) -> ( 2 ^ i ) = ( 2 ^ ( ( #b ` N ) - 1 ) ) ) |
| 5 |
4
|
oveq2d |
|- ( i = ( ( #b ` N ) - 1 ) -> ( 0 ..^ ( 2 ^ i ) ) = ( 0 ..^ ( 2 ^ ( ( #b ` N ) - 1 ) ) ) ) |
| 6 |
4
|
oveq1d |
|- ( i = ( ( #b ` N ) - 1 ) -> ( ( 2 ^ i ) + r ) = ( ( 2 ^ ( ( #b ` N ) - 1 ) ) + r ) ) |
| 7 |
6
|
eqeq2d |
|- ( i = ( ( #b ` N ) - 1 ) -> ( N = ( ( 2 ^ i ) + r ) <-> N = ( ( 2 ^ ( ( #b ` N ) - 1 ) ) + r ) ) ) |
| 8 |
5 7
|
rexeqbidv |
|- ( i = ( ( #b ` N ) - 1 ) -> ( E. r e. ( 0 ..^ ( 2 ^ i ) ) N = ( ( 2 ^ i ) + r ) <-> E. r e. ( 0 ..^ ( 2 ^ ( ( #b ` N ) - 1 ) ) ) N = ( ( 2 ^ ( ( #b ` N ) - 1 ) ) + r ) ) ) |
| 9 |
8
|
adantl |
|- ( ( N e. NN /\ i = ( ( #b ` N ) - 1 ) ) -> ( E. r e. ( 0 ..^ ( 2 ^ i ) ) N = ( ( 2 ^ i ) + r ) <-> E. r e. ( 0 ..^ ( 2 ^ ( ( #b ` N ) - 1 ) ) ) N = ( ( 2 ^ ( ( #b ` N ) - 1 ) ) + r ) ) ) |
| 10 |
|
nnz |
|- ( N e. NN -> N e. ZZ ) |
| 11 |
|
2nn |
|- 2 e. NN |
| 12 |
11
|
a1i |
|- ( N e. NN -> 2 e. NN ) |
| 13 |
12 3
|
nnexpcld |
|- ( N e. NN -> ( 2 ^ ( ( #b ` N ) - 1 ) ) e. NN ) |
| 14 |
|
zmodfzo |
|- ( ( N e. ZZ /\ ( 2 ^ ( ( #b ` N ) - 1 ) ) e. NN ) -> ( N mod ( 2 ^ ( ( #b ` N ) - 1 ) ) ) e. ( 0 ..^ ( 2 ^ ( ( #b ` N ) - 1 ) ) ) ) |
| 15 |
10 13 14
|
syl2anc |
|- ( N e. NN -> ( N mod ( 2 ^ ( ( #b ` N ) - 1 ) ) ) e. ( 0 ..^ ( 2 ^ ( ( #b ` N ) - 1 ) ) ) ) |
| 16 |
|
oveq2 |
|- ( r = ( N mod ( 2 ^ ( ( #b ` N ) - 1 ) ) ) -> ( ( 2 ^ ( ( #b ` N ) - 1 ) ) + r ) = ( ( 2 ^ ( ( #b ` N ) - 1 ) ) + ( N mod ( 2 ^ ( ( #b ` N ) - 1 ) ) ) ) ) |
| 17 |
16
|
eqeq2d |
|- ( r = ( N mod ( 2 ^ ( ( #b ` N ) - 1 ) ) ) -> ( N = ( ( 2 ^ ( ( #b ` N ) - 1 ) ) + r ) <-> N = ( ( 2 ^ ( ( #b ` N ) - 1 ) ) + ( N mod ( 2 ^ ( ( #b ` N ) - 1 ) ) ) ) ) ) |
| 18 |
17
|
adantl |
|- ( ( N e. NN /\ r = ( N mod ( 2 ^ ( ( #b ` N ) - 1 ) ) ) ) -> ( N = ( ( 2 ^ ( ( #b ` N ) - 1 ) ) + r ) <-> N = ( ( 2 ^ ( ( #b ` N ) - 1 ) ) + ( N mod ( 2 ^ ( ( #b ` N ) - 1 ) ) ) ) ) ) |
| 19 |
|
nnpw2pmod |
|- ( N e. NN -> N = ( ( 2 ^ ( ( #b ` N ) - 1 ) ) + ( N mod ( 2 ^ ( ( #b ` N ) - 1 ) ) ) ) ) |
| 20 |
15 18 19
|
rspcedvd |
|- ( N e. NN -> E. r e. ( 0 ..^ ( 2 ^ ( ( #b ` N ) - 1 ) ) ) N = ( ( 2 ^ ( ( #b ` N ) - 1 ) ) + r ) ) |
| 21 |
3 9 20
|
rspcedvd |
|- ( N e. NN -> E. i e. NN0 E. r e. ( 0 ..^ ( 2 ^ i ) ) N = ( ( 2 ^ i ) + r ) ) |