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