| Step |
Hyp |
Ref |
Expression |
| 1 |
|
nn0sumshdig |
|- ( A e. NN0 -> A = sum_ k e. ( 0 ..^ ( #b ` A ) ) ( ( k ( digit ` 2 ) A ) x. ( 2 ^ k ) ) ) |
| 2 |
1
|
adantr |
|- ( ( A e. NN0 /\ B e. NN0 ) -> A = sum_ k e. ( 0 ..^ ( #b ` A ) ) ( ( k ( digit ` 2 ) A ) x. ( 2 ^ k ) ) ) |
| 3 |
2
|
oveq1d |
|- ( ( A e. NN0 /\ B e. NN0 ) -> ( A x. B ) = ( sum_ k e. ( 0 ..^ ( #b ` A ) ) ( ( k ( digit ` 2 ) A ) x. ( 2 ^ k ) ) x. B ) ) |
| 4 |
|
fzofi |
|- ( 0 ..^ ( #b ` A ) ) e. Fin |
| 5 |
4
|
a1i |
|- ( ( A e. NN0 /\ B e. NN0 ) -> ( 0 ..^ ( #b ` A ) ) e. Fin ) |
| 6 |
|
nn0cn |
|- ( B e. NN0 -> B e. CC ) |
| 7 |
6
|
adantl |
|- ( ( A e. NN0 /\ B e. NN0 ) -> B e. CC ) |
| 8 |
|
2nn |
|- 2 e. NN |
| 9 |
8
|
a1i |
|- ( ( ( A e. NN0 /\ B e. NN0 ) /\ k e. ( 0 ..^ ( #b ` A ) ) ) -> 2 e. NN ) |
| 10 |
|
elfzoelz |
|- ( k e. ( 0 ..^ ( #b ` A ) ) -> k e. ZZ ) |
| 11 |
10
|
adantl |
|- ( ( ( A e. NN0 /\ B e. NN0 ) /\ k e. ( 0 ..^ ( #b ` A ) ) ) -> k e. ZZ ) |
| 12 |
|
nn0rp0 |
|- ( A e. NN0 -> A e. ( 0 [,) +oo ) ) |
| 13 |
12
|
adantr |
|- ( ( A e. NN0 /\ B e. NN0 ) -> A e. ( 0 [,) +oo ) ) |
| 14 |
13
|
adantr |
|- ( ( ( A e. NN0 /\ B e. NN0 ) /\ k e. ( 0 ..^ ( #b ` A ) ) ) -> A e. ( 0 [,) +oo ) ) |
| 15 |
|
digvalnn0 |
|- ( ( 2 e. NN /\ k e. ZZ /\ A e. ( 0 [,) +oo ) ) -> ( k ( digit ` 2 ) A ) e. NN0 ) |
| 16 |
9 11 14 15
|
syl3anc |
|- ( ( ( A e. NN0 /\ B e. NN0 ) /\ k e. ( 0 ..^ ( #b ` A ) ) ) -> ( k ( digit ` 2 ) A ) e. NN0 ) |
| 17 |
16
|
nn0cnd |
|- ( ( ( A e. NN0 /\ B e. NN0 ) /\ k e. ( 0 ..^ ( #b ` A ) ) ) -> ( k ( digit ` 2 ) A ) e. CC ) |
| 18 |
|
2nn0 |
|- 2 e. NN0 |
| 19 |
18
|
a1i |
|- ( k e. ( 0 ..^ ( #b ` A ) ) -> 2 e. NN0 ) |
| 20 |
|
elfzonn0 |
|- ( k e. ( 0 ..^ ( #b ` A ) ) -> k e. NN0 ) |
| 21 |
19 20
|
nn0expcld |
|- ( k e. ( 0 ..^ ( #b ` A ) ) -> ( 2 ^ k ) e. NN0 ) |
| 22 |
21
|
nn0cnd |
|- ( k e. ( 0 ..^ ( #b ` A ) ) -> ( 2 ^ k ) e. CC ) |
| 23 |
22
|
adantl |
|- ( ( ( A e. NN0 /\ B e. NN0 ) /\ k e. ( 0 ..^ ( #b ` A ) ) ) -> ( 2 ^ k ) e. CC ) |
| 24 |
17 23
|
mulcld |
|- ( ( ( A e. NN0 /\ B e. NN0 ) /\ k e. ( 0 ..^ ( #b ` A ) ) ) -> ( ( k ( digit ` 2 ) A ) x. ( 2 ^ k ) ) e. CC ) |
| 25 |
5 7 24
|
fsummulc1 |
|- ( ( A e. NN0 /\ B e. NN0 ) -> ( sum_ k e. ( 0 ..^ ( #b ` A ) ) ( ( k ( digit ` 2 ) A ) x. ( 2 ^ k ) ) x. B ) = sum_ k e. ( 0 ..^ ( #b ` A ) ) ( ( ( k ( digit ` 2 ) A ) x. ( 2 ^ k ) ) x. B ) ) |
| 26 |
3 25
|
eqtrd |
|- ( ( A e. NN0 /\ B e. NN0 ) -> ( A x. B ) = sum_ k e. ( 0 ..^ ( #b ` A ) ) ( ( ( k ( digit ` 2 ) A ) x. ( 2 ^ k ) ) x. B ) ) |