Article MATRIX_6, MML version 4.99.1005

:: MATRIX_6:prednot 1 => MATRIX_6:pred 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, a4 be Matrix of a1,a1,the carrier of a2;
  pred A3 commutes_with A4 means
    a3 * a4 = a4 * a3;
  symmetry;
::  for a1 being natural set
::  for a2 being non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
::  for a3, a4 being Matrix of a1,a1,the carrier of a2
::        st a3 commutes_with a4
::     holds a4 commutes_with a3;
  reflexivity;
::  for a1 being natural set
::  for a2 being non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
::  for a3 being Matrix of a1,a1,the carrier of a2 holds
::     a3 commutes_with a3;
end;

:: MATRIX_6:dfs 1
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, a4 be Matrix of a1,a1,the carrier of a2;
To prove
     a3 commutes_with a4
it is sufficient to prove
  thus a3 * a4 = a4 * a3;

:: MATRIX_6:def 1
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, b4 being Matrix of b1,b1,the carrier of b2 holds
   b3 commutes_with b4
iff
   b3 * b4 = b4 * b3;

:: MATRIX_6:prednot 2 => MATRIX_6:pred 2
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, a4 be Matrix of a1,a1,the carrier of a2;
  pred A3 is_reverse_of A4 means
    a3 * a4 = a4 * a3 & a3 * a4 = 1.(a2,a1);
  symmetry;
::  for a1 being natural set
::  for a2 being non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
::  for a3, a4 being Matrix of a1,a1,the carrier of a2
::        st a3 is_reverse_of a4
::     holds a4 is_reverse_of a3;
end;

:: MATRIX_6: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, a4 be Matrix of a1,a1,the carrier of a2;
To prove
     a3 is_reverse_of a4
it is sufficient to prove
  thus a3 * a4 = a4 * a3 & a3 * a4 = 1.(a2,a1);

:: MATRIX_6: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, b4 being Matrix of b1,b1,the carrier of b2 holds
   b3 is_reverse_of b4
iff
   b3 * b4 = b4 * b3 & b3 * b4 = 1.(b2,b1);

:: MATRIX_6:attrnot 1 => MATRIX_6: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;
  attr a3 is invertible means
    ex b1 being Matrix of a1,a1,the carrier of a2 st
       a3 is_reverse_of b1;
end;

:: MATRIX_6:dfs 3
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
     a3 is invertible
it is sufficient to prove
  thus ex b1 being Matrix of a1,a1,the carrier of a2 st
       a3 is_reverse_of b1;

:: MATRIX_6: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 is invertible(b1, b2)
   iff
      ex b4 being Matrix of b1,b1,the carrier of b2 st
         b3 is_reverse_of b4;

:: MATRIX_6:funcnot 1 => MATRIX_6: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;
  redefine func - a3 -> Matrix of a1,a1,the carrier of a2;
end;

:: MATRIX_6:funcnot 2 => MATRIX_6:func 2
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, a4 be Matrix of a1,a1,the carrier of a2;
  redefine func a3 + a4 -> Matrix of a1,a1,the carrier of a2;
end;

:: MATRIX_6:funcnot 3 => MATRIX_6:func 3
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, a4 be Matrix of a1,a1,the carrier of a2;
  redefine func a3 - a4 -> Matrix of a1,a1,the carrier of a2;
end;

:: MATRIX_6:funcnot 4 => MATRIX_6: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, a4 be Matrix of a1,a1,the carrier of a2;
  redefine func a3 * a4 -> Matrix of a1,a1,the carrier of a2;
end;

:: MATRIX_6:th 1
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
   (0.(b1,len b2,len b2)) * b2 = 0.(b1,len b2,width b2);

:: MATRIX_6:th 2
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 < width b2
   holds b2 * 0.(b1,width b2,width b2) = 0.(b1,len b2,width b2);

:: MATRIX_6:th 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 commutes_with 0.(b2,b1,b1);

:: MATRIX_6:th 4
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, b4, b5 being Matrix of b1,b1,the carrier of b2
      st b3 commutes_with b4 & b4 commutes_with b5 & b3 commutes_with b5
   holds b3 commutes_with b4 * b5;

:: MATRIX_6:th 5
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, b4, b5 being Matrix of b1,b1,the carrier of b2
      st b3 commutes_with b4 & b3 commutes_with b5 & 0 < b1
   holds b3 commutes_with b4 + b5;

:: MATRIX_6:th 6
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 commutes_with 1.(b2,b1);

