reserve a,b,m,x,y,i1,i2,i3,i for Integer,
  k,p,q,n for Nat,
  c,c1,c2 for Element of NAT,
  z for set;
reserve fp,fp1 for FinSequence of NAT,

  b,c,d, n for Element of NAT,
  a for Nat;
reserve i,m,m1,m2,m3,r,s,a,b,c,c1,c2,x,y for Integer;

theorem Th42:
  m1<>0 & m2<>0 & (m1 gcd m2) divides (c2-c1) implies ex r st (for
x st (x-c1) mod m1 = 0 & (x-c2) mod m2 = 0 holds x,(c1+m1*r) are_congruent_mod
(m1 lcm m2)) & ((m1 div (m1 gcd m2))*r - ((c2-c1) div (m1 gcd m2))) mod (m2 div
  (m1 gcd m2)) = 0
proof
  assume that
A1: m1<>0 and
A2: m2<>0 and
A3: (m1 gcd m2) divides (c2-c1);
  set d = m1 gcd m2;
  set d1 = m1 div d;
  set d2 = m2 div d;
  set d3 = (c2 - c1) div d;
A4: d1,d2 are_coprime by A1,Lm12;
  then consider r such that
A5: (d1 * r - d3) mod d2 = 0 by Th15;
  take r;
A6: m1 = (m1 div (m1 gcd m2))*(m1 gcd m2) by Lm11,INT_2:21;
A7: m2 = (m2 div (m1 gcd m2))*(m1 gcd m2) by Lm11,INT_2:21;
A8: d <> 0 by A1,INT_2:5;
  for x st (x-c1) mod m1 = 0 & (x-c2) mod m2 = 0 holds x,(c1+m1*r)
  are_congruent_mod (m1 lcm m2)
  proof
    let x;
    assume that
A9: (x-c1) mod m1 = 0 and
A10: (x-c2) mod m2 = 0;
    set y = (x-c1) div m1;
A11: x-c1 = ((x-c1) div m1) * m1 + ((x-c1) mod m1) by A1,INT_1:59
      .= ((x-c1) div m1) * m1 by A9;
    then x - (m1 * r + c1) = m1 * (((x-c1) div m1) - r);
    then
A12: m1 divides (x - (m1 * r + c1));
    (x-c2) mod m2 = (m1 * y -(c2 - c1)) mod m2 by A11
      .= (d * d1 * y - d * d3) mod (d * d2) by A3,A6,A7,Lm11;
    then (d2 * d) divides (((d1 * y) - d3) * d) by A2,A7,A10,Lm10;
    then d2 divides (d1 * y - d3) by A8,Th7;
    then
A13: (d1 * y - d3) mod d2 = 0 by Lm10;
    d2 <> 0 by A2,A7;
    then r in Class(Cong(d2),y) by A4,A5,A13,Th26;
    then [y,r] in Cong(d2) by EQREL_1:18;
    then y,r are_congruent_mod d2 by Def1;
    then d2 divides (y - r);
    then consider w being Integer such that
A14: y - r = d2*w;
    x = c1 + y * m1 by A11
      .= c1 + (d2 * w + r) * m1 by A14
      .= (m1 * r + c1) + w * d1 * m2 by A6,A7;
    then m2 divides (x - (m1 * r + c1));
    then (m1 lcm m2) divides (x - (m1 * r + c1)) by A12,INT_2:19;
    hence thesis;
  end;
  hence thesis by A5;
end;
