let x be FinSequence of REAL ; :: thesis: ( len x > 0 implies ( (LineVec2Mx x) @ = ColVec2Mx x & (ColVec2Mx x) @ = LineVec2Mx x ) )
assume A1: len x > 0 ; :: thesis: ( (LineVec2Mx x) @ = ColVec2Mx x & (ColVec2Mx x) @ = LineVec2Mx x )
A2: ( width (LineVec2Mx x) = len x & len (LineVec2Mx x) = 1 ) by Def10;
A3: ( len (ColVec2Mx x) = len x & width (ColVec2Mx x) = 1 ) by A1, Def9;
A4: dom (ColVec2Mx x) = Seg (len (ColVec2Mx x)) by FINSEQ_1:def 3;
A5: dom (LineVec2Mx x) = Seg (len (LineVec2Mx x)) by FINSEQ_1:def 3;
A6: for i, j being Nat holds
( [i,j] in Indices (ColVec2Mx x) iff [j,i] in Indices (LineVec2Mx x) )
proof
let i, j be Nat; :: thesis: ( [i,j] in Indices (ColVec2Mx x) iff [j,i] in Indices (LineVec2Mx x) )
( [i,j] in Indices (ColVec2Mx x) iff ( i in dom (ColVec2Mx x) & j in Seg (width (ColVec2Mx x)) ) ) by ZFMISC_1:106;
hence ( [i,j] in Indices (ColVec2Mx x) iff [j,i] in Indices (LineVec2Mx x) ) by A2, A3, A4, A5, ZFMISC_1:106; :: thesis: verum
end;
A7: for i, j being Nat st [j,i] in Indices (LineVec2Mx x) holds
(ColVec2Mx x) * i,j = (LineVec2Mx x) * j,i
proof
let i, j be Nat; :: thesis: ( [j,i] in Indices (LineVec2Mx x) implies (ColVec2Mx x) * i,j = (LineVec2Mx x) * j,i )
assume A8: [j,i] in Indices (LineVec2Mx x) ; :: thesis: (ColVec2Mx x) * i,j = (LineVec2Mx x) * j,i
then j in Seg 1 by A2, A5, ZFMISC_1:106;
then ( 1 <= j & j <= 1 ) by FINSEQ_1:3;
then A9: j = 1 by XXREAL_0:1;
i in Seg (len x) by A2, A8, ZFMISC_1:106;
then A10: i in dom x by FINSEQ_1:def 3;
A11: [i,j] in Indices (ColVec2Mx x) by A6, A8;
A12: (ColVec2Mx x) . i = <*(x . i)*> by A1, A10, Def9;
consider p being FinSequence of REAL such that
A13: ( p = (ColVec2Mx x) . i & (ColVec2Mx x) * i,j = p . j ) by A11, MATRIX_1:def 6;
thus (ColVec2Mx x) * i,j = x . i by A9, A12, A13, FINSEQ_1:57
.= (LineVec2Mx x) * j,i by A9, A10, Def10 ; :: thesis: verum
end;
hence (LineVec2Mx x) @ = ColVec2Mx x by A2, A3, A6, MATRIX_1:def 7; :: thesis: (ColVec2Mx x) @ = LineVec2Mx x
A14: for i, j being Nat holds
( [i,j] in Indices (LineVec2Mx x) iff [j,i] in Indices (ColVec2Mx x) ) by A6;
for i, j being Nat st [j,i] in Indices (ColVec2Mx x) holds
(LineVec2Mx x) * i,j = (ColVec2Mx x) * j,i
proof
let i, j be Nat; :: thesis: ( [j,i] in Indices (ColVec2Mx x) implies (LineVec2Mx x) * i,j = (ColVec2Mx x) * j,i )
assume [j,i] in Indices (ColVec2Mx x) ; :: thesis: (LineVec2Mx x) * i,j = (ColVec2Mx x) * j,i
then [i,j] in Indices (LineVec2Mx x) by A6;
hence (LineVec2Mx x) * i,j = (ColVec2Mx x) * j,i by A7; :: thesis: verum
end;
hence (ColVec2Mx x) @ = LineVec2Mx x by A2, A3, A14, MATRIX_1:def 7; :: thesis: verum