| 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 ) ) |