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
  m1 <> 0 & m2 <> 0 & m3 <> 0 & m1,m2 are_coprime & m1,m3
are_coprime & m2,m3 are_coprime implies ex r,s st for x st (x-a)
  mod m1=0 & (x-b) mod m2=0 & (x-c) mod m3=0 holds x,(a+m1*r+m1*m2*s)
  are_congruent_mod (m1*m2*m3) & (m1*r-(b-a)) mod m2 = 0 & (m1*m2*s-(c-a-m1*r))
  mod m3 = 0
proof
  assume that
A1: m1 <> 0 & m2 <> 0 and
A2: m3 <> 0 and
A3: m1,m2 are_coprime and
A4: m1,m3 are_coprime & m2,m3 are_coprime;
  consider r such that
A5: for x st (x-a) mod m1 = 0 & (x-b) mod m2 = 0 holds x,(a+m1*r)
  are_congruent_mod (m1*m2) and
A6: (m1*r-(b-a)) mod m2=0 by A1,A3,Th40;
  m1*m2 <> 0 by A1,XCMPLX_1:6;
  then consider s such that
A7: ( for x st (x-(a+m1*r)) mod m1*m2 = 0 & (x-c) mod m3 = 0 holds x,(a+
m1*r+ m1*m2 *s) are_congruent_mod m1*m2*m3)& ((m1*m2)*s - (c-(a+m1*r))) mod m3
  = 0 by A2,A4,Th40,INT_2:26;
  take r,s;
  for x st (x-a) mod m1=0 & (x-b) mod m2=0 & (x-c) mod m3=0 holds x,(a+m1*
r+m1*m2*s) are_congruent_mod (m1*m2*m3) & (m1*r-(b-a)) mod m2 = 0 & (m1*m2*s-(c
  -a-m1*r)) mod m3 = 0
  proof
    let x;
    assume that
A8: (x-a) mod m1=0 & (x-b) mod m2=0 and
A9: (x-c) mod m3=0;
    x,(a+m1*r) are_congruent_mod (m1*m2) by A5,A8;
    then m1*m2 divides (x - (a+m1*r));
    then (x - (a+m1*r)) mod m1*m2 = 0 by Lm10;
    hence thesis by A6,A7,A9;
  end;
  hence thesis;
end;
