reserve i,j for Nat;

theorem Th49:
  for x being FinSequence of REAL st len x>0 holds (LineVec2Mx x)@
  = ColVec2Mx x & (ColVec2Mx x)@=LineVec2Mx x
proof
  let x be FinSequence of REAL;
A1: dom LineVec2Mx x=Seg len LineVec2Mx x by FINSEQ_1:def 3;
A2: width LineVec2Mx x=len x by Def10;
  assume
A3: len x>0;
  then
A4: len ColVec2Mx x=len x by Def9;
A5: len LineVec2Mx x=1 by Def10;
A6: width ColVec2Mx x=1 by A3,Def9;
A7: dom ColVec2Mx x=Seg len ColVec2Mx x by FINSEQ_1:def 3;
A8: for i,j holds [i,j] in Indices ColVec2Mx x iff [j,i] in Indices
  LineVec2Mx x
  proof
    let i,j;
    [i,j] in Indices ColVec2Mx x iff i in dom ColVec2Mx x & j in Seg width
    ColVec2Mx x by ZFMISC_1:87;
    hence thesis by A2,A5,A4,A6,A7,A1,ZFMISC_1:87;
  end;
A9: for i,j st [j,i] in Indices LineVec2Mx x holds (ColVec2Mx x)*(i,j) = (
  LineVec2Mx x)*(j,i)
  proof
    let i,j;
    assume
A10: [j,i] in Indices LineVec2Mx x;
    then [i,j] in Indices ColVec2Mx x by A8;
    then
A11: ex p being FinSequence of REAL st p = (ColVec2Mx x).i & (ColVec2Mx x)*
    (i,j) =p.j by MATRIX_0:def 5;
    j in Seg 1 by A5,A1,A10,ZFMISC_1:87;
    then 1<=j & j<=1 by FINSEQ_1:1;
    then
A12: j=1 by XXREAL_0:1;
    i in Seg len x by A2,A10,ZFMISC_1:87;
    then
A13: i in dom x by FINSEQ_1:def 3;
    then (ColVec2Mx x).i=<*x.i*> by A3,Def9;
    hence (ColVec2Mx x)*(i,j) = x.i by A12,A11
      .= (LineVec2Mx x)*(j,i) by A12,A13,Def10;
  end;
  hence (LineVec2Mx x)@ = ColVec2Mx x by A2,A4,A8,MATRIX_0:def 6;
A14: for i,j st [j,i] in Indices ColVec2Mx x holds (LineVec2Mx x)*(i,j) = (
  ColVec2Mx x)*(j,i)
  proof
    let i,j;
    assume [j,i] in Indices ColVec2Mx x;
    then [i,j] in Indices LineVec2Mx x by A8;
    hence thesis by A9;
  end;
  for i,j holds [i,j] in Indices LineVec2Mx x iff [j,i] in Indices
  ColVec2Mx x by A8;
  hence thesis by A5,A6,A14,MATRIX_0:def 6;
end;
