reserve a,a1,a2,a3,b,b1,b2,b3,r,s,t,u for Real;
reserve n for Nat;
reserve x0,x,x1,x2,x3,y0,y,y1,y2,y3 for Element of REAL n;

theorem Th36:
  for x1,x2,y1,y1 st y1,y2 are_lindependent2 & y1 = a1*x1+a2*
x2 & y2=b1*x1+b2*x2
 ex c1,c2,d1,d2 be Real st x1=c1*y1+c2*y2 & x2=d1*y1 +d2*y2
proof
  let x1,x2,y1,y1;
  assume
A1: y1,y2 are_lindependent2;
  assume that
A2: y1 = a1*x1+a2*x2 and
A3: y2=b1*x1+b2*x2;
A4: -b1*y1+a1*y2 = (-b1)*(a1*x1+a2*x2) + a1*(b1*x1+b2*x2) by A2,A3,Th3
    .= ((-b1)*a1)*x1+((-b1)*a2)*x2 + a1*(b1*x1+b2*x2) by Th21
    .= (-a1*b1)*x1+(-a2*b1)*x2 + ((a1*b1)*x1+(a1*b2)*x2) by Th21
    .= (-a1*b1 + a1*b1)*x1+(-a2*b1 + a1*b2)*x2 by Th23
    .= 0*n + (-a2*b1+a1*b2)*x2 by EUCLID_4:3
    .= (a1*b2 - a2*b1)*x2 by EUCLID_4:1;
A5: b2*y1-a2*y2 = ((a1*b2)*x1+(a2*b2)*x2) - a2*(b1*x1+b2*x2) by A2,A3,Th21
    .= ((a1*b2)*x1+(a2*b2)*x2) - ((a2*b1)*x1+(a2*b2)*x2) by Th21
    .= (a1*b2-a2*b1)*x1+(a2*b2-a2*b2)*x2 by Th25
    .= (a1*b2-a2*b1)*x1 + 0*n by EUCLID_4:3
    .= (a1*b2-a2*b1)*x1 by EUCLID_4:1;
A6: a1*b2-a2*b1<>0
  proof
    assume not a1*b2-a2*b1<>0;
    then
A7: b2*y1+(-a2)*y2 = 0 * x1 by A5,Th3
      .= 0*n by EUCLID_4:3;
    then
A8: y2 = b1*x1 + 0 * x2 by A1,A3
      .= b1*x1 + 0*n by EUCLID_4:3
      .= b1*x1 by EUCLID_4:1;
A9: -a2=0 by A1,A7;
    then y1 = a1*x1 + 0*n by A2,EUCLID_4:3
      .= a1*x1 by EUCLID_4:1;
    then b1*y1+(-a1)*y2 = (a1*b1)*x1 + (-a1)*(b1*x1) by A8,EUCLID_4:4
      .= (a1*b1)*x1 + ((-a1)*b1)*x1 by EUCLID_4:4
      .= (a1*b1+(-a1)*b1)*x1 by EUCLID_4:7
      .= 0*n by EUCLID_4:3;
    then -a1=0 by A1;
    then y1 = 0*n + 0 * x2 by A2,A9,EUCLID_4:3
      .= 0*n + 0*n by EUCLID_4:3
      .= 0*n by EUCLID_4:1;
    hence contradiction by A1,Lm2;
  end;
A10: x2 = 1 * x2 by EUCLID_4:3
    .= (1/(a1*b2-a2*b1)*(a1*b2-a2*b1))*x2 by A6,XCMPLX_1:106
    .= 1/(a1*b2-a2*b1)*((a1*b2-a2*b1)*x2) by EUCLID_4:4
    .= 1/(a1*b2-a2*b1)*(-b1*y1)+1/(a1*b2-a2*b1)*(a1*y2) by A4,EUCLID_4:6
    .= 1/(a1*b2-a2*b1)*((-b1)*y1)+1/(a1*b2-a2*b1)*(a1*y2) by Th3
    .= (-b1)/(a1*b2-a2*b1)*y1+1/(a1*b2-a2*b1)*(a1*y2) by Th1
    .= (-b1)/(a1*b2-a2*b1)*y1+a1/(a1*b2-a2*b1)*y2 by Th1;
  set d2 = a1/(a1*b2-a2*b1);
  set d1 = (-b1)/(a1*b2-a2*b1);
  set c2 = (-a2)/(a1*b2-a2*b1);
  set c1 = b2/(a1*b2-a2*b1);
  take c1,c2,d1,d2;
  x1 = 1 * x1 by EUCLID_4:3
    .= (1/(a1*b2-a2*b1)*(a1*b2-a2*b1))*x1 by A6,XCMPLX_1:106
    .= 1/(a1*b2-a2*b1)*((a1*b2-a2*b1)*x1) by EUCLID_4:4
    .= 1/(a1*b2-a2*b1)*(b2*y1)-1/(a1*b2-a2*b1)*(a2*y2) by A5,Th12
    .= b2/(a1*b2-a2*b1)*y1-1/(a1*b2-a2*b1)*(a2*y2) by Th1
    .= b2/(a1*b2-a2*b1)*y1+-(1/(a1*b2-a2*b1)*a2)*y2 by EUCLID_4:4
    .= b2/(a1*b2-a2*b1)*y1+(-1/(a1*b2-a2*b1)*a2)*y2 by Th3
    .= b2/(a1*b2-a2*b1)*y1+(1/(a1*b2-a2*b1)*(-a2))*y2
    .= b2/(a1*b2-a2*b1)*y1+(-a2)/(a1*b2-a2*b1)*y2 by XCMPLX_1:99;
  hence thesis by A10;
end;
