reserve a,b,m,x,n,l,xi,xj for Nat,
  t,z for Integer;

theorem Th4:
  m > 1 & m,n are_coprime & n = a*b mod m implies m,b are_coprime
proof
  assume that
A1: m > 1 and
A2: m,n are_coprime and
A3: n = a*b mod m;
  set k = m gcd b;
  k divides m by NAT_D:def 5;
  then consider km being Nat such that
A4: m = k*km by NAT_D:def 3;
A5: k <> 0 & km <> 0 by A1,A4;
  reconsider km as Element of NAT by ORDINAL1:def 12;
  k divides b by NAT_D:def 5;
  then consider kb being Nat such that
A6: b = k*kb by NAT_D:def 3;
  consider p being Nat such that
A7: a*(k*kb) = (k*km)*p+(a*(k*kb) mod (k*km)) and
  (a*(k*kb) mod (k*km)) < k*km by A1,A4,NAT_D:def 2;
  set tm = (a*kb)-(km*p);
A8: (a*(k*kb) mod (k*km)) = k*((a*kb)-(km*p)) by A7;
  assume not m,b are_coprime;
  then
A9: m gcd b <> 1;
A11: tm <> 0 implies m gcd n <> 1
  proof
    assume tm <> 0;
    m gcd n = k*(km gcd tm) by A3,A4,A5,A6,A8,EULER_1:15;
    hence thesis by A9,INT_1:9;
  end;
  tm = 0 implies m gcd n <> 1 by A1,A3,A4,A6,A8,NEWTON:52;
  hence contradiction by A2,A11;
end;
