Article MATRLIN, MML version 4.99.1005

:: MATRLIN:funcnot 1 => MATRLIN:func 1
definition
  let a1, a2 be set;
  let a3 be non empty FinSequenceSet of a1;
  let a4 be Function-like Relation of a2,a3;
  let a5 be set;
  redefine func a4 /. a5 -> Element of a3;
end;

:: MATRLIN:funcnot 2 => MATRLIN:func 2
definition
  let a1 be non empty set;
  let a2 be natural set;
  let a3 be tabular FinSequence of a1 *;
  redefine func Del(a3,a2) -> tabular FinSequence of a1 *;
end;

:: MATRLIN:th 3
theorem
for b1 being natural set
for b2 being Relation-like Function-like FinSequence-like set
      st len b2 = b1 + 1
   holds len Del(b2,b1 + 1) = b1;

:: MATRLIN:th 4
theorem
for b1, b2 being natural set
for b3 being non empty set
for b4 being Matrix of b1 + 1,b2,b3
for b5 being tabular FinSequence of b3 * holds
   (b1 <= {} or width b4 = width Del(b4,b1 + 1)) &
    (b5 = <*b4 . (b1 + 1)*> implies width b4 = width b5);

:: MATRLIN:th 5
theorem
for b1, b2 being natural set
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;

:: MATRLIN:th 6
theorem
for b1 being natural set
for b2 being Relation-like Function-like FinSequence-like set
      st len b2 = b1 + 1
   holds b2 = (Del(b2,len b2)) ^ <*b2 . len b2*>;

:: MATRLIN:funcnot 3 => MATRLIN:func 3
definition
  let a1 be non empty set;
  let a2 be FinSequence of a1;
  redefine func <*a2*> -> Matrix of 1,len a2,a1;
end;