:: MATRIX_6:th 7
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, b4, b5 being Matrix of b1,b1,the carrier of b2
      st b3 is_reverse_of b4 & b5 is_reverse_of b4
   holds b5 = b3;

:: MATRIX_6:funcnot 5 => MATRIX_6:func 5
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;
  assume a3 is invertible(a1, a2);
  func A3 ~ -> Matrix of a1,a1,the carrier of a2 means
    it is_reverse_of a3;
end;

:: MATRIX_6:def 4
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
   st b3 is invertible(b1, b2)
for b4 being Matrix of b1,b1,the carrier of b2 holds
      b4 = b3 ~
   iff
      b4 is_reverse_of b3;

:: MATRIX_6:th 8
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 holds
   (1.(b2,b1)) ~ = 1.(b2,b1) & 1.(b2,b1) is invertible(b1, b2);

:: MATRIX_6:th 9
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 holds
   (1.(b2,b1)) ~ ~ = 1.(b2,b1);

:: MATRIX_6:th 10
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 holds
   (1.(b2,b1)) @ = 1.(b2,b1);

:: MATRIX_6:th 11
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 natural set holds
   (1.(b1,b2)) @ ~ = 1.(b1,b2);

:: MATRIX_6:th 12
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, b4 being Matrix of b1,b1,the carrier of b2
      st b3 is_reverse_of b4 & 0 < b1
   holds b4 @ is_reverse_of b3 @;

:: MATRIX_6:th 13
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
      st b3 is invertible(b1, b2) & 0 < b1
   holds b3 @ ~ = b3 ~ @;

:: MATRIX_6: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 natural set
for b3, b4, b5, b6 being Matrix of b2,b2,the carrier of b1
      st b5 is_reverse_of b3 & b6 is_reverse_of b4
   holds b5 * b6 is_reverse_of b4 * b3;

:: MATRIX_6: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 natural set
for b3, b4 being Matrix of b2,b2,the carrier of b1
      st b4 is_reverse_of b3
   holds b3 commutes_with b4;

:: MATRIX_6:th 16
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
      st b3 is invertible(b1, b2)
   holds b3 ~ is invertible(b1, b2) & b3 ~ ~ = b3;

:: MATRIX_6:th 17
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, b4 being Matrix of b1,b1,the carrier of b2
      st 0 < b1 & b3 * b4 = 0.(b2,b1,b1) & b3 is invertible(b1, b2)
   holds b3 commutes_with b4;

:: MATRIX_6:th 18
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, b4 being Matrix of b1,b1,the carrier of b2
      st b3 = b3 * b4 & b3 is invertible(b1, b2)
   holds b3 commutes_with b4;

:: MATRIX_6: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, b4 being Matrix of b1,b1,the carrier of b2
      st b3 = b4 * b3 & b3 is invertible(b1, b2)
   holds b3 commutes_with b4;

:: MATRIX_6:attrnot 2 => MATRIX_6:attr 2
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;
  attr a3 is symmetric means
    a3 @ = a3;
end;

:: MATRIX_6:dfs 5
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
     a3 is symmetric
it is sufficient to prove
  thus a3 @ = a3;

:: MATRIX_6:def 5
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 symmetric(b1, b2)
   iff
      b3 @ = b3;

:: MATRIX_6:funcreg 1
registration
  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;
  cluster 1.(a2,a1) -> symmetric;
end;

:: MATRIX_6:th 21
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 Element of the carrier of b2 holds
   ((b1,b1)--> b3) @ = (b1,b1)--> b3;

:: MATRIX_6:th 22
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 Element of the carrier of b2 holds
   (b1,b1)--> b3 is symmetric(b1, b2);

:: MATRIX_6:th 23
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, b4 being Matrix of b1,b1,the carrier of b2
      st 0 < b1 & b3 is symmetric(b1, b2) & b4 is symmetric(b1, b2)
   holds    b3 commutes_with b4
   iff
      b3 * b4 is symmetric(b1, b2);

:: MATRIX_6:th 24
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, b4 being Matrix of b1,b1,the carrier of b2 holds
(b3 + b4) @ = b3 @ + (b4 @);

:: MATRIX_6:th 25
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, b4 being Matrix of b1,b1,the carrier of b2
      st b3 is symmetric(b1, b2) & b4 is symmetric(b1, b2)
   holds b3 + b4 is symmetric(b1, b2);

:: MATRIX_6:th 26
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
      st b3 is upper_triangular Matrix of b1,b1,the carrier of b2 & b3 is lower_triangular Matrix of b1,b1,the carrier of b2 & 0 < b1
   holds b3 is symmetric(b1, b2);

