let R be gcdDomain; for Amp being AmpleSet of R
for a, b, c being Element of R holds gcd ((gcd (a,b,Amp)),c,Amp) = gcd (a,(gcd (b,c,Amp)),Amp)
let Amp be AmpleSet of R; for a, b, c being Element of R holds gcd ((gcd (a,b,Amp)),c,Amp) = gcd (a,(gcd (b,c,Amp)),Amp)
let A, B, C be Element of R; gcd ((gcd (A,B,Amp)),C,Amp) = gcd (A,(gcd (B,C,Amp)),Amp)
set D = gcd ((gcd (A,B,Amp)),C,Amp);
set E = gcd (A,(gcd (B,C,Amp)),Amp);
A1:
gcd ((gcd (A,B,Amp)),C,Amp) divides C
by Def12;
A2:
gcd (A,(gcd (B,C,Amp)),Amp) divides A
by Def12;
A3:
gcd (A,(gcd (B,C,Amp)),Amp) divides gcd (B,C,Amp)
by Def12;
then A4:
gcd (A,(gcd (B,C,Amp)),Amp) divides C
by Th28;
gcd (A,(gcd (B,C,Amp)),Amp) divides B
by A3, Th28;
then
gcd (A,(gcd (B,C,Amp)),Amp) divides gcd (A,B,Amp)
by A2, Def12;
then A5:
gcd (A,(gcd (B,C,Amp)),Amp) divides gcd ((gcd (A,B,Amp)),C,Amp)
by A4, Def12;
A6:
( gcd ((gcd (A,B,Amp)),C,Amp) is Element of Amp & gcd (A,(gcd (B,C,Amp)),Amp) is Element of Amp )
by Def12;
A7:
gcd ((gcd (A,B,Amp)),C,Amp) divides gcd (A,B,Amp)
by Def12;
then A8:
gcd ((gcd (A,B,Amp)),C,Amp) divides A
by Th28;
gcd ((gcd (A,B,Amp)),C,Amp) divides B
by A7, Th28;
then
gcd ((gcd (A,B,Amp)),C,Amp) divides gcd (B,C,Amp)
by A1, Def12;
then
gcd ((gcd (A,B,Amp)),C,Amp) divides gcd (A,(gcd (B,C,Amp)),Amp)
by A8, Def12;
then
gcd ((gcd (A,B,Amp)),C,Amp) is_associated_to gcd (A,(gcd (B,C,Amp)),Amp)
by A5;
hence
gcd ((gcd (A,B,Amp)),C,Amp) = gcd (A,(gcd (B,C,Amp)),Amp)
by A6, Th22; verum