:: MATRIXC1 semantic presentation

definition
let c1 be Matrix of COMPLEX ;
func c1 *' -> Matrix of COMPLEX means :Def1: :: MATRIXC1:def 1
( len a2 = len a1 & width a2 = width a1 & ( for b1, b2 being Nat st [b1,b2] in Indices a1 holds
a2 * b1,b2 = (a1 * b1,b2) *' ) );
existence
ex b1 being Matrix of COMPLEX st
( len b1 = len c1 & width b1 = width c1 & ( for b2, b3 being Nat st [b2,b3] in Indices c1 holds
b1 * b2,b3 = (c1 * b2,b3) *' ) )
proof end;
uniqueness
for b1, b2 being Matrix of COMPLEX st len b1 = len c1 & width b1 = width c1 & ( for b3, b4 being Nat st [b3,b4] in Indices c1 holds
b1 * b3,b4 = (c1 * b3,b4) *' ) & len b2 = len c1 & width b2 = width c1 & ( for b3, b4 being Nat st [b3,b4] in Indices c1 holds
b2 * b3,b4 = (c1 * b3,b4) *' ) holds
b1 = b2
proof end;
end;

:: deftheorem Def1 defines *' MATRIXC1:def 1 :
for b1, b2 being Matrix of COMPLEX holds
( b2 = b1 *' iff ( len b2 = len b1 & width b2 = width b1 & ( for b3, b4 being Nat st [b3,b4] in Indices b1 holds
b2 * b3,b4 = (b1 * b3,b4) *' ) ) );

theorem Th1: :: MATRIXC1:1
for b1, b2 being Nat
for b3 being Matrix of COMPLEX holds
( [b1,b2] in Indices b3 iff ( 1 <= b1 & b1 <= len b3 & 1 <= b2 & b2 <= width b3 ) )
proof end;

theorem Th2: :: MATRIXC1:2
for b1 being Matrix of COMPLEX holds (b1 *' ) *' = b1
proof end;

theorem Th3: :: MATRIXC1:3
for b1 being complex number
for b2 being Matrix of COMPLEX holds
( len (b1 * b2) = len b2 & width (b1 * b2) = width b2 )
proof end;

theorem Th4: :: MATRIXC1:4
for b1, b2 being Nat
for b3 being complex number
for b4 being Matrix of COMPLEX st len (b3 * b4) = len b4 & width (b3 * b4) = width b4 & [b1,b2] in Indices b4 holds
(b3 * b4) * b1,b2 = b3 * (b4 * b1,b2)
proof end;

theorem Th5: :: MATRIXC1:5
for b1 being complex number
for b2 being Matrix of COMPLEX holds (b1 * b2) *' = (b1 *' ) * (b2 *' )
proof end;

theorem Th6: :: MATRIXC1:6
for b1, b2 being Matrix of COMPLEX holds
( len (b1 + b2) = len b1 & width (b1 + b2) = width b1 )
proof end;

theorem Th7: :: MATRIXC1:7
for b1, b2 being Nat
for b3, b4 being Matrix of COMPLEX st len b3 = len b4 & width b3 = width b4 & [b1,b2] in Indices b3 holds
(b3 + b4) * b1,b2 = (b3 * b1,b2) + (b4 * b1,b2)
proof end;

theorem Th8: :: MATRIXC1:8
for b1, b2 being Matrix of COMPLEX st len b1 = len b2 & width b1 = width b2 holds
(b1 + b2) *' = (b1 *' ) + (b2 *' )
proof end;

theorem Th9: :: MATRIXC1:9
for b1 being Matrix of COMPLEX holds
( len (- b1) = len b1 & width (- b1) = width b1 )
proof end;

theorem Th10: :: MATRIXC1:10
for b1, b2 being Nat
for b3 being Matrix of COMPLEX st len (- b3) = len b3 & width (- b3) = width b3 & [b1,b2] in Indices b3 holds
(- b3) * b1,b2 = - (b3 * b1,b2)
proof end;

theorem Th11: :: MATRIXC1:11
for b1 being Matrix of COMPLEX holds (- 1) * b1 = - b1
proof end;

theorem Th12: :: MATRIXC1:12
for b1 being Matrix of COMPLEX holds (- b1) *' = - (b1 *' )
proof end;

theorem Th13: :: MATRIXC1:13
for b1, b2 being Matrix of COMPLEX holds
( len (b1 - b2) = len b1 & width (b1 - b2) = width b1 )
proof end;

theorem Th14: :: MATRIXC1:14
for b1, b2 being Nat
for b3, b4 being Matrix of COMPLEX st len b3 = len b4 & width b3 = width b4 & [b1,b2] in Indices b3 holds
(b3 - b4) * b1,b2 = (b3 * b1,b2) - (b4 * b1,b2)
proof end;

theorem Th15: :: MATRIXC1:15
for b1, b2 being Matrix of COMPLEX st len b1 = len b2 & width b1 = width b2 holds
(b1 - b2) *' = (b1 *' ) - (b2 *' )
proof end;

definition
let c1 be Matrix of COMPLEX ;
func c1 @" -> Matrix of COMPLEX equals :: MATRIXC1:def 2
(a1 @ ) *' ;
coherence
(c1 @ ) *' is Matrix of COMPLEX
;
end;

:: deftheorem Def2 defines @" MATRIXC1:def 2 :
for b1 being Matrix of COMPLEX holds b1 @" = (b1 @ ) *' ;

definition
let c1 be FinSequence of COMPLEX ;
assume E14: len c1 > 0 ;
func FinSeq2Matrix c1 -> Matrix of COMPLEX means :: MATRIXC1:def 3
( len a2 = len a1 & width a2 = 1 & ( for b1 being Nat st b1 in Seg (len a1) holds
a2 . b1 = <*(a1 . b1)*> ) );
existence
ex b1 being Matrix of COMPLEX st
( len b1 = len c1 & width b1 = 1 & ( for b2 being Nat st b2 in Seg (len c1) holds
b1 . b2 = <*(c1 . b2)*> ) )
proof end;
uniqueness
for b1, b2 being Matrix of COMPLEX st len b1 = len c1 & width b1 = 1 & ( for b3 being Nat st b3 in Seg (len c1) holds
b1 . b3 = <*(c1 . b3)*> ) & len b2 = len c1 & width b2 = 1 & ( for b3 being Nat st b3 in Seg (len c1) holds
b2 . b3 = <*(c1 . b3)*> ) holds
b1 = b2
proof end;
end;

:: deftheorem Def3 defines FinSeq2Matrix MATRIXC1:def 3 :
for b1 being FinSequence of COMPLEX st len b1 > 0 holds
for b2 being Matrix of COMPLEX holds
( b2 = FinSeq2Matrix b1 iff ( len b2 = len b1 & width b2 = 1 & ( for b3 being Nat st b3 in Seg (len b1) holds
b2 . b3 = <*(b1 . b3)*> ) ) );

definition
let c1 be Matrix of COMPLEX ;
func Matrix2FinSeq c1 -> FinSequence of COMPLEX equals :: MATRIXC1:def 4
Col a1,1;
coherence
Col c1,1 is FinSequence of COMPLEX
;
end;

:: deftheorem Def4 defines Matrix2FinSeq MATRIXC1:def 4 :
for b1 being Matrix of COMPLEX holds Matrix2FinSeq b1 = Col b1,1;

definition
let c1, c2 be FinSequence of COMPLEX ;
func mlt c1,c2 -> FinSequence of COMPLEX equals :: MATRIXC1:def 5
multcomplex .: a1,a2;
coherence
multcomplex .: c1,c2 is FinSequence of COMPLEX
;
commutativity
for b1, b2, b3 being FinSequence of COMPLEX st b1 = multcomplex .: b2,b3 holds
b1 = multcomplex .: b3,b2
proof end;
end;

:: deftheorem Def5 defines mlt MATRIXC1:def 5 :
for b1, b2 being FinSequence of COMPLEX holds mlt b1,b2 = multcomplex .: b1,b2;

definition
let c1 be FinSequence of COMPLEX ;
func Sum c1 -> Element of COMPLEX equals :: MATRIXC1:def 6
addcomplex $$ a1;
coherence
addcomplex $$ c1 is Element of COMPLEX
;
end;

:: deftheorem Def6 defines Sum MATRIXC1:def 6 :
for b1 being FinSequence of COMPLEX holds Sum b1 = addcomplex $$ b1;

definition
let c1 be Matrix of COMPLEX ;
let c2 be FinSequence of COMPLEX ;
func c1 * c2 -> FinSequence of COMPLEX means :Def7: :: MATRIXC1:def 7
( len a3 = len a1 & ( for b1 being Nat st b1 in Seg (len a1) holds
a3 . b1 = Sum (mlt (Line a1,b1),a2) ) );
existence
ex b1 being FinSequence of COMPLEX st
( len b1 = len c1 & ( for b2 being Nat st b2 in Seg (len c1) holds
b1 . b2 = Sum (mlt (Line c1,b2),c2) ) )
proof end;
uniqueness
for b1, b2 being FinSequence of COMPLEX st len b1 = len c1 & ( for b3 being Nat st b3 in Seg (len c1) holds
b1 . b3 = Sum (mlt (Line c1,b3),c2) ) & len b2 = len c1 & ( for b3 being Nat st b3 in Seg (len c1) holds
b2 . b3 = Sum (mlt (Line c1,b3),c2) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def7 defines * MATRIXC1:def 7 :
for b1 being Matrix of COMPLEX
for b2, b3 being FinSequence of COMPLEX holds
( b3 = b1 * b2 iff ( len b3 = len b1 & ( for b4 being Nat st b4 in Seg (len b1) holds
b3 . b4 = Sum (mlt (Line b1,b4),b2) ) ) );

Lemma15: for b1 being Element of COMPLEX
for b2 being FinSequence of COMPLEX holds b1 * b2 = (multcomplex [;] b1,(id COMPLEX )) * b2
proof end;

theorem Th16: :: MATRIXC1:16
for b1 being Nat
for b2 being Element of COMPLEX
for b3, b4 being Element of b1 -tuples_on COMPLEX holds b2 * (mlt b3,b4) = mlt (b2 * b3),b4
proof end;

definition
let c1 be Matrix of COMPLEX ;
let c2 be complex number ;
func c1 * c2 -> Matrix of COMPLEX equals :: MATRIXC1:def 8
a2 * a1;
coherence
c2 * c1 is Matrix of COMPLEX
;
end;

:: deftheorem Def8 defines * MATRIXC1:def 8 :
for b1 being Matrix of COMPLEX
for b2 being complex number holds b1 * b2 = b2 * b1;

theorem Th17: :: MATRIXC1:17
for b1 being Element of COMPLEX
for b2 being Matrix of COMPLEX holds (b2 * b1) *' = (b1 *' ) * (b2 *' ) by Th5;

theorem Th18: :: MATRIXC1:18
for b1, b2 being FinSequence of COMPLEX st len b1 = len b2 holds
( len (mlt b1,b2) = len b1 & len (mlt b1,b2) = len b2 ) by FINSEQ_2:86;

theorem Th19: :: MATRIXC1:19
for b1, b2 being FinSequence of COMPLEX
for b3 being Nat st b3 in dom (mlt b1,b2) holds
(mlt b1,b2) . b3 = (b1 . b3) * (b2 . b3)
proof end;

definition
let c1 be Nat;
let c2, c3 be Element of c1 -tuples_on COMPLEX ;
redefine func mlt as mlt c2,c3 -> Element of a1 -tuples_on COMPLEX ;
coherence
mlt c2,c3 is Element of c1 -tuples_on COMPLEX
by FINSEQ_2:140;
end;

theorem Th20: :: MATRIXC1:20
for b1, b2 being Nat
for b3, b4 being Element of b1 -tuples_on COMPLEX holds (mlt b3,b4) . b2 = (b3 . b2) * (b4 . b2)
proof end;

theorem Th21: :: MATRIXC1:21
for b1, b2 being Element of COMPLEX holds (addcomplex . b1,(b2 *' )) *' = addcomplex . (b1 *' ),b2
proof end;

theorem Th22: :: MATRIXC1:22
for b1 being FinSequence of COMPLEX ex b2 being Function of NAT , COMPLEX st
for b3 being Nat st 1 <= b3 & b3 <= len b1 holds
b2 . b3 = b1 . b3
proof end;

theorem Th23: :: MATRIXC1:23
for b1 being FinSequence of COMPLEX st len (b1 *' ) >= 1 holds
addcomplex $$ (b1 *' ) = (addcomplex $$ b1) *'
proof end;

theorem Th24: :: MATRIXC1:24
for b1 being FinSequence of COMPLEX st len b1 >= 1 holds
Sum (b1 *' ) = (Sum b1) *'
proof end;

theorem Th25: :: MATRIXC1:25
for b1, b2 being FinSequence of COMPLEX st len b1 = len b2 holds
(mlt b1,(b2 *' )) *' = mlt b2,(b1 *' )
proof end;

theorem Th26: :: MATRIXC1:26
for b1, b2 being FinSequence of COMPLEX
for b3 being Element of COMPLEX st len b1 = len b2 holds
mlt b1,(b3 * b2) = b3 * (mlt b1,b2)
proof end;

theorem Th27: :: MATRIXC1:27
for b1, b2 being FinSequence of COMPLEX
for b3 being Element of COMPLEX st len b1 = len b2 holds
mlt (b3 * b1),b2 = b3 * (mlt b1,b2)
proof end;

theorem Th28: :: MATRIXC1:28
for b1, b2 being FinSequence of COMPLEX st len b1 = len b2 holds
(mlt b1,b2) *' = mlt (b1 *' ),(b2 *' )
proof end;

Lemma28: for b1, b2 being Element of COMPLEX holds (multcomplex [;] b1,(id COMPLEX )) . b2 = b1 * b2
proof end;

theorem Th29: :: MATRIXC1:29
for b1 being FinSequence of COMPLEX
for b2 being Element of COMPLEX holds Sum (b2 * b1) = b2 * (Sum b1)
proof end;

definition
let c1 be FinSequence of REAL ;
func FR2FC c1 -> FinSequence of COMPLEX equals :: MATRIXC1:def 9
a1;
coherence
c1 is FinSequence of COMPLEX
proof end;
end;

:: deftheorem Def9 defines FR2FC MATRIXC1:def 9 :
for b1 being FinSequence of REAL holds FR2FC b1 = b1;

theorem Th30: :: MATRIXC1:30
for b1 being FinSequence of REAL
for b2 being FinSequence of COMPLEX st b1 = b2 & len b1 >= 1 holds
addreal $$ b1 = addcomplex $$ b2
proof end;

theorem Th31: :: MATRIXC1:31
for b1 being FinSequence of REAL
for b2 being FinSequence of COMPLEX st b1 = b2 & len b1 >= 1 holds
Sum b1 = Sum b2
proof end;

theorem Th32: :: MATRIXC1:32
for b1, b2 being FinSequence of COMPLEX st len b1 = len b2 holds
Sum (b1 - b2) = (Sum b1) - (Sum b2)
proof end;

theorem Th33: :: MATRIXC1:33
for b1, b2 being FinSequence of COMPLEX
for b3 being Nat st b3 in dom (b1 + b2) holds
(b1 + b2) . b3 = (b1 . b3) + (b2 . b3)
proof end;

theorem Th34: :: MATRIXC1:34
for b1, b2 being FinSequence of COMPLEX
for b3 being Nat st b3 in dom (b1 - b2) holds
(b1 - b2) . b3 = (b1 . b3) - (b2 . b3)
proof end;

theorem Th35: :: MATRIXC1:35
for b1, b2, b3 being FinSequence of COMPLEX st len b1 = len b2 & len b2 = len b3 holds
mlt (b1 - b2),b3 = (mlt b1,b3) - (mlt b2,b3)
proof end;

theorem Th36: :: MATRIXC1:36
for b1, b2, b3 being FinSequence of COMPLEX st len b1 = len b2 & len b2 = len b3 holds
mlt b1,(b2 - b3) = (mlt b1,b2) - (mlt b1,b3)
proof end;

theorem Th37: :: MATRIXC1:37
for b1, b2, b3 being FinSequence of COMPLEX st len b1 = len b2 & len b2 = len b3 holds
mlt b1,(b2 + b3) = (mlt b1,b2) + (mlt b1,b3)
proof end;

theorem Th38: :: MATRIXC1:38
for b1, b2, b3 being FinSequence of COMPLEX st len b1 = len b2 & len b2 = len b3 holds
mlt (b1 + b2),b3 = (mlt b1,b3) + (mlt b2,b3)
proof end;

theorem Th39: :: MATRIXC1:39
for b1, b2 being FinSequence of COMPLEX st len b1 = len b2 holds
Sum (b1 + b2) = (Sum b1) + (Sum b2)
proof end;

theorem Th40: :: MATRIXC1:40
for b1, b2 being FinSequence of COMPLEX
for b3, b4 being FinSequence of REAL st b1 = b3 & b2 = b4 & len b1 = len b4 holds
multcomplex .: b1,b2 = multreal .: b3,b4
proof end;

theorem Th41: :: MATRIXC1:41
for b1, b2 being FinSequence of REAL st len b1 = len b2 holds
FR2FC (mlt b1,b2) = mlt (FR2FC b1),(FR2FC b2)
proof end;

theorem Th42: :: MATRIXC1:42
for b1, b2 being FinSequence of COMPLEX st len b1 = len b2 & len b1 > 0 holds
|(b1,b2)| = Sum (mlt b1,(b2 *' ))
proof end;

theorem Th43: :: MATRIXC1:43
for b1, b2 being Matrix of COMPLEX st len b1 = len b2 & width b1 = width b2 holds
Indices b1 = Indices b2
proof end;

theorem Th44: :: MATRIXC1:44
for b1, b2 being Nat
for b3, b4 being Matrix of COMPLEX st len b3 = len b4 & width b3 = width b4 & b2 in Seg (len b3) holds
Line (b3 + b4),b2 = (Line b3,b2) + (Line b4,b2)
proof end;

theorem Th45: :: MATRIXC1:45
for b1 being Nat
for b2 being Matrix of COMPLEX st b1 in Seg (len b2) holds
Line b2,b1 = (Line (b2 *' ),b1) *'
proof end;

theorem Th46: :: MATRIXC1:46
for b1 being Nat
for b2 being FinSequence of COMPLEX
for b3 being Matrix of COMPLEX st len b2 = width b3 holds
mlt b2,((Line (b3 *' ),b1) *' ) = (mlt (Line (b3 *' ),b1),(b2 *' )) *'
proof end;

theorem Th47: :: MATRIXC1:47
for b1 being FinSequence of COMPLEX
for b2 being Matrix of COMPLEX st len b1 = width b2 & len b1 >= 1 holds
(b2 * b1) *' = (b2 *' ) * (b1 *' )
proof end;

theorem Th48: :: MATRIXC1:48
for b1, b2, b3 being FinSequence of COMPLEX st len b1 = len b2 & len b2 = len b3 holds
mlt b1,(mlt b2,b3) = mlt (mlt b1,b2),b3
proof end;

theorem Th49: :: MATRIXC1:49
for b1 being FinSequence of COMPLEX holds Sum (- b1) = - (Sum b1)
proof end;

theorem Th50: :: MATRIXC1:50
for b1 being Element of COMPLEX holds Sum <*b1*> = b1 by FINSOP_1:12;

theorem Th51: :: MATRIXC1:51
for b1, b2 being FinSequence of COMPLEX holds Sum (b1 ^ b2) = (Sum b1) + (Sum b2)
proof end;

definition
let c1 be Matrix of COMPLEX ;
func LineSum c1 -> FinSequence of COMPLEX means :Def10: :: MATRIXC1:def 10
( len a2 = len a1 & ( for b1 being Nat st b1 in Seg (len a1) holds
a2 . b1 = Sum (Line a1,b1) ) );
existence
ex b1 being FinSequence of COMPLEX st
( len b1 = len c1 & ( for b2 being Nat st b2 in Seg (len c1) holds
b1 . b2 = Sum (Line c1,b2) ) )
proof end;
uniqueness
for b1, b2 being FinSequence of COMPLEX st len b1 = len c1 & ( for b3 being Nat st b3 in Seg (len c1) holds
b1 . b3 = Sum (Line c1,b3) ) & len b2 = len c1 & ( for b3 being Nat st b3 in Seg (len c1) holds
b2 . b3 = Sum (Line c1,b3) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def10 defines LineSum MATRIXC1:def 10 :
for b1 being Matrix of COMPLEX
for b2 being FinSequence of COMPLEX holds
( b2 = LineSum b1 iff ( len b2 = len b1 & ( for b3 being Nat st b3 in Seg (len b1) holds
b2 . b3 = Sum (Line b1,b3) ) ) );

definition
let c1 be Matrix of COMPLEX ;
func ColSum c1 -> FinSequence of COMPLEX means :Def11: :: MATRIXC1:def 11
( len a2 = width a1 & ( for b1 being Nat st b1 in Seg (width a1) holds
a2 . b1 = Sum (Col a1,b1) ) );
existence
ex b1 being FinSequence of COMPLEX st
( len b1 = width c1 & ( for b2 being Nat st b2 in Seg (width c1) holds
b1 . b2 = Sum (Col c1,b2) ) )
proof end;
uniqueness
for b1, b2 being FinSequence of COMPLEX st len b1 = width c1 & ( for b3 being Nat st b3 in Seg (width c1) holds
b1 . b3 = Sum (Col c1,b3) ) & len b2 = width c1 & ( for b3 being Nat st b3 in Seg (width c1) holds
b2 . b3 = Sum (Col c1,b3) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def11 defines ColSum MATRIXC1:def 11 :
for b1 being Matrix of COMPLEX
for b2 being FinSequence of COMPLEX holds
( b2 = ColSum b1 iff ( len b2 = width b1 & ( for b3 being Nat st b3 in Seg (width b1) holds
b2 . b3 = Sum (Col b1,b3) ) ) );

theorem Th52: :: MATRIXC1:52
for b1 being FinSequence of COMPLEX st len b1 = 1 holds
Sum b1 = b1 . 1
proof end;

theorem Th53: :: MATRIXC1:53
for b1, b2 being FinSequence of COMPLEX
for b3 being Nat st len b1 = b3 + 1 & b2 = b1 | b3 holds
Sum b1 = (Sum b2) + (b1 /. (len b1))
proof end;

theorem Th54: :: MATRIXC1:54
for b1 being Matrix of COMPLEX st len b1 > 0 holds
Sum (LineSum b1) = Sum (ColSum b1)
proof end;

definition
let c1 be Matrix of COMPLEX ;
func SumAll c1 -> Element of COMPLEX equals :: MATRIXC1:def 12
Sum (LineSum a1);
coherence
Sum (LineSum c1) is Element of COMPLEX
;
end;

:: deftheorem Def12 defines SumAll MATRIXC1:def 12 :
for b1 being Matrix of COMPLEX holds SumAll b1 = Sum (LineSum b1);

theorem Th55: :: MATRIXC1:55
for b1 being Matrix of COMPLEX holds ColSum b1 = LineSum (b1 @ )
proof end;

theorem Th56: :: MATRIXC1:56
for b1 being Matrix of COMPLEX st len b1 > 0 holds
SumAll b1 = SumAll (b1 @ )
proof end;

definition
let c1, c2 be FinSequence of COMPLEX ;
let c3 be Matrix of COMPLEX ;
assume E53: ( len c1 = len c3 & len c2 = width c3 ) ;
func QuadraticForm c1,c3,c2 -> Matrix of COMPLEX means :Def13: :: MATRIXC1:def 13
( len a4 = len a1 & width a4 = len a2 & ( for b1, b2 being Nat st [b1,b2] in Indices a3 holds
a4 * b1,b2 = ((a1 . b1) * (a3 * b1,b2)) * ((a2 . b2) *' ) ) );
existence
ex b1 being Matrix of COMPLEX st
( len b1 = len c1 & width b1 = len c2 & ( for b2, b3 being Nat st [b2,b3] in Indices c3 holds
b1 * b2,b3 = ((c1 . b2) * (c3 * b2,b3)) * ((c2 . b3) *' ) ) )
proof end;
uniqueness
for b1, b2 being Matrix of COMPLEX st len b1 = len c1 & width b1 = len c2 & ( for b3, b4 being Nat st [b3,b4] in Indices c3 holds
b1 * b3,b4 = ((c1 . b3) * (c3 * b3,b4)) * ((c2 . b4) *' ) ) & len b2 = len c1 & width b2 = len c2 & ( for b3, b4 being Nat st [b3,b4] in Indices c3 holds
b2 * b3,b4 = ((c1 . b3) * (c3 * b3,b4)) * ((c2 . b4) *' ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def13 defines QuadraticForm MATRIXC1:def 13 :
for b1, b2 being FinSequence of COMPLEX
for b3 being Matrix of COMPLEX st len b1 = len b3 & len b2 = width b3 holds
for b4 being Matrix of COMPLEX holds
( b4 = QuadraticForm b1,b3,b2 iff ( len b4 = len b1 & width b4 = len b2 & ( for b5, b6 being Nat st [b5,b6] in Indices b3 holds
b4 * b5,b6 = ((b1 . b5) * (b3 * b5,b6)) * ((b2 . b6) *' ) ) ) );

theorem Th57: :: MATRIXC1:57
for b1, b2 being FinSequence of COMPLEX
for b3 being Matrix of COMPLEX st len b1 = len b3 & len b2 = width b3 & len b1 > 0 & len b2 > 0 holds
(QuadraticForm b1,b3,b2) @ = (QuadraticForm b2,(b3 @" ),b1) *'
proof end;

theorem Th58: :: MATRIXC1:58
for b1, b2 being FinSequence of COMPLEX
for b3 being Matrix of COMPLEX st len b1 = len b3 & len b2 = width b3 holds
(QuadraticForm b1,b3,b2) *' = QuadraticForm (b1 *' ),(b3 *' ),(b2 *' )
proof end;

theorem Th59: :: MATRIXC1:59
for b1, b2 being FinSequence of COMPLEX st len b1 = len b2 & 0 < len b2 holds
|(b1,b2)| = |(b2,b1)| *'
proof end;

theorem Th60: :: MATRIXC1:60
for b1, b2 being FinSequence of COMPLEX st len b1 = len b2 & 0 < len b2 holds
|(b1,b2)| *' = |((b1 *' ),(b2 *' ))|
proof end;

theorem Th61: :: MATRIXC1:61
for b1 being Matrix of COMPLEX st width b1 > 0 holds
(b1 @ ) *' = (b1 *' ) @
proof end;

theorem Th62: :: MATRIXC1:62
for b1, b2 being FinSequence of COMPLEX
for b3 being Matrix of COMPLEX st len b1 = width b3 & len b2 = len b3 & len b1 > 0 & len b2 > 0 holds
|(b1,((b3 @" ) * b2))| = SumAll (QuadraticForm b1,(b3 @ ),b2)
proof end;

theorem Th63: :: MATRIXC1:63
for b1, b2 being FinSequence of COMPLEX
for b3 being Matrix of COMPLEX st len b2 = len b3 & len b1 = width b3 & len b1 > 0 & len b2 > 0 & len b3 > 0 holds
|((b3 * b1),b2)| = SumAll (QuadraticForm b1,(b3 @ ),b2)
proof end;

theorem Th64: :: MATRIXC1:64
for b1, b2 being FinSequence of COMPLEX
for b3 being Matrix of COMPLEX st len b1 = width b3 & len b2 = len b3 & width b3 > 0 & len b3 > 0 holds
|((b3 * b1),b2)| = |(b1,((b3 @" ) * b2))|
proof end;

theorem Th65: :: MATRIXC1:65
for b1, b2 being FinSequence of COMPLEX
for b3 being Matrix of COMPLEX st len b1 = len b3 & len b2 = width b3 & width b3 > 0 & len b3 > 0 & len b1 > 0 holds
|(b1,(b3 * b2))| = |(((b3 @" ) * b1),b2)|
proof end;