Article MATRIX_7, MML version 4.99.1005

:: MATRIX_7:th 1
theorem
for b1 being Function-like quasi_total bijective Relation of Seg 2,Seg 2
      st b1 <> <*1,2*>
   holds b1 = <*2,1*>;

:: MATRIX_7:th 2
theorem
for b1 being Relation-like Function-like FinSequence-like set
      st (b1 = <*1,2*> or b1 = <*2,1*>)
   holds b1 is Function-like quasi_total bijective Relation of Seg 2,Seg 2;

:: MATRIX_7:th 3
theorem
Permutations 2 = {<*1,2*>,<*2,1*>};

:: MATRIX_7:th 4
theorem
for b1 being Function-like quasi_total bijective Relation of Seg 2,Seg 2
      st b1 is being_transposition(2)
   holds b1 = <*2,1*>;

:: MATRIX_7:th 5
theorem
for b1 being non empty set
for b2 being FinSequence of b1
for b3 being Element of NAT
      st 1 <= b3 & b3 < len b2
   holds b2 = (mid(b2,1,b3)) ^ mid(b2,b3 + 1,len b2);

:: MATRIX_7:th 6
theorem
for b1 being non empty set
for b2 being FinSequence of b1
      st 2 <= len b2
   holds b2 = (b2 | ((len b2) -' 2)) ^ mid(b2,(len b2) -' 1,len b2);

:: MATRIX_7:th 7
theorem
for b1 being non empty set
for b2 being FinSequence of b1
      st 1 <= len b2
   holds b2 = (b2 | ((len b2) -' 1)) ^ mid(b2,len b2,len b2);

:: MATRIX_7:th 8
theorem
for b1 being Element of the carrier of Group_of_Perm 2
      st ex b2 being Element of Permutations 2 st
           b2 = b1 & b2 is being_transposition(len Permutations 2)
   holds b1 = <*2,1*>;

:: MATRIX_7:th 9
theorem
for b1 being Element of NAT
for b2, b3 being Element of the carrier of Group_of_Perm b1
for b4, b5 being Element of Permutations b1
      st b2 = b4 & b3 = b5
   holds b2 * b3 = b5 * b4;

:: MATRIX_7:th 10
theorem
for b1, b2 being Element of the carrier of Group_of_Perm 2
      st (ex b3 being Element of Permutations 2 st
            b3 = b1 & b3 is being_transposition(len Permutations 2)) &
         (ex b3 being Element of Permutations 2 st
            b3 = b2 & b3 is being_transposition(len Permutations 2))
   holds b1 * b2 = <*1,2*>;

:: MATRIX_7:th 11
theorem
for b1 being FinSequence of the carrier of Group_of_Perm 2
      st (len b1) mod 2 = 0 &
         (for b2 being natural set
               st b2 in dom b1
            holds ex b3 being Element of Permutations 2 st
               b1 . b2 = b3 & b3 is being_transposition(len Permutations 2))
   holds Product b1 = <*1,2*>;

:: MATRIX_7: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 being Matrix of 2,2,the carrier of b1 holds
   Det b2 = ((b2 *(1,1)) * (b2 *(2,2))) - ((b2 *(1,2)) * (b2 *(2,1)));

:: MATRIX_7:funcnot 1 => MATRIX_7:func 1
definition
  let a1 be natural set;
  let a2 be non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr;
  let a3 be Matrix of a1,a1,the carrier of a2;
  let a4 be Element of the carrier of a2;
  redefine func a4 * a3 -> Matrix of a1,a1,the carrier of a2;
end;

:: MATRIX_7: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 NAT holds
len 0.(b1,b2,b3) = b2 & dom 0.(b1,b2,b3) = Seg b2;

:: MATRIX_7:th 14
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 NAT
for b3 being Element of Permutations b2
for b4 being Element of NAT
      st b4 in Seg b2
   holds b3 . b4 in Seg b2;

:: MATRIX_7:th 15
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 NAT
      st 1 <= b2
   holds Det 0.(b1,b2,b2) = 0. b1;

:: MATRIX_7:funcnot 2 => MATRIX_7:func 2
definition
  let a1, a2, a3, a4 be set;
  func IFIN(A1,A2,A3,A4) -> set equals
    a3
    if a1 in a2
    otherwise a4;
end;

:: MATRIX_7:def 1
theorem
for b1, b2, b3, b4 being set holds
(b1 in b2 implies IFIN(b1,b2,b3,b4) = b3) & (b1 in b2 or IFIN(b1,b2,b3,b4) = b4);

:: MATRIX_7:th 16
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 NAT
      st 1 <= b2
   holds Det 1.(b1,b2) = 1_ b1;

:: MATRIX_7:attrnot 1 => MATRIX_7:attr 1
definition
  let a1 be natural set;
  let a2 be non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr;
  let a3 be Matrix of a1,a1,the carrier of a2;
  redefine attr a3 is diagonal means
    for b1, b2 being Element of NAT
          st b1 in Seg a1 & b2 in Seg a1 & b1 <> b2
       holds a3 *(b1,b2) = 0. a2;
end;

:: MATRIX_7:dfs 2
definiens
  let a1 be natural set;
  let a2 be non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr;
  let a3 be Matrix of a1,a1,the carrier of a2;
To prove
     a2 is diagonal
it is sufficient to prove
  thus for b1, b2 being Element of NAT
          st b1 in Seg a1 & b2 in Seg a1 & b1 <> b2
       holds a3 *(b1,b2) = 0. a2;

:: MATRIX_7:def 2
theorem
for b1 being natural set
for b2 being non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b3 being Matrix of b1,b1,the carrier of b2 holds
      b3 is diagonal(b2)
   iff
      for b4, b5 being Element of NAT
            st b4 in Seg b1 & b5 in Seg b1 & b4 <> b5
         holds b3 *(b4,b5) = 0. b2;

:: MATRIX_7:th 17
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 NAT
for b3 being Matrix of b2,b2,the carrier of b1
      st 1 <= b2 & b3 is diagonal(b1)
   holds Det b3 = (the multF of b1) "**" diagonal_of_Matrix b3;

:: MATRIX_7:th 18
theorem
for b1 being natural set
for b2 being Element of Permutations b1 holds
   b2 " is Element of Permutations b1;

:: MATRIX_7:funcnot 3 => MATRIX_7:func 3
definition
  let a1 be natural set;
  let a2 be Element of Permutations a1;
  redefine func a2 " -> Element of Permutations a1;
end;

:: MATRIX_7:th 19
theorem
for b1 being natural set
for b2 being non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b3 being Matrix of b1,b1,the carrier of b2 holds
   b3 @ is Matrix of b1,b1,the carrier of b2;

:: MATRIX_7:funcnot 4 => MATRIX_7:func 4
definition
  let a1 be natural set;
  let a2 be non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr;
  let a3 be Matrix of a1,a1,the carrier of a2;
  func A3 @ -> Matrix of a1,a1,the carrier of a2 equals
    a3 @;
end;

:: MATRIX_7:def 3
theorem
for b1 being natural set
for b2 being non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b3 being Matrix of b1,b1,the carrier of b2 holds
   b3 @ = b3 @;

:: MATRIX_7:th 20
theorem
for b1 being non empty Group-like associative multMagma
for b2, b3 being FinSequence of the carrier of b1 holds
(Product (b2 ^ b3)) " = (Product b3) " * ((Product b2) ");

:: MATRIX_7:funcnot 5 => MATRIX_7:func 5
definition
  let a1 be non empty Group-like associative multMagma;
  let a2 be FinSequence of the carrier of a1;
  func A2 " -> FinSequence of the carrier of a1 means
    len it = len a2 &
     (for b1 being Element of NAT
           st b1 in dom a2
        holds it /. b1 = (a2 /. b1) ");
end;

:: MATRIX_7:def 4
theorem
for b1 being non empty Group-like associative multMagma
for b2, b3 being FinSequence of the carrier of b1 holds
   b3 = b2 "
iff
   len b3 = len b2 &
    (for b4 being Element of NAT
          st b4 in dom b2
       holds b3 /. b4 = (b2 /. b4) ");

:: MATRIX_7:th 21
theorem
for b1 being non empty Group-like associative multMagma holds
   (<*> the carrier of b1) " = <*> the carrier of b1;

:: MATRIX_7:th 22
theorem
for b1 being non empty Group-like associative multMagma
for b2, b3 being FinSequence of the carrier of b1 holds
(b2 ^ b3) " = b2 " ^ (b3 ");

:: MATRIX_7:th 23
theorem
for b1 being non empty Group-like associative multMagma
for b2 being Element of the carrier of b1 holds
   <*b2*> " = <*b2 "*>;

:: MATRIX_7:th 24
theorem
for b1 being non empty Group-like associative multMagma
for b2 being FinSequence of the carrier of b1 holds
   Product (b2 ^ ((Rev b2) ")) = 1_ b1;

:: MATRIX_7:th 25
theorem
for b1 being non empty Group-like associative multMagma
for b2 being FinSequence of the carrier of b1 holds
   Product ((Rev b2) " ^ b2) = 1_ b1;

:: MATRIX_7:th 26
theorem
for b1 being non empty Group-like associative multMagma
for b2 being FinSequence of the carrier of b1 holds
   (Product b2) " = Product ((Rev b2) ");

:: MATRIX_7:th 27
theorem
for b1 being natural set
for b2 being Element of Permutations b1
for b3 being Element of the carrier of Group_of_Perm b1
      st b3 = b2 & 1 <= b1
   holds b2 " = b3 ";

:: MATRIX_7:th 28
theorem
for b1 being Element of NAT
for b2 being Element of Permutations b1
      st 1 <= b1
   holds    b2 is even(len Permutations b1)
   iff
      b2 " is even(len Permutations b1);

:: MATRIX_7:th 29
theorem
for b1 being Element of NAT
for b2 being non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b3 being Element of Permutations b1
for b4 being Element of the carrier of b2
      st 1 <= b1
   holds -(b4,b3) = -(b4,b3 ");

:: MATRIX_7:th 30
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 FinSequence of the carrier of b1 holds
(the multF of b1) "**" (b2 ^ b3) = ((the multF of b1) "**" b2) * ((the multF of b1) "**" b3);

:: MATRIX_7:th 31
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 FinSequence of the carrier of b1
      st b2,b3 are_fiberwise_equipotent
   holds (the multF of b1) "**" b2 = (the multF of b1) "**" b3;

:: MATRIX_7:th 32
theorem
for b1 being Element of NAT
for b2 being non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b3 being Element of Permutations b1
for b4, b5 being FinSequence of the carrier of b2
      st 1 <= b1 & len b4 = b1 & b5 = b4 * b3
   holds b4,b5 are_fiberwise_equipotent;

:: MATRIX_7:th 33
theorem
for b1 being Element of NAT
for b2 being non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b3 being Element of Permutations b1
for b4, b5 being FinSequence of the carrier of b2
      st 1 <= b1 & len b4 = b1 & b5 = b4 * b3
   holds (the multF of b2) "**" b4 = (the multF of b2) "**" b5;

:: MATRIX_7:th 34
theorem
for b1 being Element of NAT
for b2 being non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b3 being Element of Permutations b1
for b4 being FinSequence of the carrier of b2
      st 1 <= b1 & len b4 = b1
   holds b4 * b3 is FinSequence of the carrier of b2;

:: MATRIX_7:th 35
theorem
for b1 being Element of NAT
for b2 being non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b3 being Element of Permutations b1
for b4 being Matrix of b1,b1,the carrier of b2
      st 1 <= b1
   holds Path_matrix(b3 ",b4 @) = (Path_matrix(b3,b4)) * (b3 ");

:: MATRIX_7:th 36
theorem
for b1 being Element of NAT
for b2 being non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b3 being Element of Permutations b1
for b4 being Matrix of b1,b1,the carrier of b2
      st 1 <= b1
   holds (Path_product (b4 @)) . (b3 ") = (Path_product b4) . b3;

:: MATRIX_7:th 37
theorem
for b1 being Element of NAT
for b2 being non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b3 being Matrix of b1,b1,the carrier of b2
      st 1 <= b1
   holds Det b3 = Det (b3 @);