| Step |
Hyp |
Ref |
Expression |
| 1 |
|
gzcn |
|- ( A e. Z[i] -> A e. CC ) |
| 2 |
|
gzcn |
|- ( B e. Z[i] -> B e. CC ) |
| 3 |
|
mulcl |
|- ( ( A e. CC /\ B e. CC ) -> ( A x. B ) e. CC ) |
| 4 |
1 2 3
|
syl2an |
|- ( ( A e. Z[i] /\ B e. Z[i] ) -> ( A x. B ) e. CC ) |
| 5 |
|
remul |
|- ( ( A e. CC /\ B e. CC ) -> ( Re ` ( A x. B ) ) = ( ( ( Re ` A ) x. ( Re ` B ) ) - ( ( Im ` A ) x. ( Im ` B ) ) ) ) |
| 6 |
1 2 5
|
syl2an |
|- ( ( A e. Z[i] /\ B e. Z[i] ) -> ( Re ` ( A x. B ) ) = ( ( ( Re ` A ) x. ( Re ` B ) ) - ( ( Im ` A ) x. ( Im ` B ) ) ) ) |
| 7 |
|
elgz |
|- ( A e. Z[i] <-> ( A e. CC /\ ( Re ` A ) e. ZZ /\ ( Im ` A ) e. ZZ ) ) |
| 8 |
7
|
simp2bi |
|- ( A e. Z[i] -> ( Re ` A ) e. ZZ ) |
| 9 |
|
elgz |
|- ( B e. Z[i] <-> ( B e. CC /\ ( Re ` B ) e. ZZ /\ ( Im ` B ) e. ZZ ) ) |
| 10 |
9
|
simp2bi |
|- ( B e. Z[i] -> ( Re ` B ) e. ZZ ) |
| 11 |
|
zmulcl |
|- ( ( ( Re ` A ) e. ZZ /\ ( Re ` B ) e. ZZ ) -> ( ( Re ` A ) x. ( Re ` B ) ) e. ZZ ) |
| 12 |
8 10 11
|
syl2an |
|- ( ( A e. Z[i] /\ B e. Z[i] ) -> ( ( Re ` A ) x. ( Re ` B ) ) e. ZZ ) |
| 13 |
7
|
simp3bi |
|- ( A e. Z[i] -> ( Im ` A ) e. ZZ ) |
| 14 |
9
|
simp3bi |
|- ( B e. Z[i] -> ( Im ` B ) e. ZZ ) |
| 15 |
|
zmulcl |
|- ( ( ( Im ` A ) e. ZZ /\ ( Im ` B ) e. ZZ ) -> ( ( Im ` A ) x. ( Im ` B ) ) e. ZZ ) |
| 16 |
13 14 15
|
syl2an |
|- ( ( A e. Z[i] /\ B e. Z[i] ) -> ( ( Im ` A ) x. ( Im ` B ) ) e. ZZ ) |
| 17 |
12 16
|
zsubcld |
|- ( ( A e. Z[i] /\ B e. Z[i] ) -> ( ( ( Re ` A ) x. ( Re ` B ) ) - ( ( Im ` A ) x. ( Im ` B ) ) ) e. ZZ ) |
| 18 |
6 17
|
eqeltrd |
|- ( ( A e. Z[i] /\ B e. Z[i] ) -> ( Re ` ( A x. B ) ) e. ZZ ) |
| 19 |
|
immul |
|- ( ( A e. CC /\ B e. CC ) -> ( Im ` ( A x. B ) ) = ( ( ( Re ` A ) x. ( Im ` B ) ) + ( ( Im ` A ) x. ( Re ` B ) ) ) ) |
| 20 |
1 2 19
|
syl2an |
|- ( ( A e. Z[i] /\ B e. Z[i] ) -> ( Im ` ( A x. B ) ) = ( ( ( Re ` A ) x. ( Im ` B ) ) + ( ( Im ` A ) x. ( Re ` B ) ) ) ) |
| 21 |
|
zmulcl |
|- ( ( ( Re ` A ) e. ZZ /\ ( Im ` B ) e. ZZ ) -> ( ( Re ` A ) x. ( Im ` B ) ) e. ZZ ) |
| 22 |
8 14 21
|
syl2an |
|- ( ( A e. Z[i] /\ B e. Z[i] ) -> ( ( Re ` A ) x. ( Im ` B ) ) e. ZZ ) |
| 23 |
|
zmulcl |
|- ( ( ( Im ` A ) e. ZZ /\ ( Re ` B ) e. ZZ ) -> ( ( Im ` A ) x. ( Re ` B ) ) e. ZZ ) |
| 24 |
13 10 23
|
syl2an |
|- ( ( A e. Z[i] /\ B e. Z[i] ) -> ( ( Im ` A ) x. ( Re ` B ) ) e. ZZ ) |
| 25 |
22 24
|
zaddcld |
|- ( ( A e. Z[i] /\ B e. Z[i] ) -> ( ( ( Re ` A ) x. ( Im ` B ) ) + ( ( Im ` A ) x. ( Re ` B ) ) ) e. ZZ ) |
| 26 |
20 25
|
eqeltrd |
|- ( ( A e. Z[i] /\ B e. Z[i] ) -> ( Im ` ( A x. B ) ) e. ZZ ) |
| 27 |
|
elgz |
|- ( ( A x. B ) e. Z[i] <-> ( ( A x. B ) e. CC /\ ( Re ` ( A x. B ) ) e. ZZ /\ ( Im ` ( A x. B ) ) e. ZZ ) ) |
| 28 |
4 18 26 27
|
syl3anbrc |
|- ( ( A e. Z[i] /\ B e. Z[i] ) -> ( A x. B ) e. Z[i] ) |