:: MATRLIN:th 7
theorem
for b1 being set
for b2 being Relation-like Function-like FinSequence-like set holds
   (Sgm (b2 " b1)) ^ Sgm (b2 " ((proj2 b2) \ b1)) is Function-like quasi_total bijective Relation of proj1 b2,proj1 b2;

:: MATRLIN:attrnot 1 => MATRLIN:attr 1
definition
  let a1 be Relation-like Function-like set;
  attr a1 is FinSequence-yielding means
    for b1 being set
          st b1 in proj1 a1
       holds a1 . b1 is Relation-like Function-like FinSequence-like set;
end;

:: MATRLIN:dfs 1
definiens
  let a1 be Relation-like Function-like set;
To prove
     a1 is FinSequence-yielding
it is sufficient to prove
  thus for b1 being set
          st b1 in proj1 a1
       holds a1 . b1 is Relation-like Function-like FinSequence-like set;

:: MATRLIN:def 1
theorem
for b1 being Relation-like Function-like set holds
      b1 is FinSequence-yielding
   iff
      for b2 being set
            st b2 in proj1 b1
         holds b1 . b2 is Relation-like Function-like FinSequence-like set;

:: MATRLIN:exreg 1
registration
  cluster Relation-like Function-like FinSequence-yielding set;
end;

:: MATRLIN:funcnot 4 => MATRLIN:func 4
definition
  let a1, a2 be Relation-like Function-like FinSequence-yielding set;
  func A1 ^^ A2 -> Relation-like Function-like FinSequence-yielding set means
    proj1 it = (proj1 a1) /\ proj1 a2 &
     (for b1 being set
        st b1 in proj1 it
     for b2, b3 being Relation-like Function-like FinSequence-like set
           st b2 = a1 . b1 & b3 = a2 . b1
        holds it . b1 = b2 ^ b3);
end;

:: MATRLIN:def 2
theorem
for b1, b2, b3 being Relation-like Function-like FinSequence-yielding set holds
   b3 = b1 ^^ b2
iff
   proj1 b3 = (proj1 b1) /\ proj1 b2 &
    (for b4 being set
       st b4 in proj1 b3
    for b5, b6 being Relation-like Function-like FinSequence-like set
          st b5 = b1 . b4 & b6 = b2 . b4
       holds b3 . b4 = b5 ^ b6);

:: MATRLIN:th 9
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over b1
for b3, b4 being Linear_Combination of b2
for b5 being Element of bool the carrier of b2
      st b5 is linearly-independent(b1, b2) & Carrier b3 c= b5 & Carrier b4 c= b5 & Sum b3 = Sum b4
   holds b3 = b4;

:: MATRLIN:th 10
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over b1
for b3, b4, b5 being Linear_Combination of b2
for b6 being Element of bool the carrier of b2
      st b6 is linearly-independent(b1, b2) & Carrier b3 c= b6 & Carrier b4 c= b6 & Carrier b5 c= b6 & Sum b3 = (Sum b4) + Sum b5
   holds b3 = b4 + b5;

:: MATRLIN:th 11
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over b1
for b3 being Element of the carrier of b1
for b4, b5 being Linear_Combination of b2
for b6 being Element of bool the carrier of b2
      st b6 is linearly-independent(b1, b2) & Carrier b4 c= b6 & Carrier b5 c= b6 & b3 <> 0. b1 & Sum b4 = b3 * Sum b5
   holds b4 = b3 * b5;

:: MATRLIN:th 12
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over b1
for b3 being Element of the carrier of b2
for b4 being Basis of b2 holds
   ex b5 being Linear_Combination of b2 st
      b3 = Sum b5 & Carrier b5 c= b4;

:: MATRLIN:attrnot 2 => MATRLIN:attr 2
definition
  let a1 be non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
  let a2 be non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over a1;
  attr a2 is finite-dimensional means
    ex b1 being finite Element of bool the carrier of a2 st
       b1 is Basis of a2;
end;

:: MATRLIN:dfs 3
definiens
  let a1 be non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
  let a2 be non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over a1;
To prove
     a2 is finite-dimensional
it is sufficient to prove
  thus ex b1 being finite Element of bool the carrier of a2 st
       b1 is Basis of a2;

:: MATRLIN:def 3
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over b1 holds
      b2 is finite-dimensional(b1)
   iff
      ex b3 being finite Element of bool the carrier of b2 st
         b3 is Basis of b2;

:: MATRLIN:exreg 2
registration
  let a1 be non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
  cluster non empty right_complementable strict VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over a1;
end;

:: MATRLIN:modenot 1 => MATRLIN:mode 1
definition
  let a1 be non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
  let a2 be non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over a1;
  mode OrdBasis of A2 -> FinSequence of the carrier of a2 means
    it is one-to-one & proj2 it is Basis of a2;
end;

:: MATRLIN:dfs 4
definiens
  let a1 be non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
  let a2 be non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over a1;
  let a3 be FinSequence of the carrier of a2;
To prove
     a3 is OrdBasis of a2
it is sufficient to prove
  thus a3 is one-to-one & proj2 a3 is Basis of a2;

:: MATRLIN:def 4
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over b1
for b3 being FinSequence of the carrier of b2 holds
      b3 is OrdBasis of b2
   iff
      b3 is one-to-one & proj2 b3 is Basis of b2;

:: MATRLIN:funcnot 5 => MATRLIN:func 5
definition
  let a1 be non empty doubleLoopStr;
  let a2, a3 be non empty VectSpStr over a1;
  let a4, a5 be Function-like quasi_total Relation of the carrier of a2,the carrier of a3;
  func A4 + A5 -> Function-like quasi_total Relation of the carrier of a2,the carrier of a3 means
    for b1 being Element of the carrier of a2 holds
       it . b1 = (a4 . b1) + (a5 . b1);
end;

:: MATRLIN:def 5
theorem
for b1 being non empty doubleLoopStr
for b2, b3 being non empty VectSpStr over b1
for b4, b5, b6 being Function-like quasi_total Relation of the carrier of b2,the carrier of b3 holds
   b6 = b4 + b5
iff
   for b7 being Element of the carrier of b2 holds
      b6 . b7 = (b4 . b7) + (b5 . b7);

:: MATRLIN:funcnot 6 => MATRLIN:func 6
definition
  let a1 be non empty doubleLoopStr;
  let a2, a3 be non empty VectSpStr over a1;
  let a4 be Function-like quasi_total Relation of the carrier of a2,the carrier of a3;
  let a5 be Element of the carrier of a1;
  func A5 * A4 -> Function-like quasi_total Relation of the carrier of a2,the carrier of a3 means
    for b1 being Element of the carrier of a2 holds
       it . b1 = a5 * (a4 . b1);
end;

:: MATRLIN:def 6
theorem
for b1 being non empty doubleLoopStr
for b2, b3 being non empty VectSpStr over b1
for b4 being Function-like quasi_total Relation of the carrier of b2,the carrier of b3
for b5 being Element of the carrier of b1
for b6 being Function-like quasi_total Relation of the carrier of b2,the carrier of b3 holds
      b6 = b5 * b4
   iff
      for b7 being Element of the carrier of b2 holds
         b6 . b7 = b5 * (b4 . b7);

:: MATRLIN:th 13
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over b1
for b3 being Element of the carrier 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 natural set
         for b7 being Element of the carrier of b1
               st b6 in proj1 b4 & b7 = b5 . b6
            holds b4 . b6 = b7 * b3)
   holds Sum b4 = (Sum b5) * b3;