:: MATRIX_6:th 27
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 natural set
for b3 being Matrix of b2,b2,the carrier of b1 holds
   (- b3) @ = - (b3 @);

:: MATRIX_6:th 28
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 natural set
for b3 being Matrix of b2,b2,the carrier of b1
      st b3 is symmetric(b2, b1)
   holds - b3 is symmetric(b2, b1);

:: MATRIX_6:th 29
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 natural set
for b3, b4 being Matrix of b2,b2,the carrier of b1
      st b3 is symmetric(b2, b1) & b4 is symmetric(b2, b1)
   holds b3 - b4 is symmetric(b2, b1);

:: MATRIX_6:attrnot 3 => MATRIX_6:attr 3
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;
  attr a3 is antisymmetric means
    a3 @ = - a3;
end;

:: MATRIX_6:dfs 6
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
     a3 is antisymmetric
it is sufficient to prove
  thus a3 @ = - a3;

:: MATRIX_6:def 6
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 antisymmetric(b1, b2)
   iff
      b3 @ = - b3;

:: MATRIX_6: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 Fanoian doubleLoopStr
for b2 being natural set
for b3 being Matrix of b2,b2,the carrier of b1
      st b3 is symmetric(b2, b1) & b3 is antisymmetric(b2, b1)
   holds b3 = 0.(b1,b2,b2);

:: MATRIX_6: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 Fanoian doubleLoopStr
for b2, b3 being natural set
for b4 being Matrix of b2,b2,the carrier of b1
      st b4 is antisymmetric(b2, b1) & b3 in Seg b2
   holds b4 *(b3,b3) = 0. b1;

:: MATRIX_6:th 32
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 natural set
for b3, b4 being Matrix of b2,b2,the carrier of b1
      st 0 < b2 & b3 is antisymmetric(b2, b1) & b4 is antisymmetric(b2, b1)
   holds b3 + b4 is antisymmetric(b2, b1);

:: MATRIX_6:th 33
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 natural set
for b3 being Matrix of b2,b2,the carrier of b1
      st b3 is antisymmetric(b2, b1)
   holds - b3 is antisymmetric(b2, b1);

:: MATRIX_6:th 34
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 natural set
for b3, b4 being Matrix of b2,b2,the carrier of b1
      st 0 < b2 & b3 is antisymmetric(b2, b1) & b4 is antisymmetric(b2, b1)
   holds b3 - b4 is antisymmetric(b2, b1);

:: MATRIX_6:th 35
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
      st 0 < b1
   holds b3 - (b3 @) is antisymmetric(b1, b2);

:: MATRIX_6:th 36
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, b4 being Matrix of b1,b1,the carrier of b2
      st 0 < b1
   holds    b3 commutes_with b4
   iff
      (b3 + b4) * (b3 + b4) = (((b3 * b3) + (b3 * b4)) + (b3 * b4)) + (b4 * b4);

:: MATRIX_6:th 37
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, b4 being Matrix of b1,b1,the carrier of b2
      st b3 is invertible(b1, b2) & b4 is invertible(b1, b2)
   holds b3 * b4 is invertible(b1, b2) &
    (b3 * b4) ~ = b4 ~ * (b3 ~);

:: MATRIX_6:th 38
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, b4 being Matrix of b1,b1,the carrier of b2
      st b3 is invertible(b1, b2) & b4 is invertible(b1, b2) & b3 commutes_with b4
   holds b3 * b4 is invertible(b1, b2) &
    (b3 * b4) ~ = b3 ~ * (b4 ~);

:: MATRIX_6:th 39
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, b4 being Matrix of b1,b1,the carrier of b2
      st b3 is invertible(b1, b2) & b4 is invertible(b1, b2) & b3 * b4 = 1.(b2,b1)
   holds b3 is_reverse_of b4;

:: MATRIX_6:th 40
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, b4 being Matrix of b1,b1,the carrier of b2
      st b3 is invertible(b1, b2) & b4 is invertible(b1, b2) & b4 * b3 = 1.(b2,b1)
   holds b3 is_reverse_of b4;

:: MATRIX_6:th 41
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, b4 being Matrix of b1,b1,the carrier of b2
      st b3 is invertible(b1, b2) & b3 commutes_with b4
   holds b3 ~ commutes_with b4;

:: MATRIX_6:attrnot 4 => MATRIX_6:attr 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;
  attr a3 is Orthogonal means
    a3 is invertible(a1, a2) & a3 @ = a3 ~;
end;

