:: MATRLIN semantic presentation

definition
let c1, c2 be set ;
let c3 be FinSequence-DOMAIN of c1;
let c4 be PartFunc of c2,c3;
let c5 be set ;
redefine func /. as c4 /. c5 -> Element of a3;
coherence
c4 /. c5 is Element of c3
;
end;

theorem Th1: :: MATRLIN:1
canceled;

theorem Th2: :: MATRLIN:2
canceled;

definition
let c1 be non empty set ;
let c2 be Nat;
let c3 be Matrix of c1;
redefine func Del as Del c3,c2 -> Matrix of a1;
coherence
Del c3,c2 is Matrix of c1
proof end;
end;

theorem Th3: :: MATRLIN:3
for b1 being Nat
for b2 being FinSequence st len b2 = b1 + 1 holds
len (Del b2,(b1 + 1)) = b1
proof end;

theorem Th4: :: MATRLIN:4
for b1, b2 being Nat
for b3 being non empty set
for b4 being Matrix of b1 + 1,b2,b3
for b5 being Matrix of b3 holds
( ( b1 > 0 implies width b4 = width (Del b4,(b1 + 1)) ) & ( b5 = <*(b4 . (b1 + 1))*> implies width b4 = width b5 ) )
proof end;

theorem Th5: :: MATRLIN:5
for b1, b2 being Nat
for b3 being non empty set
for b4 being Matrix of b1 + 1,b2,b3 holds Del b4,(b1 + 1) is Matrix of b1,b2,b3
proof end;

theorem Th6: :: MATRLIN:6
for b1 being Nat
for b2 being FinSequence st len b2 = b1 + 1 holds
b2 = (Del b2,(len b2)) ^ <*(b2 . (len b2))*>
proof end;

definition
let c1 be non empty set ;
let c2 be FinSequence of c1;
redefine func <* as <*c2*> -> Matrix of 1, len a2,a1;
coherence
<*c2*> is Matrix of 1, len c2,c1
by MATRIX_1:11;
end;

theorem Th7: :: MATRLIN:7
for b1 being set
for b2 being FinSequence holds (Sgm (b2 " b1)) ^ (Sgm (b2 " ((rng b2) \ b1))) is Permutation of dom b2
proof end;

