reserve X,Y for set;
reserve R for domRing-like commutative Ring;
reserve c for Element of R;
reserve R for gcdDomain;

theorem Th41:
  for Amp being AmpleSet of R for r1,r2,s1,s2 being Element of R
  holds gcd(r1,r2,Amp) = 1.R & gcd(s1,s2,Amp) = 1.R & r2 <> 0.R & s2 <> 0.R
implies gcd(((r1/gcd(r1,s2,Amp)) * (s1/gcd(s1,r2,Amp))), ((r2/gcd(s1,r2,Amp)) *
  (s2/gcd(r1,s2,Amp))),Amp) = 1.R
proof
  let Amp be AmpleSet of R;
  let r1,r2,s1,s2 be Element of R;
  assume that
A1: gcd(r1,r2,Amp) = 1.R and
A2: gcd(s1,s2,Amp) = 1.R and
A3: r2 <> 0.R and
A4: s2 <> 0.R;
  set d1 = gcd(r1,s2,Amp);
A5: d1 <> 0.R by A4,Th33;
  set d2 = gcd(s1,r2,Amp);
  set s19 = s1/d2;
  set r29 = r2/d2;
A6: d2 <> 0.R by A3,Th33;
  then
A7: gcd(s19,r29,Amp) = 1.R by Th38;
  set r19 = r1/d1;
A8: gcd(r19,r29,Amp) divides r29 by Def12;
  d2 divides r2 by Def12;
  then r29 * d2 = r2 by A6,Def4;
  then r29 divides r2;
  then
A9: gcd(r19,r29,Amp) divides r2 by A8,Th2;
A10: gcd(r19,r29,Amp) is Element of Amp & 1.R is Element of Amp by Def8,Def12;
  d1 divides r1 by Def12;
  then r19 * d1 = r1 by A5,Def4;
  then
A11: r19 divides r1;
  1.R * gcd(r19,r29,Amp) = gcd(r19,r29,Amp);
  then
A12: 1.R divides gcd(r19,r29,Amp);
  gcd(r19,r29,Amp) divides r19 by Def12;
  then gcd(r19,r29,Amp) divides r1 by A11,Th2;
  then gcd(r19,r29,Amp) divides gcd(r1,r2,Amp) by A9,Def12;
  then gcd(r19,r29,Amp) is_associated_to 1.R by A1,A12;
  then gcd(r19,r29,Amp) = 1.R by A10,Th22;
  then
A13: gcd(r29,r19,Amp) = 1.R by Th29;
  set s29 = s2/d1;
A14: gcd(s19,s29,Amp) divides s29 by Def12;
  d1 divides s2 by Def12;
  then s29 * d1 = s2 by A5,Def4;
  then s29 divides s2;
  then
A15: gcd(s19,s29,Amp) divides s2 by A14,Th2;
A16: gcd(s19,s29,Amp) is Element of Amp & 1.R is Element of Amp by Def8,Def12;
  d2 divides s1 by Def12;
  then s19 * d2 = s1 by A6,Def4;
  then
A17: s19 divides s1;
  1.R * gcd(s19,s29,Amp) = gcd(s19,s29,Amp);
  then
A18: 1.R divides gcd(s19,s29,Amp);
  gcd(s19,s29,Amp) divides s19 by Def12;
  then gcd(s19,s29,Amp) divides s1 by A17,Th2;
  then gcd(s19,s29,Amp) divides gcd(s1,s2,Amp) by A15,Def12;
  then gcd(s19,s29,Amp) is_associated_to 1.R by A2,A18;
  then
A19: gcd(s19,s29,Amp) = 1.R by A16,Th22;
A20: gcd(s29,r19,Amp) = gcd((r1/d1),(s2/d1),Amp) by Th29
    .= 1.R by A5,Th38;
  gcd((r19 * s19),r29,Amp) = gcd(r29,(r19 * s19),Amp) by Th29
    .= gcd(r29,s19,Amp) by A13,Th37
    .= 1.R by A7,Th29;
  then gcd((r19 * s19),(r29 * s29),Amp) = gcd((r19 * s19),s29,Amp) by Th37
    .= gcd(s29,(r19 * s19),Amp) by Th29
    .= gcd(s29,s19,Amp) by A20,Th37
    .= 1.R by A19,Th29;
  hence thesis;
end;