:: MATRIX_6:dfs 7
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
     a3 is Orthogonal
it is sufficient to prove
  thus a3 is invertible(a1, a2) & a3 @ = a3 ~;

:: MATRIX_6:def 7
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 Orthogonal(b1, b2)
   iff
      b3 is invertible(b1, b2) & b3 @ = b3 ~;

:: MATRIX_6:th 42
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 @) = 1.(b2,b1) & b3 is invertible(b1, b2)
   iff
      b3 is Orthogonal(b1, b2);

:: MATRIX_6:th 43
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 invertible(b1, b2) & b3 @ * b3 = 1.(b2,b1)
   iff
      b3 is Orthogonal(b1, b2);

:: MATRIX_6:th 44
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
      st b3 is Orthogonal(b1, b2)
   holds b3 @ * b3 = b3 * (b3 @);

:: MATRIX_6:th 45
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, b4 being Matrix of b1,b1,the carrier of b2
      st b3 is Orthogonal(b1, b2) & b3 commutes_with b4
   holds b3 @ commutes_with b4;

:: MATRIX_6:th 46
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, b4 being Matrix of b1,b1,the carrier of b2
      st b3 is invertible(b1, b2) & b4 is invertible(b1, b2)
   holds b3 * b4 is invertible(b1, b2) &
    (b3 * b4) ~ = b4 ~ * (b3 ~);

:: MATRIX_6:th 47
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, b4 being Matrix of b1,b1,the carrier of b2
      st 0 < b1 & b3 is Orthogonal(b1, b2) & b4 is Orthogonal(b1, b2)
   holds b3 * b4 is Orthogonal(b1, b2);

:: MATRIX_6:th 48
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, b4 being Matrix of b1,b1,the carrier of b2
      st b3 is Orthogonal(b1, b2) & b3 commutes_with b4
   holds b3 @ commutes_with b4;

:: MATRIX_6:th 49
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, b4 being Matrix of b1,b1,the carrier of b2
      st 0 < b1 & b3 commutes_with b4
   holds b3 + b3 commutes_with b4;

:: MATRIX_6:th 50
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, b4 being Matrix of b1,b1,the carrier of b2
      st 0 < b1 & b3 commutes_with b4
   holds b3 + b4 commutes_with b4;

:: MATRIX_6:th 51
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, b4 being Matrix of b1,b1,the carrier of b2
      st 0 < b1 & b3 commutes_with b4
   holds b3 + b3 commutes_with b4 + b4;

:: MATRIX_6:th 52
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, b4 being Matrix of b1,b1,the carrier of b2
      st 0 < b1 & b3 commutes_with b4
   holds b3 + b4 commutes_with b4 + b4;

:: MATRIX_6:th 54
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, b4 being Matrix of b1,b1,the carrier of b2
      st b3 commutes_with b4
   holds b3 * b4 commutes_with b4;

:: MATRIX_6:th 55
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, b4 being Matrix of b1,b1,the carrier of b2
      st b3 commutes_with b4
   holds b3 * b3 commutes_with b4;

:: MATRIX_6:th 56
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, b4 being Matrix of b1,b1,the carrier of b2
      st b3 commutes_with b4
   holds b3 * b3 commutes_with b4 * b4;

:: MATRIX_6:th 57
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, b4 being Matrix of b1,b1,the carrier of b2
      st 0 < b1 & b3 commutes_with b4
   holds b3 @ commutes_with b4 @;

:: MATRIX_6:th 58
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, b4, b5 being Matrix of b1,b1,the carrier of b2
      st b3 is invertible(b1, b2) & b4 is invertible(b1, b2) & b5 is invertible(b1, b2)
   holds (b3 * b4) * b5 is invertible(b1, b2) &
    ((b3 * b4) * b5) ~ = (b5 ~ * (b4 ~)) * (b3 ~);

:: MATRIX_6:th 59
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, b4, b5 being Matrix of b1,b1,the carrier of b2
      st 0 < b1 & b3 is Orthogonal(b1, b2) & b4 is Orthogonal(b1, b2) & b5 is Orthogonal(b1, b2)
   holds (b3 * b4) * b5 is Orthogonal(b1, b2);

:: MATRIX_6:th 60
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 holds
   1.(b2,b1) is Orthogonal(b1, b2);

:: MATRIX_6:th 61
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, b4 being Matrix of b1,b1,the carrier of b2
      st 0 < b1 & b3 is Orthogonal(b1, b2) & b4 is Orthogonal(b1, b2)
   holds b3 ~ * b4 is Orthogonal(b1, b2);