:: MATRLIN:th 14
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over b1
for b3 being Element of the carrier 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 natural set
               st b6 in proj1 b4
            holds b5 . b6 = (b4 /. b6) * b3)
   holds Sum b5 = (Sum b4) * b3;

:: MATRLIN:th 15
theorem
for b1 being non empty right_complementable add-associative right_zeroed addLoopStr
for b2 being FinSequence of the carrier of b1
      st for b3 being natural set
              st b3 in proj1 b2
           holds b2 /. b3 = 0. b1
   holds Sum b2 = 0. b1;

:: MATRLIN:funcnot 7 => MATRLIN:func 7
definition
  let a1 be non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
  let a2 be non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over a1;
  let a3 be FinSequence of the carrier of a1;
  let a4 be FinSequence of the carrier of a2;
  func lmlt(A3,A4) -> FinSequence of the carrier of a2 equals
    (the lmult of a2) .:(a3,a4);
end;

:: MATRLIN:def 7
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over 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);

:: MATRLIN:th 16
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over b1
for b3 being FinSequence of the carrier of b2
for b4 being FinSequence of the carrier of b1
      st proj1 b4 = proj1 b3
   holds proj1 lmlt(b4,b3) = proj1 b4;

:: MATRLIN:funcnot 8 => MATRLIN:func 8
definition
  let a1 be non empty addLoopStr;
  let a2 be FinSequence of (the carrier of a1) *;
  func Sum A2 -> FinSequence of the carrier of a1 means
    len it = len a2 &
     (for b1 being natural set
           st b1 in proj1 it
        holds it /. b1 = Sum (a2 /. b1));
end;

:: MATRLIN:def 8
theorem
for b1 being non empty addLoopStr
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 natural set
             st b4 in proj1 b3
          holds b3 /. b4 = Sum (b2 /. b4));

:: MATRLIN:th 17
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over b1
for b3 being tabular FinSequence of (the carrier of b2) *
      st len b3 = {}
   holds Sum Sum b3 = 0. b2;

:: MATRLIN:th 18
theorem
for b1 being natural set
for b2 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b3 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over b2
for b4 being Matrix of b1 + 1,{},the carrier of b3 holds
   Sum Sum b4 = 0. b3;

:: MATRLIN:th 19
theorem
for b1 being non empty set
for b2 being Element of b1 holds
   <*<*b2*>*> = <*<*b2*>*> @;

:: MATRLIN:th 20
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2, b3 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over b1
for b4 being Function-like quasi_total Relation of the carrier of b2,the carrier of b3
for b5 being FinSequence of the carrier of b2
      st b4 is linear(b1, b2, b3)
   holds b4 . Sum b5 = Sum (b4 * b5);

:: MATRLIN:th 21
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2, b3 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over b1
for b4 being Function-like quasi_total Relation of the carrier of b3,the carrier of 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(b1, b3, b2)
   holds b4 * lmlt(b5,b6) = lmlt(b5,b4 * b6);

:: MATRLIN:th 22
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2, b3 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over b1
for b4 being Function-like quasi_total Relation of the carrier of b3,the carrier of b2
for b5 being OrdBasis of b3
for b6 being FinSequence of the carrier of b1
      st len b6 = len b5 & b4 is linear(b1, b3, b2)
   holds b4 . Sum lmlt(b6,b5) = Sum lmlt(b6,b4 * b5);