theorem Th8: :: MATRLIN:8
for b1 being FinSequence
for b2 being Subset of (rng b1) st b1 is one-to-one holds
ex b3 being Permutation of dom b1 st (b1 - (b2 ` )) ^ (b1 - b2) = b1 * b3
proof end;

definition
let c1 be Function;
attr a1 is FinSequence-yielding means :Def1: :: MATRLIN:def 1
for b1 being set st b1 in dom a1 holds
a1 . b1 is FinSequence;
end;

:: deftheorem Def1 defines FinSequence-yielding MATRLIN:def 1 :
for b1 being Function holds
( b1 is FinSequence-yielding iff for b2 being set st b2 in dom b1 holds
b1 . b2 is FinSequence );

registration
cluster FinSequence-yielding set ;
existence
ex b1 being Function st b1 is FinSequence-yielding
proof end;
end;

definition
let c1, c2 be FinSequence-yielding Function;
func c1 ^^ c2 -> FinSequence-yielding Function means :Def2: :: MATRLIN:def 2
( dom a3 = (dom a1) /\ (dom a2) & ( for b1 being set st b1 in dom a3 holds
for b2, b3 being FinSequence st b2 = a1 . b1 & b3 = a2 . b1 holds
a3 . b1 = b2 ^ b3 ) );
existence
ex b1 being FinSequence-yielding Function st
( dom b1 = (dom c1) /\ (dom c2) & ( for b2 being set st b2 in dom b1 holds
for b3, b4 being FinSequence st b3 = c1 . b2 & b4 = c2 . b2 holds
b1 . b2 = b3 ^ b4 ) )
proof end;
uniqueness
for b1, b2 being FinSequence-yielding Function st dom b1 = (dom c1) /\ (dom c2) & ( for b3 being set st b3 in dom b1 holds
for b4, b5 being FinSequence st b4 = c1 . b3 & b5 = c2 . b3 holds
b1 . b3 = b4 ^ b5 ) & dom b2 = (dom c1) /\ (dom c2) & ( for b3 being set st b3 in dom b2 holds
for b4, b5 being FinSequence st b4 = c1 . b3 & b5 = c2 . b3 holds
b2 . b3 = b4 ^ b5 ) holds
b1 = b2
proof end;
end;

:: deftheorem Def2 defines ^^ MATRLIN:def 2 :
for b1, b2, b3 being FinSequence-yielding Function holds
( b3 = b1 ^^ b2 iff ( dom b3 = (dom b1) /\ (dom b2) & ( for b4 being set st b4 in dom b3 holds
for b5, b6 being FinSequence st b5 = b1 . b4 & b6 = b2 . b4 holds
b3 . b4 = b5 ^ b6 ) ) );

theorem Th9: :: MATRLIN:9
for b1 being Field
for b2 being VectSp of b1
for b3, b4 being Linear_Combination of b2
for b5 being Subset of b2 st b5 is linearly-independent & Carrier b3 c= b5 & Carrier b4 c= b5 & Sum b3 = Sum b4 holds
b3 = b4
proof end;

theorem Th10: :: MATRLIN:10
for b1 being Field
for b2 being VectSp of b1
for b3, b4, b5 being Linear_Combination of b2
for b6 being Subset of b2 st b6 is linearly-independent & Carrier b3 c= b6 & Carrier b4 c= b6 & Carrier b5 c= b6 & Sum b3 = (Sum b4) + (Sum b5) holds
b3 = b4 + b5
proof end;

theorem Th11: :: MATRLIN:11
for b1 being Field
for b2 being VectSp of b1
for b3 being Element of b1
for b4, b5 being Linear_Combination of b2
for b6 being Subset of b2 st b6 is linearly-independent & Carrier b4 c= b6 & Carrier b5 c= b6 & b3 <> 0. b1 & Sum b4 = b3 * (Sum b5) holds
b4 = b3 * b5
proof end;

theorem Th12: :: MATRLIN:12
for b1 being Field
for b2 being VectSp of b1
for b3 being Element of b2
for b4 being Basis of b2 ex b5 being Linear_Combination of b2 st
( b3 = Sum b5 & Carrier b5 c= b4 )
proof end;

definition
let c1 be Field;
let c2 be VectSp of c1;
attr a2 is finite-dimensional means :Def3: :: MATRLIN:def 3
ex b1 being finite Subset of a2 st b1 is Basis of a2;
end;

:: deftheorem Def3 defines finite-dimensional MATRLIN:def 3 :
for b1 being Field
for b2 being VectSp of b1 holds
( b2 is finite-dimensional iff ex b3 being finite Subset of b2 st b3 is Basis of b2 );

registration
let c1 be Field;
cluster strict finite-dimensional VectSpStr of a1;
existence
ex b1 being VectSp of c1 st
( b1 is strict & b1 is finite-dimensional )
proof end;
end;

definition
let c1 be Field;
let c2 be finite-dimensional VectSp of c1;
mode OrdBasis of c2 -> FinSequence of the carrier of a2 means :Def4: :: MATRLIN:def 4
( a3 is one-to-one & rng a3 is Basis of a2 );
existence
ex b1 being FinSequence of the carrier of c2 st
( b1 is one-to-one & rng b1 is Basis of c2 )
proof end;
end;

:: deftheorem Def4 defines OrdBasis MATRLIN:def 4 :
for b1 being Field
for b2 being finite-dimensional VectSp of b1
for b3 being FinSequence of the carrier of b2 holds
( b3 is OrdBasis of b2 iff ( b3 is one-to-one & rng b3 is Basis of b2 ) );

Lemma15: for b1, b2 being FinSequence st len b1 = len b2 & ( for b3 being Nat st b3 in dom b1 holds
b1 . b3 = b2 . b3 ) holds
b1 = b2
proof end;

definition
let c1 be non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr ;
let c2, c3 be VectSp of c1;
let c4, c5 be Function of c2,c3;
func c4 + c5 -> Function of a2,a3 means :Def5: :: MATRLIN:def 5
for b1 being Element of a2 holds a6 . b1 = (a4 . b1) + (a5 . b1);
existence
ex b1 being Function of c2,c3 st
for b2 being Element of c2 holds b1 . b2 = (c4 . b2) + (c5 . b2)
proof end;
uniqueness
for b1, b2 being Function of c2,c3 st ( for b3 being Element of c2 holds b1 . b3 = (c4 . b3) + (c5 . b3) ) & ( for b3 being Element of c2 holds b2 . b3 = (c4 . b3) + (c5 . b3) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def5 defines + MATRLIN:def 5 :
for b1 being non empty Abelian add-associative right_zeroed right_complementable associative distributive left_unital doubleLoopStr
for b2, b3 being VectSp of b1
for b4, b5, b6 being Function of b2,b3 holds
( b6 = b4 + b5 iff for b7 being Element of b2 holds b6 . b7 = (b4 . b7) + (b5 . b7) );

definition
let c1 be Field;
let c2, c3 be finite-dimensional VectSp of c1;
let c4 be Function of c2,c3;
let c5 be Element of c1;
func c5 * c4 -> Function of a2,a3 means :Def6: :: MATRLIN:def 6
for b1 being Element of a2 holds a6 . b1 = a5 * (a4 . b1);
existence
ex b1 being Function of c2,c3 st
for b2 being Element of c2 holds b1 . b2 = c5 * (c4 . b2)
proof end;
uniqueness
for b1, b2 being Function of c2,c3 st ( for b3 being Element of c2 holds b1 . b3 = c5 * (c4 . b3) ) & ( for b3 being Element of c2 holds b2 . b3 = c5 * (c4 . b3) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def6 defines * MATRLIN:def 6 :
for b1 being Field
for b2, b3 being finite-dimensional VectSp of b1
for b4 being Function of b2,b3
for b5 being Element of b1
for b6 being Function of b2,b3 holds
( b6 = b5 * b4 iff for b7 being Element of b2 holds b6 . b7 = b5 * (b4 . b7) );

theorem Th13: :: MATRLIN:13
for b1 being Field
for b2 being finite-dimensional VectSp of b1
for b3 being Element of b2
for b4 being FinSequence of the carrier of b2
for b5 being FinSequence of the carrier of b1 st len b4 = len b5 & ( for b6 being Nat
for b7 being Element of b1 st b6 in dom b4 & b7 = b5 . b6 holds
b4 . b6 = b7 * b3 ) holds
Sum b4 = (Sum b5) * b3
proof end;

theorem Th14: :: MATRLIN:14
for b1 being Field
for b2 being finite-dimensional VectSp of b1
for b3 being Element of b2
for b4 being FinSequence of the carrier of b1
for b5 being FinSequence of the carrier of b2 st len b4 = len b5 & ( for b6 being Nat st b6 in dom b4 holds
b5 . b6 = (b4 /. b6) * b3 ) holds
Sum b5 = (Sum b4) * b3
proof end;

theorem Th15: :: MATRLIN:15
for b1 being non empty add-associative right_zeroed right_complementable LoopStr
for b2 being FinSequence of the carrier of b1 st ( for b3 being Nat st b3 in dom b2 holds
b2 /. b3 = 0. b1 ) holds
Sum b2 = 0. b1
proof end;

definition
let c1 be Field;
let c2 be finite-dimensional VectSp of c1;
let c3 be FinSequence of the carrier of c1;
let c4 be FinSequence of the carrier of c2;
func lmlt c3,c4 -> FinSequence of the carrier of a2 equals :: MATRLIN:def 7
the lmult of a2 .: a3,a4;
coherence
the lmult of c2 .: c3,c4 is FinSequence of the carrier of c2
;
end;

:: deftheorem Def7 defines lmlt MATRLIN:def 7 :
for b1 being Field
for b2 being finite-dimensional VectSp of b1
for b3 being FinSequence of the carrier of b1
for b4 being FinSequence of the carrier of b2 holds lmlt b3,b4 = the lmult of b2 .: b3,b4;

theorem Th16: :: MATRLIN:16
for b1 being Field
for b2 being finite-dimensional VectSp of b1
for b3 being FinSequence of the carrier of b2
for b4 being FinSequence of the carrier of b1 st dom b4 = dom b3 holds
dom (lmlt b4,b3) = dom b4
proof end;

definition
let c1 be non empty LoopStr ;
let c2 be FinSequence of the carrier of c1 * ;
func Sum c2 -> FinSequence of the carrier of a1 means :Def8: :: MATRLIN:def 8
( len a3 = len a2 & ( for b1 being Nat st b1 in dom a3 holds
a3 /. b1 = Sum (a2 /. b1) ) );
existence
ex b1 being FinSequence of the carrier of c1 st
( len b1 = len c2 & ( for b2 being Nat st b2 in dom b1 holds
b1 /. b2 = Sum (c2 /. b2) ) )
proof end;
uniqueness
for b1, b2 being FinSequence of the carrier of c1 st len b1 = len c2 & ( for b3 being Nat st b3 in dom b1 holds
b1 /. b3 = Sum (c2 /. b3) ) & len b2 = len c2 & ( for b3 being Nat st b3 in dom b2 holds
b2 /. b3 = Sum (c2 /. b3) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def8 defines Sum MATRLIN:def 8 :
for b1 being non empty LoopStr
for b2 being FinSequence of the carrier of b1 *
for b3 being FinSequence of the carrier of b1 holds
( b3 = Sum b2 iff ( len b3 = len b2 & ( for b4 being Nat st b4 in dom b3 holds
b3 /. b4 = Sum (b2 /. b4) ) ) );

theorem Th17: :: MATRLIN:17
for b1 being Field
for b2 being finite-dimensional VectSp of b1
for b3 being Matrix of the carrier of b2 st len b3 = 0 holds
Sum (Sum b3) = 0. b2
proof end;

theorem Th18: :: MATRLIN:18
for b1 being Nat
for b2 being Field
for b3 being finite-dimensional VectSp of b2
for b4 being Matrix of b1 + 1,0,the carrier of b3 holds Sum (Sum b4) = 0. b3
proof end;

theorem Th19: :: MATRLIN:19
for b1 being Field
for b2 being finite-dimensional VectSp of b1
for b3 being Element of b2 holds <*<*b3*>*> = <*<*b3*>*> @
proof end;

theorem Th20: :: MATRLIN:20
for b1 being Field
for b2, b3 being finite-dimensional VectSp of b1
for b4 being Function of b3,b2
for b5 being FinSequence of the carrier of b3 st b4 is linear holds
b4 . (Sum b5) = Sum (b4 * b5)
proof end;

theorem Th21: :: MATRLIN:21
for b1 being Field
for b2, b3 being finite-dimensional VectSp of b1
for b4 being Function of b3,b2
for b5 being FinSequence of the carrier of b1
for b6 being FinSequence of the carrier of b3 st len b6 = len b5 & b4 is linear holds
b4 * (lmlt b5,b6) = lmlt b5,(b4 * b6)
proof end;

theorem Th22: :: MATRLIN:22
for b1 being Field
for b2, b3 being finite-dimensional VectSp of b1
for b4 being Function of b3,b2
for b5 being OrdBasis of b3
for b6 being FinSequence of the carrier of b1 st len b6 = len b5 & b4 is linear holds
b4 . (Sum (lmlt b6,b5)) = Sum (lmlt b6,(b4 * b5))
proof end;

theorem Th23: :: MATRLIN:23
for b1 being Field
for b2 being finite-dimensional VectSp of b1
for b3, b4 being FinSequence of the carrier of b2
for b5 being Linear_Combination of b2
for b6 being Permutation of dom b3 st b4 = b3 * b6 holds
b5 (#) b4 = (b5 (#) b3) * b6
proof end;

theorem Th24: :: MATRLIN:24
for b1 being Field
for b2 being finite-dimensional VectSp of b1
for b3 being FinSequence of the carrier of b2
for b4 being Linear_Combination of b2 st b3 is one-to-one & Carrier b4 c= rng b3 holds
Sum (b4 (#) b3) = Sum b4
proof end;

theorem Th25: :: MATRLIN:25
for b1 being Field
for b2, b3 being finite-dimensional VectSp of b1
for b4, b5 being Function of b3,b2
for b6 being set
for b7 being FinSequence of the carrier of b3 st rng b7 c= b6 & b4 is linear & b5 is linear & ( for b8 being Element of b3 st b8 in b6 holds
b4 . b8 = b5 . b8 ) holds
b4 . (Sum b7) = b5 . (Sum b7)
proof end;

theorem Th26: :: MATRLIN:26
for b1 being Field
for b2, b3 being finite-dimensional VectSp of b1
for b4, b5 being Function of b3,b2 st b4 is linear & b5 is linear holds
for b6 being OrdBasis of b3 st len b6 > 0 & b4 * b6 = b5 * b6 holds
b4 = b5
proof end;

registration
let c1 be non empty set ;
cluster -> FinSequence-yielding FinSequence of a1 * ;
coherence
for b1 being Matrix of c1 holds b1 is FinSequence-yielding
proof end;
end;

definition
let c1 be non empty set ;
let c2, c3 be Matrix of c1;
redefine func ^^ as c2 ^^ c3 -> Matrix of a1;
coherence
c2 ^^ c3 is Matrix of c1
proof end;
end;

definition
let c1 be non empty set ;
let c2, c3, c4 be Nat;
let c5 be Matrix of c2,c4,c1;
let c6 be Matrix of c3,c4,c1;
redefine func ^ as c5 ^ c6 -> Matrix of a2 + a3,a4,a1;
coherence
c5 ^ c6 is Matrix of c2 + c3,c4,c1
proof end;
end;

theorem Th27: :: MATRLIN:27
for b1, b2, b3, b4 being Nat
for b5 being non empty set
for b6 being Matrix of b1,b2,b5
for b7 being Matrix of b3,b2,b5 st b4 in dom b6 holds
Line (b6 ^ b7),b4 = Line b6,b4
proof end;

theorem Th28: :: MATRLIN:28
for b1, b2, b3 being Nat
for b4 being non empty set
for b5 being Matrix of b1,b2,b4
for b6 being Matrix of b3,b2,b4 st width b5 = width b6 holds
width (b5 ^ b6) = width b5
proof end;

theorem Th29: :: MATRLIN:29
for b1, b2, b3, b4, b5 being Nat
for b6 being non empty set
for b7 being Matrix of b1,b2,b6
for b8 being Matrix of b3,b2,b6 st b4 in dom b8 & b5 = (len b7) + b4 holds
Line (b7 ^ b8),b5 = Line b8,b4
proof end;

theorem Th30: :: MATRLIN:30
for b1, b2, b3 being Nat
for b4 being non empty set
for b5 being Matrix of b1,b2,b4
for b6 being Matrix of b3,b2,b4 st width b5 = width b6 holds
for b7 being Nat st b7 in Seg (width b5) holds
Col (b5 ^ b6),b7 = (Col b5,b7) ^ (Col b6,b7)
proof end;

theorem Th31: :: MATRLIN:31
for b1, b2, b3 being Nat
for b4 being Field
for b5 being VectSp of b4
for b6 being Matrix of b1,b2,the carrier of b5
for b7 being Matrix of b3,b2,the carrier of b5 holds Sum (b6 ^ b7) = (Sum b6) ^ (Sum b7)
proof end;

theorem Th32: :: MATRLIN:32
for b1, b2, b3 being Nat
for b4 being non empty set
for b5 being Matrix of b1,b2,b4
for b6 being Matrix of b3,b2,b4 st width b5 = width b6 holds
(b5 ^ b6) @ = (b5 @ ) ^^ (b6 @ )
proof end;

theorem Th33: :: MATRLIN:33
for b1 being Field
for b2 being finite-dimensional VectSp of b1
for b3, b4 being Matrix of the carrier of b2 holds the add of b2 .: (Sum b3),(Sum b4) = Sum (b3 ^^ b4)
proof end;

definition
let c1 be non empty set ;
let c2 be BinOp of c1;
let c3, c4 be FinSequence of c1;
redefine func .: as c2 .: c3,c4 -> FinSequence of a1;
coherence
c2 .: c3,c4 is FinSequence of c1
proof end;
end;

theorem Th34: :: MATRLIN:34
for b1 being Field
for b2 being finite-dimensional VectSp of b1
for b3, b4 being FinSequence of the carrier of b2 st len b3 = len b4 holds
Sum (the add of b2 .: b3,b4) = (Sum b3) + (Sum b4)
proof end;

theorem Th35: :: MATRLIN:35
for b1 being Field
for b2 being finite-dimensional VectSp of b1
for b3, b4 being Matrix of the carrier of b2 st len b3 = len b4 holds
(Sum (Sum b3)) + (Sum (Sum b4)) = Sum (Sum (b3 ^^ b4))
proof end;

theorem Th36: :: MATRLIN:36
canceled;

theorem Th37: :: MATRLIN:37
for b1 being Field
for b2 being finite-dimensional VectSp of b1
for b3 being Matrix of the carrier of b2 holds Sum (Sum b3) = Sum (Sum (b3 @ ))
proof end;

theorem Th38: :: MATRLIN:38
for b1, b2 being Nat
for b3 being Field
for b4 being finite-dimensional VectSp of b3
for b5 being Matrix of b1,b2,the carrier of b3 st b1 > 0 & b2 > 0 holds
for b6, b7 being FinSequence of the carrier of b3 st len b6 = b1 & len b7 = b2 & ( for b8 being Nat st b8 in dom b7 holds
b7 /. b8 = Sum (mlt b6,(Col b5,b8)) ) holds
for b8, b9 being FinSequence of the carrier of b4 st len b8 = b2 & len b9 = b1 & ( for b10 being Nat st b10 in dom b9 holds
b9 /. b10 = Sum (lmlt (Line b5,b10),b8) ) holds
Sum (lmlt b6,b9) = Sum (lmlt b7,b8)
proof end;

definition
let c1 be Field;
let c2 be finite-dimensional VectSp of c1;
let c3 be OrdBasis of c2;
let c4 be Element of c2;
func c4 |-- c3 -> FinSequence of the carrier of a1 means :Def9: :: MATRLIN:def 9
( len a5 = len a3 & ex b1 being Linear_Combination of a2 st
( a4 = Sum b1 & Carrier b1 c= rng a3 & ( for b2 being Nat st 1 <= b2 & b2 <= len a5 holds
a5 /. b2 = b1 . (a3 /. b2) ) ) );
existence
ex b1 being FinSequence of the carrier of c1 st
( len b1 = len c3 & ex b2 being Linear_Combination of c2 st
( c4 = Sum b2 & Carrier b2 c= rng c3 & ( for b3 being Nat st 1 <= b3 & b3 <= len b1 holds
b1 /. b3 = b2 . (c3 /. b3) ) ) )
proof end;
uniqueness
for b1, b2 being FinSequence of the carrier of c1 st len b1 = len c3 & ex b3 being Linear_Combination of c2 st
( c4 = Sum b3 & Carrier b3 c= rng c3 & ( for b4 being Nat st 1 <= b4 & b4 <= len b1 holds
b1 /. b4 = b3 . (c3 /. b4) ) ) & len b2 = len c3 & ex b3 being Linear_Combination of c2 st
( c4 = Sum b3 & Carrier b3 c= rng c3 & ( for b4 being Nat st 1 <= b4 & b4 <= len b2 holds
b2 /. b4 = b3 . (c3 /. b4) ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def9 defines |-- MATRLIN:def 9 :
for b1 being Field
for b2 being finite-dimensional VectSp of b1
for b3 being OrdBasis of b2
for b4 being Element of b2
for b5 being FinSequence of the carrier of b1 holds
( b5 = b4 |-- b3 iff ( len b5 = len b3 & ex b6 being Linear_Combination of b2 st
( b4 = Sum b6 & Carrier b6 c= rng b3 & ( for b7 being Nat st 1 <= b7 & b7 <= len b5 holds
b5 /. b7 = b6 . (b3 /. b7) ) ) ) );

Lemma43: for b1 being Field
for b2 being finite-dimensional VectSp of b1
for b3 being OrdBasis of b2
for b4 being Element of b2 holds dom (b4 |-- b3) = dom b3
proof end;

theorem Th39: :: MATRLIN:39
for b1 being Field
for b2 being finite-dimensional VectSp of b1
for b3 being OrdBasis of b2
for b4, b5 being Vector of b2 st b4 |-- b3 = b5 |-- b3 holds
b4 = b5
proof end;

theorem Th40: :: MATRLIN:40
for b1 being Field
for b2 being finite-dimensional VectSp of b1
for b3 being OrdBasis of b2
for b4 being Element of b2 holds b4 = Sum (lmlt (b4 |-- b3),b3)
proof end;

theorem Th41: :: MATRLIN:41
for b1 being Field
for b2 being finite-dimensional VectSp of b1
for b3 being OrdBasis of b2
for b4 being FinSequence of the carrier of b1 st len b4 = len b3 holds
b4 = (Sum (lmlt b4,b3)) |-- b3
proof end;

Lemma47: for b1 being FinSequence
for b2 being set st b2 in dom b1 holds
len b1 > 0
proof end;

theorem Th42: :: MATRLIN:42
for b1 being Field
for b2, b3 being finite-dimensional VectSp of b1
for b4 being Function of b2,b3
for b5 being OrdBasis of b2
for b6 being OrdBasis of b3
for b7, b8 being FinSequence of the carrier of b1 st len b7 = len b5 holds
for b9 being Nat st b9 in dom b6 & len b8 = len b5 & ( for b10 being Nat st b10 in dom b5 holds
b8 . b10 = ((b4 . (b5 /. b10)) |-- b6) /. b9 ) & len b5 > 0 holds
((Sum (lmlt b7,(b4 * b5))) |-- b6) /. b9 = Sum (mlt b7,b8)
proof end;

definition
let c1 be Field;
let c2, c3 be finite-dimensional VectSp of c1;
let c4 be Function of the carrier of c2,the carrier of c3;
let c5 be FinSequence of the carrier of c2;
let c6 be OrdBasis of c3;
func AutMt c4,c5,c6 -> Matrix of a1 means :Def10: :: MATRLIN:def 10
( len a7 = len a5 & ( for b1 being Nat st b1 in dom a5 holds
a7 /. b1 = (a4 . (a5 /. b1)) |-- a6 ) );
existence
ex b1 being Matrix of c1 st
( len b1 = len c5 & ( for b2 being Nat st b2 in dom c5 holds
b1 /. b2 = (c4 . (c5 /. b2)) |-- c6 ) )
proof end;
uniqueness
for b1, b2 being Matrix of c1 st len b1 = len c5 & ( for b3 being Nat st b3 in dom c5 holds
b1 /. b3 = (c4 . (c5 /. b3)) |-- c6 ) & len b2 = len c5 & ( for b3 being Nat st b3 in dom c5 holds
b2 /. b3 = (c4 . (c5 /. b3)) |-- c6 ) holds
b1 = b2
proof end;
end;

:: deftheorem Def10 defines AutMt MATRLIN:def 10 :
for b1 being Field
for b2, b3 being finite-dimensional VectSp of b1
for b4 being Function of the carrier of b2,the carrier of b3
for b5 being FinSequence of the carrier of b2
for b6 being OrdBasis of b3
for b7 being Matrix of b1 holds
( b7 = AutMt b4,b5,b6 iff ( len b7 = len b5 & ( for b8 being Nat st b8 in dom b5 holds
b7 /. b8 = (b4 . (b5 /. b8)) |-- b6 ) ) );

Lemma50: for b1 being Field
for b2, b3 being finite-dimensional VectSp of b1
for b4 being Function of b2,b3
for b5 being OrdBasis of b2
for b6 being OrdBasis of b3 holds dom (AutMt b4,b5,b6) = dom b5
proof end;

theorem Th43: :: MATRLIN:43
for b1 being Field
for b2, b3 being finite-dimensional VectSp of b1
for b4 being Function of b2,b3
for b5 being OrdBasis of b2
for b6 being OrdBasis of b3 st len b5 = 0 holds
AutMt b4,b5,b6 = {}
proof end;

theorem Th44: :: MATRLIN:44
for b1 being Field
for b2, b3 being finite-dimensional VectSp of b1
for b4 being Function of b2,b3
for b5 being OrdBasis of b2
for b6 being OrdBasis of b3 st len b5 > 0 holds
width (AutMt b4,b5,b6) = len b6
proof end;

theorem Th45: :: MATRLIN:45
for b1 being Field
for b2, b3 being finite-dimensional VectSp of b1
for b4, b5 being Function of b2,b3
for b6 being OrdBasis of b2
for b7 being OrdBasis of b3 st b4 is linear & b5 is linear & AutMt b4,b6,b7 = AutMt b5,b6,b7 & len b6 > 0 holds
b4 = b5
proof end;

theorem Th46: :: MATRLIN:46
for b1 being Field
for b2, b3, b4 being finite-dimensional VectSp of b1
for b5 being Function of b2,b3
for b6 being Function of b3,b4
for b7 being OrdBasis of b2
for b8 being OrdBasis of b3
for b9 being OrdBasis of b4 st b5 is linear & b6 is linear & len b7 > 0 & len b8 > 0 & len b9 > 0 holds
AutMt (b6 * b5),b7,b9 = (AutMt b5,b7,b8) * (AutMt b6,b8,b9)
proof end;

theorem Th47: :: MATRLIN:47
for b1 being Field
for b2, b3 being finite-dimensional VectSp of b1
for b4, b5 being Function of b2,b3
for b6 being OrdBasis of b2
for b7 being OrdBasis of b3 holds AutMt (b4 + b5),b6,b7 = (AutMt b4,b6,b7) + (AutMt b5,b6,b7)
proof end;

theorem Th48: :: MATRLIN:48
for b1 being Field
for b2 being Element of b1
for b3, b4 being finite-dimensional VectSp of b1
for b5 being Function of b3,b4
for b6 being OrdBasis of b3
for b7 being OrdBasis of b4 st b2 <> 0. b1 holds
AutMt (b2 * b5),b6,b7 = b2 * (AutMt b5,b6,b7)
proof end;