reserve x,X for set,
        r,r1,r2,s for Real,
        i,j,k,m,n for Nat;
reserve p,q for Point of TOP-REAL n;

theorem Th23:
 1 <= i & i < j & j <= n implies
   (Mx2Tran Rotation(i,j,n,r)).p=
     (p| (i-' 1)) ^ <*p.i*(cos r)+p.j*(-sin r)*> ^
     ((p/^i) | (j-' i-' 1)) ^ <*p.i*(sin r)+p.j*(cos r)*> ^ (p/^j)
proof
  assume that
  A1: 1<=i and
  A2: i<j and
  A3: j<=n;
  set M=Mx2Tran Rotation(i,j,n,r),Mp=M.p,i1=i-' 1,ji=j-' i;
  A4: i<n by A2,A3,XXREAL_0:2;
  A5: i1<i1+1 & i1=i-1 by A1,NAT_1:13,XREAL_1:233;
  A6: now let k;
      assume that
      1<=k and
      A7: k<=i1;
      A8: (Mp|i1).k=Mp.k & (p|i1).k=p.k by A7,FINSEQ_3:112;
      k<i by A5,A7,XXREAL_0:2;
      hence (Mp|i1).k=(p|i1).k by A1,A2,A3,A8,Th20;
   end;
  A9: len Mp=n by CARD_1:def 7;
  then A10: len(Mp|i1)=i1 by A5,A4,FINSEQ_1:59,XXREAL_0:2;
  A11: len p=n by CARD_1:def 7;
  then A12: len(p/^i)=n-i by A4,RFINSEQ:def 1;
  A13: ji=j-i by A2,XREAL_1:233;
  then A14: ji-' 1<ji-' 1+1 & ji<=n-i by A3,NAT_1:13,XREAL_1:6;
  j-i>i-i by A2,XREAL_1:8;
  then A15: ji-' 1=ji-1 by A13,NAT_1:14,XREAL_1:233;
  A16: len(p/^j)=n-j by A3,A11,RFINSEQ:def 1;
  A17: len(Mp/^i)=n-i by A9,A4,RFINSEQ:def 1;
  then A18: len((Mp/^i) | (ji-' 1))=ji-' 1 by A14,A15,FINSEQ_1:59,XXREAL_0:2;
  A19: ji-' 1<n-i by A14,A15,XXREAL_0:2;
  A20: now let k;
      assume that
      A21: 1<=k and
      A22: k<=ji-' 1;
      A23: ((p/^i) | (ji-' 1)).k=(p/^i).k by A22,FINSEQ_3:112;
      A24: k<=n-i by A19,A22,XXREAL_0:2;
      then k in dom(Mp/^i) by A17,A21,FINSEQ_3:25;
      then A25: (Mp/^i).k=Mp.(i+k) by A9,A4,RFINSEQ:def 1;
      k<ji-' 1+1 by A22,NAT_1:13;
      then A26: i+k<i+ji by A15,XREAL_1:8;
      k in dom(p/^i) by A12,A21,A24,FINSEQ_3:25;
      then A27: (p/^i).k=p.(i+k) by A11,A4,RFINSEQ:def 1;
      k+i<>i & ((Mp/^i) | (ji-' 1)).k=(Mp/^i).k
        by A21,A22,FINSEQ_3:112,NAT_1:14;
      hence ((Mp/^i) | (ji-' 1)).k=((p/^i) | (ji-' 1)).k
        by A1,A2,A3,A13,A25,A26,A27,A23,Th20;
  end;
  len((p/^i) | (ji-' 1))=ji-' 1 by A14,A15,A12,FINSEQ_1:59,XXREAL_0:2;
  then A28: (Mp/^i) | (ji-' 1)=(p/^i) | (ji-' 1) by A20,A18;
  A29: len(Mp/^j)=n-j by A3,A9,RFINSEQ:def 1;
  now let k;
    assume that
    A30: 1<=k and
    A31: k<=n-j;
    k in dom(Mp/^j) by A29,A30,A31,FINSEQ_3:25;
    then A32: (Mp/^j).k=Mp.(j+k) by A3,A9,RFINSEQ:def 1;
    k in dom(p/^j) by A16,A30,A31,FINSEQ_3:25;
    then A33: (p/^j).k=p.(j+k) by A3,A11,RFINSEQ:def 1;
    j+k>=j & j+k<>j by A30,NAT_1:11,14;
    hence (Mp/^j).k=(p/^j).k by A1,A2,A3,A32,A33,Th20;
  end;
  then A34: Mp/^j=p/^j by A16,A29;
  len(p|i1)=i1 by A5,A11,A4,FINSEQ_1:59,XXREAL_0:2;
  then A35: Mp|i1=p|i1 by A6,A10;
  A36: Mp.i=p.i*(cos r)+p.j*(-sin r) by A1,A2,A3,Th21;
  Mp=@@Mp;
  then Mp=(Mp|i1)^<*Mp.i*>^((Mp/^i) | (j-' i-' 1))^<*Mp.j*>^(Mp/^j)
    by A1,A2,A3,A9,FINSEQ_7:1;
  hence thesis by A1,A2,A3,A34,A28,A35,A36,Th22;
end;