:: MATRLIN:th 23
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over b1
for b3, b4 being FinSequence of the carrier of b2
for b5 being Linear_Combination of b2
for b6 being Function-like quasi_total bijective Relation of proj1 b3,proj1 b3
      st b4 = b3 * b6
   holds b5 (#) b4 = (b5 (#) b3) * b6;

:: MATRLIN:th 24
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over 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= proj2 b3
   holds Sum (b4 (#) b3) = Sum b4;

:: MATRLIN:th 25
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2, b3 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over b1
for b4, b5 being Function-like quasi_total Relation of the carrier of b3,the carrier of b2
for b6 being set
for b7 being FinSequence of the carrier of b3
      st proj2 b7 c= b6 &
         b4 is linear(b1, b3, b2) &
         b5 is linear(b1, b3, b2) &
         (for b8 being Element of the carrier of b3
               st b8 in b6
            holds b4 . b8 = b5 . b8)
   holds b4 . Sum b7 = b5 . Sum b7;

:: MATRLIN:th 26
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2, b3 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over b1
for b4, b5 being Function-like quasi_total Relation of the carrier of b3,the carrier of b2
   st b4 is linear(b1, b3, b2) & b5 is linear(b1, b3, b2)
for b6 being OrdBasis of b3
      st {} < len b6 & b4 * b6 = b5 * b6
   holds b4 = b5;

:: MATRLIN:condreg 1
registration
  let a1 be non empty set;
  cluster tabular -> FinSequence-yielding (FinSequence of a1 *);
end;

:: MATRLIN:funcnot 9 => MATRLIN:func 9
definition
  let a1 be non empty set;
  let a2, a3 be tabular FinSequence of a1 *;
  redefine func a2 ^^ a3 -> tabular FinSequence of a1 *;
end;

:: MATRLIN:funcnot 10 => MATRLIN:func 10
definition
  let a1 be non empty set;
  let a2, a3, a4 be natural set;
  let a5 be Matrix of a2,a4,a1;
  let a6 be Matrix of a3,a4,a1;
  redefine func a5 ^ a6 -> Matrix of a2 + a3,a4,a1;
end;

:: MATRLIN:th 27
theorem
for b1, b2, b3, b4 being natural set
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 proj1 b6
   holds Line(b6 ^ b7,b4) = Line(b6,b4);

:: MATRLIN:th 28
theorem
for b1, b2, b3 being natural set
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;

:: MATRLIN:th 29
theorem
for b1, b2, b3, b4, b5 being natural set
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 proj1 b8 & b5 = (len b7) + b4
   holds Line(b7 ^ b8,b5) = Line(b8,b4);

:: MATRLIN:th 30
theorem
for b1, b2, b3 being natural set
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
for b7 being natural set
      st b7 in Seg width b5
   holds Col(b5 ^ b6,b7) = (Col(b5,b7)) ^ Col(b6,b7);

:: MATRLIN:th 31
theorem
for b1, b2, b3 being natural set
for b4 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b5 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed VectSpStr over 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;

:: MATRLIN:th 32
theorem
for b1, b2, b3 being natural set
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 @);

:: MATRLIN:th 33
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over b1
for b3, b4 being tabular FinSequence of (the carrier of b2) * holds
(Sum b3) + Sum b4 = Sum (b3 ^^ b4);

:: MATRLIN:th 34
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over b1
for b3, b4 being FinSequence of the carrier of b2
      st len b3 = len b4
   holds Sum (b3 + b4) = (Sum b3) + Sum b4;

:: MATRLIN:th 35
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over b1
for b3, b4 being tabular FinSequence of (the carrier of b2) *
      st len b3 = len b4
   holds (Sum Sum b3) + Sum Sum b4 = Sum Sum (b3 ^^ b4);

:: MATRLIN:th 37
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over b1
for b3 being tabular FinSequence of (the carrier of b2) * holds
   Sum Sum b3 = Sum Sum (b3 @);

:: MATRLIN:th 38
theorem
for b1, b2 being natural set
for b3 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b4 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over b3
for b5 being Matrix of b1,b2,the carrier of b3
   st {} < b1 & {} < b2
for b6, b7 being FinSequence of the carrier of b3
   st len b6 = b1 &
      len b7 = b2 &
      (for b8 being natural set
            st b8 in proj1 b7
         holds b7 /. b8 = Sum mlt(b6,Col(b5,b8)))
for b8, b9 being FinSequence of the carrier of b4
      st len b8 = b2 &
         len b9 = b1 &
         (for b10 being natural set
               st b10 in proj1 b9
            holds b9 /. b10 = Sum lmlt(Line(b5,b10),b8))
   holds Sum lmlt(b6,b9) = Sum lmlt(b7,b8);

:: MATRLIN:funcnot 11 => MATRLIN:func 11
definition
  let a1 be non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
  let a2 be non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over a1;
  let a3 be OrdBasis of a2;
  let a4 be Element of the carrier of a2;
  func A4 |-- A3 -> FinSequence of the carrier of a1 means
    len it = len a3 &
     (ex b1 being Linear_Combination of a2 st
        a4 = Sum b1 &
         Carrier b1 c= proj2 a3 &
         (for b2 being natural set
               st 1 <= b2 & b2 <= len it
            holds it /. b2 = b1 . (a3 /. b2)));
end;

:: MATRLIN:def 9
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over b1
for b3 being OrdBasis of b2
for b4 being Element of the carrier 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= proj2 b3 &
           (for b7 being natural set
                 st 1 <= b7 & b7 <= len b5
              holds b5 /. b7 = b6 . (b3 /. b7)));

:: MATRLIN:th 39
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over b1
for b3 being OrdBasis of b2
for b4, b5 being Element of the carrier of b2
      st b4 |-- b3 = b5 |-- b3
   holds b4 = b5;

:: MATRLIN:th 40
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over b1
for b3 being OrdBasis of b2
for b4 being Element of the carrier of b2 holds
   b4 = Sum lmlt(b4 |-- b3,b3);

:: MATRLIN:th 41
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over 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;

:: MATRLIN:th 42
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2, b3 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over b1
for b4 being Function-like quasi_total Relation of the carrier of b2,the carrier of 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
for b9 being natural set
      st b9 in proj1 b6 &
         len b8 = len b5 &
         (for b10 being natural set
               st b10 in proj1 b5
            holds b8 . b10 = ((b4 . (b5 /. b10)) |-- b6) /. b9) &
         {} < len b5
   holds ((Sum lmlt(b7,b4 * b5)) |-- b6) /. b9 = Sum mlt(b7,b8);

:: MATRLIN:funcnot 12 => MATRLIN:func 12
definition
  let a1 be non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr;
  let a2, a3 be non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over a1;
  let a4 be Function-like quasi_total Relation of the carrier of a2,the carrier of a3;
  let a5 be FinSequence of the carrier of a2;
  let a6 be OrdBasis of a3;
  func AutMt(A4,A5,A6) -> tabular FinSequence of (the carrier of a1) * means
    len it = len a5 &
     (for b1 being natural set
           st b1 in proj1 a5
        holds it /. b1 = (a4 . (a5 /. b1)) |-- a6);
end;

:: MATRLIN:def 10
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2, b3 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over b1
for b4 being Function-like quasi_total Relation 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 tabular FinSequence of (the carrier of b1) * holds
      b7 = AutMt(b4,b5,b6)
   iff
      len b7 = len b5 &
       (for b8 being natural set
             st b8 in proj1 b5
          holds b7 /. b8 = (b4 . (b5 /. b8)) |-- b6);

:: MATRLIN:th 43
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2, b3 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over b1
for b4 being Function-like quasi_total Relation of the carrier of b2,the carrier of b3
for b5 being OrdBasis of b2
for b6 being OrdBasis of b3
      st len b5 = {}
   holds AutMt(b4,b5,b6) = {};

:: MATRLIN:th 44
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2, b3 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over b1
for b4 being Function-like quasi_total Relation of the carrier of b2,the carrier of b3
for b5 being OrdBasis of b2
for b6 being OrdBasis of b3
      st {} < len b5
   holds width AutMt(b4,b5,b6) = len b6;

:: MATRLIN:th 45
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2, b3 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over b1
for b4, b5 being Function-like quasi_total Relation of the carrier of b2,the carrier of b3
for b6 being OrdBasis of b2
for b7 being OrdBasis of b3
      st b4 is linear(b1, b2, b3) & b5 is linear(b1, b2, b3) & AutMt(b4,b6,b7) = AutMt(b5,b6,b7) & {} < len b6
   holds b4 = b5;

:: MATRLIN:th 46
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2, b3, b4 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over b1
for b5 being Function-like quasi_total Relation of the carrier of b2,the carrier of b3
for b6 being Function-like quasi_total Relation of the carrier of b3,the carrier of b4
for b7 being OrdBasis of b2
for b8 being OrdBasis of b3
for b9 being OrdBasis of b4
      st b5 is linear(b1, b2, b3) & b6 is linear(b1, b3, b4) & {} < len b7 & {} < len b8 & {} < len b9
   holds AutMt(b6 * b5,b7,b9) = (AutMt(b5,b7,b8)) * AutMt(b6,b8,b9);

:: MATRLIN:th 47
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2, b3 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over b1
for b4, b5 being Function-like quasi_total Relation of the carrier of b2,the carrier of 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);

:: MATRLIN:th 48
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative well-unital distributive Abelian add-associative right_zeroed doubleLoopStr
for b2 being Element of the carrier of b1
for b3, b4 being non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over b1
for b5 being Function-like quasi_total Relation of the carrier of b3,the carrier of 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);