Step |
Hyp |
Ref |
Expression |
1 |
|
gcdabs |
|- ( ( A e. ZZ /\ B e. ZZ ) -> ( ( abs ` A ) gcd ( abs ` B ) ) = ( A gcd B ) ) |
2 |
1
|
eqcomd |
|- ( ( A e. ZZ /\ B e. ZZ ) -> ( A gcd B ) = ( ( abs ` A ) gcd ( abs ` B ) ) ) |
3 |
2
|
oveq1d |
|- ( ( A e. ZZ /\ B e. ZZ ) -> ( ( A gcd B ) ^ 2 ) = ( ( ( abs ` A ) gcd ( abs ` B ) ) ^ 2 ) ) |
4 |
|
nn0abscl |
|- ( A e. ZZ -> ( abs ` A ) e. NN0 ) |
5 |
|
nn0abscl |
|- ( B e. ZZ -> ( abs ` B ) e. NN0 ) |
6 |
|
nn0gcdsq |
|- ( ( ( abs ` A ) e. NN0 /\ ( abs ` B ) e. NN0 ) -> ( ( ( abs ` A ) gcd ( abs ` B ) ) ^ 2 ) = ( ( ( abs ` A ) ^ 2 ) gcd ( ( abs ` B ) ^ 2 ) ) ) |
7 |
4 5 6
|
syl2an |
|- ( ( A e. ZZ /\ B e. ZZ ) -> ( ( ( abs ` A ) gcd ( abs ` B ) ) ^ 2 ) = ( ( ( abs ` A ) ^ 2 ) gcd ( ( abs ` B ) ^ 2 ) ) ) |
8 |
|
zre |
|- ( A e. ZZ -> A e. RR ) |
9 |
8
|
adantr |
|- ( ( A e. ZZ /\ B e. ZZ ) -> A e. RR ) |
10 |
|
absresq |
|- ( A e. RR -> ( ( abs ` A ) ^ 2 ) = ( A ^ 2 ) ) |
11 |
9 10
|
syl |
|- ( ( A e. ZZ /\ B e. ZZ ) -> ( ( abs ` A ) ^ 2 ) = ( A ^ 2 ) ) |
12 |
|
zre |
|- ( B e. ZZ -> B e. RR ) |
13 |
12
|
adantl |
|- ( ( A e. ZZ /\ B e. ZZ ) -> B e. RR ) |
14 |
|
absresq |
|- ( B e. RR -> ( ( abs ` B ) ^ 2 ) = ( B ^ 2 ) ) |
15 |
13 14
|
syl |
|- ( ( A e. ZZ /\ B e. ZZ ) -> ( ( abs ` B ) ^ 2 ) = ( B ^ 2 ) ) |
16 |
11 15
|
oveq12d |
|- ( ( A e. ZZ /\ B e. ZZ ) -> ( ( ( abs ` A ) ^ 2 ) gcd ( ( abs ` B ) ^ 2 ) ) = ( ( A ^ 2 ) gcd ( B ^ 2 ) ) ) |
17 |
3 7 16
|
3eqtrd |
|- ( ( A e. ZZ /\ B e. ZZ ) -> ( ( A gcd B ) ^ 2 ) = ( ( A ^ 2 ) gcd ( B ^ 2 ) ) ) |