Article MATRIXR2, MML version 4.99.1005
:: MATRIXR2:th 1
theorem
for b1, b2 being FinSequence of REAL
st len b1 = len b2 & b1 + b2 = 0* len b1
holds b1 = - b2 & b2 = - b1;
:: MATRIXR2:th 2
theorem
for b1 being non empty set
for b2, b3 being Element of NAT
for b4 being tabular FinSequence of b1 *
for b5 being FinSequence of b1
st b5 = b4 . b2 & 1 <= b2 & b2 <= len b4 & 1 <= b3 & b3 <= width b4 & len b5 = width b4
holds b4 *(b2,b3) = b5 . b3;
:: MATRIXR2:th 3
theorem
for b1, b2 being Element of NAT
for b3 being real set
for b4 being tabular FinSequence of REAL *
st len (b3 * b4) = len b4 & width (b3 * b4) = width b4 & [b1,b2] in Indices b4
holds (b3 * b4) *(b1,b2) = b3 * (b4 *(b1,b2));
:: MATRIXR2:th 4
theorem
for b1 being Element of NAT
for b2, b3 being Matrix of b1,b1,REAL holds
len (b2 * b3) = len b2 & width (b2 * b3) = width b3 & len (b2 * b3) = b1 & width (b2 * b3) = b1;
:: MATRIXR2:th 5
theorem
for b1 being real set
for b2 being tabular FinSequence of REAL * holds
len (b1 * b2) = len b2 & width (b1 * b2) = width b2;
:: MATRIXR2:th 6
theorem
for b1, b2 being tabular FinSequence of REAL *
st len b1 = len b2 & width b1 = width b2
holds len (b1 - b2) = len b1 &
width (b1 - b2) = width b1 &
(for b3, b4 being Element of NAT
st [b3,b4] in Indices b1
holds (b1 - b2) *(b3,b4) = (b1 *(b3,b4)) - (b2 *(b3,b4)));
:: MATRIXR2:funcnot 1 => MATRIXR2:func 1
definition
let a1 be Element of NAT;
let a2, a3 be Matrix of a1,a1,REAL;
redefine func a2 * a3 -> Matrix of a1,a1,REAL;
end;
:: MATRIXR2:th 7
theorem
for b1, b2 being tabular FinSequence of REAL *
st len b1 = len b2 & width b1 = width b2 & 0 < len b1
holds b1 + (b2 - b2) = b1;
:: MATRIXR2:th 8
theorem
for b1, b2 being tabular FinSequence of REAL *
st len b1 = len b2 & width b1 = width b2 & 0 < len b1
holds (b1 + b2) - b2 = b1;
:: MATRIXR2:th 9
theorem
for b1 being tabular FinSequence of REAL * holds
(- 1) * b1 = - b1;
:: MATRIXR2:th 10
theorem
for b1 being tabular FinSequence of REAL *
for b2, b3 being Element of NAT
st [b2,b3] in Indices b1
holds (- b1) *(b2,b3) = - (b1 *(b2,b3));
:: MATRIXR2:th 11
theorem
for b1, b2 being Element of REAL
for b3 being tabular FinSequence of REAL * holds
(b1 * b2) * b3 = b1 * (b2 * b3);
:: MATRIXR2:th 12
theorem
for b1, b2 being Element of REAL
for b3 being tabular FinSequence of REAL * holds
(b1 + b2) * b3 = (b1 * b3) + (b2 * b3);
:: MATRIXR2:th 13
theorem
for b1, b2 being Element of REAL
for b3 being tabular FinSequence of REAL * holds
(b1 - b2) * b3 = (b1 * b3) - (b2 * b3);
:: MATRIXR2:th 14
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 tabular FinSequence of (the carrier of b2) *
st 0 < b1 & 0 < len b3
holds (0.(b2,b1,len b3)) * b3 = 0.(b2,b1,width b3);
:: MATRIXR2: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, b3 being tabular FinSequence of (the carrier of b1) *
st len b2 = width b3 & 0 < len b3 & 0 < len b2
holds (- b3) * b2 = - (b3 * b2);
:: MATRIXR2: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, b3, b4 being tabular FinSequence of (the carrier of b1) *
st len b3 = len b4 & width b3 = width b4 & len b2 = width b3 & 0 < len b3 & 0 < len b2
holds (b3 - b4) * b2 = (b3 * b2) - (b4 * b2);
:: MATRIXR2:th 17
theorem
for b1, b2, b3 being tabular FinSequence of REAL *
st len b1 = len b2 & width b1 = width b2 & len b3 = width b1 & 0 < len b1 & 0 < len b3
holds (b1 - b2) * b3 = (b1 * b3) - (b2 * b3);
:: MATRIXR2:th 18
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, b4 being tabular FinSequence of (the carrier of b1) *
st 0 < width b3 & 0 < len b3
holds b3 * 0.(b1,width b3,b2) = 0.(b1,len b3,b2);
:: MATRIXR2:th 19
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 b2 * - b3 = - (b2 * b3);
:: MATRIXR2:th 20
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, b4 being tabular FinSequence of (the carrier of b1) *
st len b3 = len b4 & width b3 = width b4 & len b3 = width b2 & 0 < len b3 & 0 < len b2
holds b2 * (b3 - b4) = (b2 * b3) - (b2 * b4);
:: MATRIXR2:th 21
theorem
for b1, b2, b3 being tabular FinSequence of REAL *
st len b1 = len b2 & width b1 = width b2 & width b3 = len b1 & 0 < len b3 & 0 < len b1
holds b3 * (b1 - b2) = (b3 * b1) - (b3 * b2);
:: MATRIXR2:th 22
theorem
for b1, b2, b3 being tabular FinSequence of REAL *
st len b1 = len b2 &
width b1 = width b2 &
len b3 = len b1 &
width b3 = width b1 &
(for b4, b5 being Element of NAT
st [b4,b5] in Indices b1
holds b3 *(b4,b5) = (b1 *(b4,b5)) - (b2 *(b4,b5)))
holds b3 = b1 - b2;
:: MATRIXR2:th 23
theorem
for b1, b2 being FinSequence of REAL
st len b1 = len b2 & 0 < len b1
holds LineVec2Mx (b1 - b2) = (LineVec2Mx b1) - LineVec2Mx b2;
:: MATRIXR2:th 24
theorem
for b1, b2 being FinSequence of REAL
st len b1 = len b2 & 0 < len b1
holds ColVec2Mx (b1 - b2) = (ColVec2Mx b1) - ColVec2Mx b2;
:: MATRIXR2:th 25
theorem
for b1, b2 being tabular FinSequence of REAL *
st len b1 = len b2 & width b1 = width b2
for b3 being natural set
st 1 <= b3 & b3 <= len b1
holds Line(b1 - b2,b3) = (Line(b1,b3)) - Line(b2,b3);
:: MATRIXR2:th 26
theorem
for b1, b2 being tabular FinSequence of REAL *
st len b1 = len b2 & width b1 = width b2
for b3 being natural set
st 1 <= b3 & b3 <= width b1
holds Col(b1 - b2,b3) = (Col(b1,b3)) - Col(b2,b3);
:: MATRIXR2:th 27
theorem
for b1, b2, b3, b4 being Element of NAT
for b5 being Matrix of b1,b2,REAL
for b6 being Matrix of b2,b3,REAL
for b7 being Matrix of b3,b4,REAL
st 0 < b1 & 0 < b2 & 0 < b3
holds (b5 * b6) * b7 = b5 * (b6 * b7);
:: MATRIXR2:th 28
theorem
for b1 being Element of NAT
for b2, b3, b4 being Matrix of b1,b1,REAL holds
(b2 * b3) * b4 = b2 * (b3 * b4);
:: MATRIXR2:th 29
theorem
for b1 being non empty set
for b2 being Element of NAT
for b3 being Matrix of b2,b2,b1 holds
b3 @ @ = b3;
:: MATRIXR2:th 30
theorem
for b1 being Element of NAT
for b2, b3 being Matrix of b1,b1,REAL holds
(b2 * b3) @ = b3 @ * (b2 @);
:: MATRIXR2:th 31
theorem
for b1, b2 being Element of NAT
for b3 being tabular FinSequence of REAL *
st 0 < b1 & len b3 = b1 & width b3 = b2
holds (- b3) + b3 = 0_Rmatrix(b1,b2);
:: MATRIXR2:funcnot 2 => MATRIXR2:func 2
definition
let a1 be Element of NAT;
let a2 be Matrix of a1,a1,REAL;
redefine func MXR2MXF a2 -> Matrix of a1,a1,the carrier of F_Real;
end;
:: MATRIXR2:funcnot 3 => MATRIXR2:func 3
definition
let a1 be Element of NAT;
let a2 be Matrix of a1,a1,REAL;
func Det A2 -> Element of REAL equals
Det MXR2MXF a2;
end;
:: MATRIXR2:def 1
theorem
for b1 being Element of NAT
for b2 being Matrix of b1,b1,REAL holds
Det b2 = Det MXR2MXF b2;
:: MATRIXR2:th 32
theorem
for b1 being Matrix of 2,2,REAL holds
Det b1 = ((b1 *(1,1)) * (b1 *(2,2))) - ((b1 *(1,2)) * (b1 *(2,1)));
:: MATRIXR2:th 33
theorem
for b1 being Element of NAT
for b2, b3, b4 being Relation-like Function-like FinSequence-like set
st len b2 = b1 & len b3 = b1 & len b4 = b1
holds <*b2,b3,b4*> is tabular;
:: MATRIXR2:th 34
theorem
for b1 being non empty set
for b2 being Element of NAT
for b3, b4, b5 being FinSequence of b1
st len b3 = b2 & len b4 = b2 & len b5 = b2
holds <*b3,b4,b5*> is Matrix of 3,b2,b1;
:: MATRIXR2:th 35
theorem
for b1 being non empty set
for b2, b3, b4, b5, b6, b7, b8, b9, b10 being Element of b1 holds
<*<*b2,b3,b4*>,<*b5,b6,b7*>,<*b8,b9,b10*>*> is Matrix of 3,3,b1;
:: MATRIXR2:th 36
theorem
for b1 being non empty set
for b2 being Element of NAT
for b3 being Matrix of b2,b2,b1
for b4 being FinSequence of b1
for b5 being natural set
st b4 = b3 . b5 & b5 in Seg b2
holds len b4 = b2;
:: MATRIXR2:th 37
theorem
for b1 being non empty set
for b2 being Matrix of 3,3,b1 holds
b2 = <*<*b2 *(1,1),b2 *(1,2),b2 *(1,3)*>,<*b2 *(2,1),b2 *(2,2),b2 *(2,3)*>,<*b2 *(3,1),b2 *(3,2),b2 *(3,3)*>*>;
:: MATRIXR2:th 38
theorem
for b1 being Matrix of 3,3,REAL holds
Det b1 = (((((((b1 *(1,1)) * (b1 *(2,2))) * (b1 *(3,3))) - (((b1 *(1,3)) * (b1 *(2,2))) * (b1 *(3,1)))) - (((b1 *(1,1)) * (b1 *(2,3))) * (b1 *(3,2)))) + (((b1 *(1,2)) * (b1 *(2,3))) * (b1 *(3,1)))) - (((b1 *(1,2)) * (b1 *(2,1))) * (b1 *(3,3)))) + (((b1 *(1,3)) * (b1 *(2,1))) * (b1 *(3,2)));
:: MATRIXR2:th 39
theorem
for b1 being Function-like quasi_total bijective Relation of Seg 0,Seg 0 holds
b1 = <*> NAT;
:: MATRIXR2:th 40
theorem
Permutations 0 = {<*> NAT};
:: MATRIXR2:th 41
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 0,0,the carrier of b1 holds
Det b2 = 1. b1;
:: MATRIXR2:th 42
theorem
for b1 being Matrix of 0,0,REAL holds
Det b1 = 1;
:: MATRIXR2:th 43
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
Det b3 = Det (b3 @);
:: MATRIXR2:th 44
theorem
for b1 being Element of NAT
for b2 being Matrix of b1,b1,REAL holds
Det b2 = Det (b2 @);
:: MATRIXR2:th 45
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, b4 being Matrix of b1,b1,the carrier of b2 holds
Det (b3 * b4) = (Det b3) * Det b4;
:: MATRIXR2:th 46
theorem
for b1 being Element of NAT
for b2, b3 being Matrix of b1,b1,REAL holds
Det (b2 * b3) = (Det b2) * Det b3;
:: MATRIXR2:th 47
theorem
for b1, b2 being FinSequence of REAL
for b3 being tabular FinSequence of REAL *
st len b1 = len b3 & len b2 = len b1 & 0 < len b1 & 0 < len b3
holds (b1 - b2) * b3 = (b1 * b3) - (b2 * b3);
:: MATRIXR2:th 48
theorem
for b1, b2 being FinSequence of REAL
for b3 being tabular FinSequence of REAL *
st len b1 = width b3 & len b2 = len b1 & 0 < len b1 & 0 < len b3
holds b3 * (b1 - b2) = (b3 * b1) - (b3 * b2);
:: MATRIXR2:th 49
theorem
for b1 being FinSequence of REAL
for b2 being tabular FinSequence of REAL *
st len b2 = len b1 & 0 < len b1 & 0 < width b2
holds (- b1) * b2 = - (b1 * b2);
:: MATRIXR2:th 50
theorem
for b1 being FinSequence of REAL
for b2 being tabular FinSequence of REAL *
st len b1 = width b2 & 0 < len b2 & 0 < len b1
holds b2 * - b1 = - (b2 * b1);
:: MATRIXR2:th 51
theorem
for b1 being FinSequence of REAL
for b2 being tabular FinSequence of REAL *
st len b1 = len b2 & 0 < len b1 & 0 < width b2
holds b1 * - b2 = - (b1 * b2);
:: MATRIXR2:th 52
theorem
for b1 being FinSequence of REAL
for b2 being tabular FinSequence of REAL *
st len b1 = width b2 & 0 < len b2 & 0 < len b1
holds (- b2) * b1 = - (b2 * b1);
:: MATRIXR2:th 53
theorem
for b1 being Element of REAL
for b2 being FinSequence of REAL
for b3 being tabular FinSequence of REAL *
st width b3 = len b2 & 0 < len b2 & 0 < len b3
holds b3 * (b1 * b2) = b1 * (b3 * b2);
:: MATRIXR2:th 54
theorem
for b1 being FinSequence of REAL
for b2, b3 being tabular FinSequence of REAL *
st len b1 = len b2 & len b2 = len b3 & width b2 = width b3 & 0 < len b2
holds b1 * (b2 - b3) = (b1 * b2) - (b1 * b3);
:: MATRIXR2:th 55
theorem
for b1 being FinSequence of REAL
for b2, b3 being tabular FinSequence of REAL *
st len b1 = width b2 & len b2 = len b3 & width b2 = width b3 & 0 < len b1 & 0 < len b2
holds (b2 - b3) * b1 = (b2 * b1) - (b3 * b1);
:: MATRIXR2:th 56
theorem
for b1 being FinSequence of REAL
for b2 being tabular FinSequence of REAL *
st len b2 = len b1
holds (LineVec2Mx b1) * b2 = LineVec2Mx (b1 * b2);
:: MATRIXR2:th 57
theorem
for b1 being FinSequence of REAL
for b2, b3 being tabular FinSequence of REAL *
st len b1 = len b2 & width b2 = len b3
holds b1 * (b2 * b3) = (b1 * b2) * b3;
:: MATRIXR2:th 58
theorem
for b1 being FinSequence of REAL
for b2 being tabular FinSequence of REAL *
st width b2 = len b1 & 0 < len b1 & 0 < len b2
holds b2 * ColVec2Mx b1 = ColVec2Mx (b2 * b1);
:: MATRIXR2:th 59
theorem
for b1 being FinSequence of REAL
for b2, b3 being tabular FinSequence of REAL *
st len b1 = width b3 & width b2 = len b3 & 0 < len b1 & 0 < len b3
holds (b2 * b3) * b1 = b2 * (b3 * b1);
:: MATRIXR2:th 60
theorem
for b1, b2, b3 being Element of NAT
for b4 being Matrix of b1,b2,REAL
for b5 being Matrix of b2,b3,REAL
st 0 < b1
for b6, b7 being Element of NAT
st [b6,b7] in Indices (b4 * b5)
holds (b4 * b5) *(b6,b7) = ((Line(b4,b6)) * b5) . b7;
:: MATRIXR2:th 61
theorem
for b1 being Element of NAT
for b2, b3 being Matrix of b1,b1,REAL
for b4, b5 being Element of NAT
st [b4,b5] in Indices (b3 * b2)
holds (b3 * b2) *(b4,b5) = ((Line(b3,b4)) * b2) . b5;
:: MATRIXR2:th 62
theorem
for b1 being Element of NAT
for b2, b3 being Matrix of b1,b1,REAL
st 0 < b1
for b4, b5 being Element of NAT
st [b4,b5] in Indices (b2 * b3)
holds (b2 * b3) *(b4,b5) = (b2 * Col(b3,b5)) . b4;
:: MATRIXR2:funcnot 4 => MATRIXR2:func 4
definition
let a1 be Element of NAT;
func 1_Rmatrix A1 -> Matrix of a1,a1,REAL equals
MXF2MXR 1.(F_Real,a1);
end;
:: MATRIXR2:def 2
theorem
for b1 being Element of NAT holds
1_Rmatrix b1 = MXF2MXR 1.(F_Real,b1);
:: MATRIXR2:th 63
theorem
for b1 being Element of NAT holds
(for b2 being Element of NAT
st [b2,b2] in Indices 1_Rmatrix b1
holds (1_Rmatrix b1) *(b2,b2) = 1) &
(for b2, b3 being Element of NAT
st [b2,b3] in Indices 1_Rmatrix b1 & b2 <> b3
holds (1_Rmatrix b1) *(b2,b3) = 0);
:: MATRIXR2:th 64
theorem
for b1 being Element of NAT holds
(1_Rmatrix b1) @ = 1_Rmatrix b1;
:: MATRIXR2:th 65
theorem
for b1, b2 being Element of NAT
st 0 < b1
holds (0_Rmatrix(b1,b2)) + 0_Rmatrix(b1,b2) = 0_Rmatrix(b1,b2);
:: MATRIXR2:th 66
theorem
for b1, b2 being Element of NAT
for b3 being Element of REAL
st 0 < b1
holds b3 * 0_Rmatrix(b1,b2) = 0_Rmatrix(b1,b2);
:: MATRIXR2:th 67
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
b2 * 1.(b1,width b2) = b2;
:: MATRIXR2:th 68
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,len b2)) * b2 = b2;
:: MATRIXR2:th 69
theorem
for b1, b2 being Element of NAT
for b3 being tabular FinSequence of REAL * holds
(b1 = width b3 implies b3 * 1_Rmatrix b1 = b3) &
(b2 = len b3 implies (1_Rmatrix b2) * b3 = b3);
:: MATRIXR2:th 70
theorem
for b1 being Element of NAT
for b2 being Matrix of b1,b1,REAL holds
(1_Rmatrix b1) * b2 = b2;
:: MATRIXR2:th 71
theorem
for b1 being Element of NAT
for b2 being Matrix of b1,b1,REAL holds
b2 * 1_Rmatrix b1 = b2;
:: MATRIXR2:th 72
theorem
for b1 being Element of NAT holds
Det 1_Rmatrix b1 = 1;
:: MATRIXR2:funcnot 5 => MATRIXR2:func 5
definition
let a1 be Element of NAT;
func 0_Rmatrix A1 -> Matrix of a1,a1,REAL equals
0_Rmatrix(a1,a1);
end;
:: MATRIXR2:def 3
theorem
for b1 being Element of NAT holds
0_Rmatrix b1 = 0_Rmatrix(b1,b1);
:: MATRIXR2:th 73
theorem
for b1 being Element of NAT
st 0 < b1
holds Det 0_Rmatrix b1 = 0;
:: MATRIXR2:funcnot 6 => MATRIXR2:func 6
definition
let a1, a2 be Element of NAT;
func Base_FinSeq(A1,A2) -> FinSequence of REAL equals
Replace(a1 |-> 0,a2,1);
end;
:: MATRIXR2:def 4
theorem
for b1, b2 being Element of NAT holds
Base_FinSeq(b1,b2) = Replace(b1 |-> 0,b2,1);
:: MATRIXR2:th 74
theorem
for b1, b2 being Element of NAT holds
len Base_FinSeq(b1,b2) = b1;
:: MATRIXR2:th 75
theorem
for b1, b2 being Element of NAT
st 1 <= b1 & b1 <= b2
holds (Base_FinSeq(b2,b1)) . b1 = 1;
:: MATRIXR2:th 76
theorem
for b1, b2, b3 being Element of NAT
st 1 <= b1 & b1 <= b2 & 1 <= b3 & b3 <= b2 & b1 <> b3
holds (Base_FinSeq(b2,b1)) . b3 = 0;
:: MATRIXR2:th 77
theorem
Base_FinSeq(1,1) = <*1*> &
Base_FinSeq(2,1) = <*1,0*> &
Base_FinSeq(2,2) = <*0,1*> &
Base_FinSeq(3,1) = <*1,0,0*> &
Base_FinSeq(3,2) = <*0,1,0*> &
Base_FinSeq(3,3) = <*0,0,1*>;
:: MATRIXR2:th 78
theorem
for b1, b2 being Element of NAT
st 1 <= b1 & b1 <= b2
holds (1_Rmatrix b2) . b1 = Base_FinSeq(b2,b1);
:: MATRIXR2:attrnot 1 => MATRIXR2:attr 1
definition
let a1 be Element of NAT;
let a2 be Matrix of a1,a1,REAL;
attr a2 is invertible means
ex b1 being Matrix of a1,a1,REAL st
b1 * a2 = 1_Rmatrix a1 & a2 * b1 = 1_Rmatrix a1;
end;
:: MATRIXR2:dfs 5
definiens
let a1 be Element of NAT;
let a2 be Matrix of a1,a1,REAL;
To prove
a2 is invertible
it is sufficient to prove
thus ex b1 being Matrix of a1,a1,REAL st
b1 * a2 = 1_Rmatrix a1 & a2 * b1 = 1_Rmatrix a1;
:: MATRIXR2:def 5
theorem
for b1 being Element of NAT
for b2 being Matrix of b1,b1,REAL holds
b2 is invertible(b1)
iff
ex b3 being Matrix of b1,b1,REAL st
b3 * b2 = 1_Rmatrix b1 & b2 * b3 = 1_Rmatrix b1;
:: MATRIXR2:funcnot 7 => MATRIXR2:func 7
definition
let a1 be Element of NAT;
let a2 be Matrix of a1,a1,REAL;
assume a2 is invertible(a1);
func Inv A2 -> Matrix of a1,a1,REAL means
it * a2 = 1_Rmatrix a1 & a2 * it = 1_Rmatrix a1;
end;
:: MATRIXR2:def 6
theorem
for b1 being Element of NAT
for b2 being Matrix of b1,b1,REAL
st b2 is invertible(b1)
for b3 being Matrix of b1,b1,REAL holds
b3 = Inv b2
iff
b3 * b2 = 1_Rmatrix b1 & b2 * b3 = 1_Rmatrix b1;
:: MATRIXR2:funcreg 1
registration
let a1 be Element of NAT;
cluster 1_Rmatrix a1 -> invertible;
end;
:: MATRIXR2:th 79
theorem
for b1 being Element of NAT holds
Inv 1_Rmatrix b1 = 1_Rmatrix b1;
:: MATRIXR2:th 80
theorem
for b1 being Element of NAT
for b2, b3, b4 being Matrix of b1,b1,REAL
st b3 * b2 = 1_Rmatrix b1 & b2 * b4 = 1_Rmatrix b1
holds b3 = b4 & b2 is invertible(b1);
:: MATRIXR2:th 81
theorem
for b1 being Element of NAT
for b2 being Matrix of b1,b1,REAL
st b2 is invertible(b1)
holds Det Inv b2 = (Det b2) ";
:: MATRIXR2:th 82
theorem
for b1 being Element of NAT
for b2 being Matrix of b1,b1,REAL
st b2 is invertible(b1)
holds Det b2 <> 0;
:: MATRIXR2:th 83
theorem
for b1 being Element of NAT
for b2, b3 being Matrix of b1,b1,REAL
st b2 is invertible(b1) & b3 is invertible(b1)
holds b2 * b3 is invertible(b1) &
Inv (b2 * b3) = (Inv b3) * Inv b2;
:: MATRIXR2:th 84
theorem
for b1 being Element of NAT
for b2 being Matrix of b1,b1,REAL
st b2 is invertible(b1)
holds Inv Inv b2 = b2;
:: MATRIXR2:th 85
theorem
1_Rmatrix 0 = 0_Rmatrix 0 & 1_Rmatrix 0 = {};
:: MATRIXR2:th 86
theorem
for b1 being Element of NAT
for b2 being FinSequence of REAL
st len b2 = b1 & 0 < b1
holds (1_Rmatrix b1) * b2 = b2;
:: MATRIXR2:th 87
theorem
for b1 being Element of NAT
for b2, b3 being FinSequence of REAL
for b4 being Matrix of b1,b1,REAL
st b4 is invertible(b1) & len b2 = b1 & len b3 = b1 & 0 < b1
holds b4 * b2 = b3
iff
b2 = (Inv b4) * b3;
:: MATRIXR2:th 88
theorem
for b1 being Element of NAT
for b2 being FinSequence of REAL
st len b2 = b1
holds b2 * 1_Rmatrix b1 = b2;
:: MATRIXR2:th 89
theorem
for b1 being Element of NAT
for b2, b3 being FinSequence of REAL
for b4 being Matrix of b1,b1,REAL
st b4 is invertible(b1) & len b2 = b1 & len b3 = b1
holds b2 * b4 = b3
iff
b2 = b3 * Inv b4;
:: MATRIXR2:th 90
theorem
for b1 being Element of NAT
for b2 being Matrix of b1,b1,REAL
st 0 < b1 & b2 is invertible(b1)
for b3 being FinSequence of REAL
st len b3 = b1
holds ex b4 being FinSequence of REAL st
len b4 = b1 & b2 * b4 = b3;
:: MATRIXR2:th 91
theorem
for b1 being Element of NAT
for b2 being Matrix of b1,b1,REAL
st b2 is invertible(b1)
for b3 being FinSequence of REAL
st len b3 = b1
holds ex b4 being FinSequence of REAL st
len b4 = b1 & b4 * b2 = b3;
:: MATRIXR2:th 92
theorem
for b1 being Element of NAT
for b2 being Matrix of b1,b1,REAL
for b3, b4 being FinSequence of REAL
st len b3 = b1 & len b4 = b1 & b3 * b2 = b4
for b5 being Element of NAT
st 1 <= b5 & b5 <= b1
holds b4 . b5 = |(b3,Col(b2,b5))|;
:: MATRIXR2:th 93
theorem
for b1 being Element of NAT
for b2 being Matrix of b1,b1,REAL
st for b3 being FinSequence of REAL
st len b3 = b1
holds ex b4 being FinSequence of REAL st
len b4 = b1 & b4 * b2 = b3
holds ex b3 being Matrix of b1,b1,REAL st
b3 * b2 = 1_Rmatrix b1;
:: MATRIXR2:th 94
theorem
for b1 being Element of NAT
for b2 being FinSequence of REAL
for b3 being Matrix of b1,b1,REAL
st 0 < b1 & len b2 = b1
holds b3 @ * b2 = b2 * b3;
:: MATRIXR2:th 95
theorem
for b1 being Element of NAT
for b2 being FinSequence of REAL
for b3 being Matrix of b1,b1,REAL
st 0 < b1 & len b2 = b1
holds b2 * (b3 @) = b3 * b2;
:: MATRIXR2:th 96
theorem
for b1 being Element of NAT
for b2 being Matrix of b1,b1,REAL
st 0 < b1 &
(for b3 being FinSequence of REAL
st len b3 = b1
holds ex b4 being FinSequence of REAL st
len b4 = b1 & b2 * b4 = b3)
holds ex b3 being Matrix of b1,b1,REAL st
b2 * b3 = 1_Rmatrix b1;
:: MATRIXR2:th 97
theorem
for b1 being Element of NAT
for b2 being Matrix of b1,b1,REAL
st 0 < b1 &
(for b3 being FinSequence of REAL
st len b3 = b1
holds ex b4, b5 being FinSequence of REAL st
len b4 = b1 & len b5 = b1 & b2 * b4 = b3 & b5 * b2 = b3)
holds b2 is invertible(b1);