Article MATRIX_5, MML version 4.99.1005

:: MATRIX_5:th 1
theorem
1 = 1_ F_Complex;

:: MATRIX_5:th 2
theorem
0. F_Complex = 0;

:: MATRIX_5:funcnot 1 => MATRIX_5:func 1
definition
  let a1 be tabular FinSequence of COMPLEX *;
  func COMPLEX2Field A1 -> tabular FinSequence of (the carrier of F_Complex) * equals
    a1;
end;

:: MATRIX_5:def 1
theorem
for b1 being tabular FinSequence of COMPLEX * holds
   COMPLEX2Field b1 = b1;

:: MATRIX_5:funcnot 2 => MATRIX_5:func 2
definition
  let a1 be tabular FinSequence of (the carrier of F_Complex) *;
  func Field2COMPLEX A1 -> tabular FinSequence of COMPLEX * equals
    a1;
end;

:: MATRIX_5:def 2
theorem
for b1 being tabular FinSequence of (the carrier of F_Complex) * holds
   Field2COMPLEX b1 = b1;

:: MATRIX_5:th 3
theorem
for b1, b2 being tabular FinSequence of COMPLEX *
      st COMPLEX2Field b1 = COMPLEX2Field b2
   holds b1 = b2;

:: MATRIX_5:th 4
theorem
for b1, b2 being tabular FinSequence of (the carrier of F_Complex) *
      st Field2COMPLEX b1 = Field2COMPLEX b2
   holds b1 = b2;

:: MATRIX_5:th 5
theorem
for b1 being tabular FinSequence of COMPLEX * holds
   b1 = Field2COMPLEX COMPLEX2Field b1;

:: MATRIX_5:th 6
theorem
for b1 being tabular FinSequence of (the carrier of F_Complex) * holds
   b1 = COMPLEX2Field Field2COMPLEX b1;

:: MATRIX_5:funcnot 3 => MATRIX_5:func 3
definition
  let a1, a2 be tabular FinSequence of COMPLEX *;
  func A1 + A2 -> tabular FinSequence of COMPLEX * equals
    Field2COMPLEX ((COMPLEX2Field a1) + COMPLEX2Field a2);
end;

:: MATRIX_5:def 3
theorem
for b1, b2 being tabular FinSequence of COMPLEX * holds
b1 + b2 = Field2COMPLEX ((COMPLEX2Field b1) + COMPLEX2Field b2);

:: MATRIX_5:funcnot 4 => MATRIX_5:func 4
definition
  let a1 be tabular FinSequence of COMPLEX *;
  func - A1 -> tabular FinSequence of COMPLEX * equals
    Field2COMPLEX - COMPLEX2Field a1;
end;

:: MATRIX_5:def 4
theorem
for b1 being tabular FinSequence of COMPLEX * holds
   - b1 = Field2COMPLEX - COMPLEX2Field b1;

:: MATRIX_5:funcnot 5 => MATRIX_5:func 5
definition
  let a1, a2 be tabular FinSequence of COMPLEX *;
  func A1 - A2 -> tabular FinSequence of COMPLEX * equals
    Field2COMPLEX ((COMPLEX2Field a1) - COMPLEX2Field a2);
end;

:: MATRIX_5:def 5
theorem
for b1, b2 being tabular FinSequence of COMPLEX * holds
b1 - b2 = Field2COMPLEX ((COMPLEX2Field b1) - COMPLEX2Field b2);

:: MATRIX_5:funcnot 6 => MATRIX_5:func 6
definition
  let a1, a2 be tabular FinSequence of COMPLEX *;
  func A1 * A2 -> tabular FinSequence of COMPLEX * equals
    Field2COMPLEX ((COMPLEX2Field a1) * COMPLEX2Field a2);
end;

:: MATRIX_5:def 6
theorem
for b1, b2 being tabular FinSequence of COMPLEX * holds
b1 * b2 = Field2COMPLEX ((COMPLEX2Field b1) * COMPLEX2Field b2);

:: MATRIX_5:funcnot 7 => MATRIX_5:func 7
definition
  let a1 be complex set;
  let a2 be tabular FinSequence of COMPLEX *;
  func A1 * A2 -> tabular FinSequence of COMPLEX * means
    for b1 being Element of the carrier of F_Complex
          st b1 = a1
       holds it = Field2COMPLEX (b1 * COMPLEX2Field a2);
end;

:: MATRIX_5:def 7
theorem
for b1 being complex set
for b2, b3 being tabular FinSequence of COMPLEX * holds
   b3 = b1 * b2
iff
   for b4 being Element of the carrier of F_Complex
         st b4 = b1
      holds b3 = Field2COMPLEX (b4 * COMPLEX2Field b2);

:: MATRIX_5:th 7
theorem
for b1 being tabular FinSequence of COMPLEX * holds
   len b1 = len COMPLEX2Field b1 & width b1 = width COMPLEX2Field b1;

:: MATRIX_5:th 8
theorem
for b1 being tabular FinSequence of (the carrier of F_Complex) * holds
   len b1 = len Field2COMPLEX b1 & width b1 = width Field2COMPLEX b1;

