let a, b be Integer; ( ( a <> 0 or b <> 0 ) implies ex a1, b1 being Integer st
( a = (a gcd b) * a1 & b = (a gcd b) * b1 & a1,b1 are_relative_prime ) )
assume
( a <> 0 or b <> 0 )
; ex a1, b1 being Integer st
( a = (a gcd b) * a1 & b = (a gcd b) * b1 & a1,b1 are_relative_prime )
then A1:
a gcd b <> 0
by Th35;
a gcd b divides a
by Def3;
then consider a1 being Integer such that
A2:
a = (a gcd b) * a1
by INT_1:def 9;
a gcd b divides b
by Def3;
then consider b1 being Integer such that
A3:
b = (a gcd b) * b1
by INT_1:def 9;
a1 gcd b1 divides b1
by Def3;
then consider b2 being Integer such that
A4:
b1 = (a1 gcd b1) * b2
by INT_1:def 9;
b = ((a gcd b) * (a1 gcd b1)) * b2
by A3, A4;
then A5:
(a gcd b) * (a1 gcd b1) divides b
by INT_1:def 9;
a1 gcd b1 divides a1
by Def3;
then consider a2 being Integer such that
A6:
a1 = (a1 gcd b1) * a2
by INT_1:def 9;
a = ((a gcd b) * (a1 gcd b1)) * a2
by A2, A6;
then
(a gcd b) * (a1 gcd b1) divides a
by INT_1:def 9;
then
(a gcd b) * (a1 gcd b1) divides a gcd b
by A5, Def3;
then consider c being Integer such that
A7:
a gcd b = ((a gcd b) * (a1 gcd b1)) * c
by INT_1:def 9;
(a gcd b) * 1 = (a gcd b) * ((a1 gcd b1) * c)
by A7;
then
1 = (a1 gcd b1) * c
by A1, XCMPLX_1:5;
then
( a1 gcd b1 = 1 or a1 gcd b1 = - 1 )
by INT_1:22;
then
a1,b1 are_relative_prime
by Def4, NAT_1:2;
hence
ex a1, b1 being Integer st
( a = (a gcd b) * a1 & b = (a gcd b) * b1 & a1,b1 are_relative_prime )
by A2, A3; verum