:: MATRIX_5:th 10
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b2 being tabular FinSequence of (the carrier of b1) * holds
   (1_ b1) * b2 = b2;

:: MATRIX_5:th 11
theorem
for b1 being tabular FinSequence of COMPLEX * holds
   1 * b1 = b1;

:: MATRIX_5:th 12
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b2, b3 being Element of the carrier of b1
for b4 being tabular FinSequence of (the carrier of b1) * holds
   b2 * (b3 * b4) = (b2 * b3) * b4;

:: MATRIX_5:th 13
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b2, b3 being Element of the carrier of b1
for b4 being tabular FinSequence of (the carrier of b1) * holds
   (b2 + b3) * b4 = (b2 * b4) + (b3 * b4);

:: MATRIX_5:th 14
theorem
for b1 being tabular FinSequence of COMPLEX * holds
   b1 + b1 = 2 * b1;

:: MATRIX_5:th 15
theorem
for b1 being tabular FinSequence of COMPLEX * holds
   (b1 + b1) + b1 = 3 * b1;

:: MATRIX_5:funcnot 8 => MATRIX_5:func 8
definition
  let a1, a2 be natural set;
  func 0_Cx(A1,A2) -> tabular FinSequence of COMPLEX * equals
    Field2COMPLEX 0.(F_Complex,a1,a2);
end;

:: MATRIX_5:def 8
theorem
for b1, b2 being natural set holds
0_Cx(b1,b2) = Field2COMPLEX 0.(F_Complex,b1,b2);

:: MATRIX_5:th 16
theorem
for b1, b2 being Element of NAT holds
COMPLEX2Field 0_Cx(b1,b2) = 0.(F_Complex,b1,b2);

:: MATRIX_5:th 21
theorem
for b1, b2 being tabular FinSequence of COMPLEX *
      st len b1 = len b2 & width b1 = width b2 & 0 < len b1 & b1 = b1 + b2
   holds b2 = 0_Cx(len b1,width b1);

:: MATRIX_5:th 23
theorem
for b1, b2 being tabular FinSequence of COMPLEX *
      st len b1 = len b2 & width b1 = width b2 & 0 < len b1 & b1 + b2 = 0_Cx(len b1,width b1)
   holds b2 = - b1;

:: MATRIX_5:th 25
theorem
for b1, b2 being tabular FinSequence of COMPLEX *
      st len b1 = len b2 & width b1 = width b2 & 0 < len b1 & b2 - b1 = b2
   holds b1 = 0_Cx(len b1,width b1);

:: MATRIX_5:th 35
theorem
for b1 being tabular FinSequence of COMPLEX * holds
   b1 + 0_Cx(len b1,width b1) = b1;

:: MATRIX_5:th 36
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b2 being Element of the carrier of b1
for b3, b4 being tabular FinSequence of (the carrier of b1) *
      st len b3 = len b4 & width b3 = width b4 & 0 < len b3
   holds b2 * (b3 + b4) = (b2 * b3) + (b2 * b4);

:: MATRIX_5:th 37
theorem
for b1, b2 being tabular FinSequence of COMPLEX *
for b3 being complex set
      st len b1 = len b2 & width b1 = width b2 & 0 < len b1
   holds b3 * (b1 + b2) = (b3 * b1) + (b3 * b2);

:: MATRIX_5:th 38
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b2, b3 being tabular FinSequence of (the carrier of b1) *
      st width b2 = len b3 & 0 < len b2 & 0 < len b3
   holds (0.(b1,len b2,width b2)) * b3 = 0.(b1,len b2,width b3);

:: MATRIX_5:th 39
theorem
for b1, b2 being tabular FinSequence of COMPLEX *
      st width b1 = len b2 & 0 < len b1 & 0 < len b2
   holds (0_Cx(len b1,width b1)) * b2 = 0_Cx(len b1,width b2);

:: MATRIX_5:th 40
theorem
for b1 being non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b2 being tabular FinSequence of (the carrier of b1) *
      st 0 < len b2
   holds (0. b1) * b2 = 0.(b1,len b2,width b2);

:: MATRIX_5:th 41
theorem
for b1 being tabular FinSequence of COMPLEX *
      st 0 < len b1
   holds 0 * b1 = 0_Cx(len b1,width b1);

:: MATRIX_5:funcnot 9 => MATRIX_5:func 9
definition
  let a1 be Relation-like Function-like complex-valued set;
  let a2 be set;
  redefine func a1 . a2 -> Element of COMPLEX;
end;

:: MATRIX_5:th 42
theorem
for b1, b2 being Element of NAT
for b3, b4 being tabular FinSequence of COMPLEX *
      st 0 < len b3 & 0 < len b4 & width b3 = len b4 & 1 <= b1 & b1 <= len b3 & 1 <= b2 & b2 <= width b4
   holds ex b5 being FinSequence of COMPLEX st
      len b5 = len b4 &
       b5 . 1 = (b3 *(b1,1)) * (b4 *(1,b2)) &
       (for b6 being Element of NAT
             st 1 <= b6 & b6 < len b4
          holds b5 . (b6 + 1) = (b5 . b6) + ((b3 *(b1,b6 + 1)) * (b4 *(b6 + 1,b2))));