Article MATRIX_3, MML version 4.99.1005
:: MATRIX_3:funcnot 1 => MATRIX_3:func 1
definition
let a1 be non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr;
let a2, a3 be natural set;
func 0.(A1,A2,A3) -> Matrix of a2,a3,the carrier of a1 equals
a2 |-> (a3 |-> 0. a1);
end;
:: MATRIX_3:def 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, b3 being natural set holds
0.(b1,b2,b3) = b2 |-> (b3 |-> 0. b1);
:: MATRIX_3:funcnot 2 => MATRIX_3:func 2
definition
let a1 be non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr;
let a2 be tabular FinSequence of (the carrier of a1) *;
func - A2 -> tabular FinSequence of (the carrier of a1) * means
len it = len a2 &
width it = width a2 &
(for b1, b2 being natural set
st [b1,b2] in Indices a2
holds it *(b1,b2) = - (a2 *(b1,b2)));
end;
:: MATRIX_3:def 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, b3 being tabular FinSequence of (the carrier of b1) * holds
b3 = - b2
iff
len b3 = len b2 &
width b3 = width b2 &
(for b4, b5 being natural set
st [b4,b5] in Indices b2
holds b3 *(b4,b5) = - (b2 *(b4,b5)));
:: MATRIX_3:funcnot 3 => MATRIX_3:func 3
definition
let a1 be non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr;
let a2, a3 be tabular FinSequence of (the carrier of a1) *;
func A2 + A3 -> tabular FinSequence of (the carrier of a1) * means
len it = len a2 &
width it = width a2 &
(for b1, b2 being natural set
st [b1,b2] in Indices a2
holds it *(b1,b2) = (a2 *(b1,b2)) + (a3 *(b1,b2)));
end;
:: MATRIX_3:def 3
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) * holds
b4 = b2 + b3
iff
len b4 = len b2 &
width b4 = width b2 &
(for b5, b6 being natural set
st [b5,b6] in Indices b2
holds b4 *(b5,b6) = (b2 *(b5,b6)) + (b3 *(b5,b6)));
:: MATRIX_3:th 3
theorem
for b1, b2 being natural set
for b3 being non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b4, b5 being natural set
st [b4,b5] in Indices 0.(b3,b1,b2)
holds (0.(b3,b1,b2)) *(b4,b5) = 0. b3;
:: MATRIX_3:th 4
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 = len b3 & width b2 = width b3
holds b2 + b3 = b3 + b2;
:: MATRIX_3:th 5
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 b2 = len b3 & len b2 = len b4 & width b2 = width b3 & width b2 = width b4
holds (b2 + b3) + b4 = b2 + (b3 + b4);
:: MATRIX_3:th 6
theorem
for b1, b2 being natural set
for b3 being non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b4 being Matrix of b1,b2,the carrier of b3 holds
b4 + 0.(b3,b1,b2) = b4;
:: MATRIX_3:th 7
theorem
for b1, b2 being natural set
for b3 being non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b4 being Matrix of b1,b2,the carrier of b3 holds
b4 + - b4 = 0.(b3,b1,b2);
:: MATRIX_3:funcnot 4 => MATRIX_3:func 4
definition
let a1 be non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr;
let a2, a3 be tabular FinSequence of (the carrier of a1) *;
assume width a2 = len a3;
func A2 * A3 -> tabular FinSequence of (the carrier of a1) * means
len it = len a2 &
width it = width a3 &
(for b1, b2 being natural set
st [b1,b2] in Indices it
holds it *(b1,b2) = (Line(a2,b1)) "*" Col(a3,b2));
end;
:: MATRIX_3:def 4
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
for b4 being tabular FinSequence of (the carrier of b1) * holds
b4 = b2 * b3
iff
len b4 = len b2 &
width b4 = width b3 &
(for b5, b6 being natural set
st [b5,b6] in Indices b4
holds b4 *(b5,b6) = (Line(b2,b5)) "*" Col(b3,b6));
:: MATRIX_3:funcnot 5 => MATRIX_3:func 5
definition
let a1, a2, a3 be natural set;
let a4 be non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr;
let a5 be Matrix of a1,a2,the carrier of a4;
let a6 be Matrix of width a5,a3,the carrier of a4;
redefine func a5 * a6 -> Matrix of len a5,width a6,the carrier of a4;
end;
:: MATRIX_3:funcnot 6 => MATRIX_3:func 6
definition
let a1 be non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr;
let a2 be tabular FinSequence of (the carrier of a1) *;
let a3 be Element of the carrier of a1;
func A3 * A2 -> tabular FinSequence of (the carrier of a1) * means
len it = len a2 &
width it = width a2 &
(for b1, b2 being natural set
st [b1,b2] in Indices a2
holds it *(b1,b2) = a3 * (a2 *(b1,b2)));
end;
:: MATRIX_3:def 5
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) *
for b3 being Element of the carrier of b1
for b4 being tabular FinSequence of (the carrier of b1) * holds
b4 = b3 * b2
iff
len b4 = len b2 &
width b4 = width b2 &
(for b5, b6 being natural set
st [b5,b6] in Indices b2
holds b4 *(b5,b6) = b3 * (b2 *(b5,b6)));
:: MATRIX_3:funcnot 7 => MATRIX_3:func 7
definition
let a1 be non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr;
let a2 be tabular FinSequence of (the carrier of a1) *;
let a3 be Element of the carrier of a1;
func A2 * A3 -> tabular FinSequence of (the carrier of a1) * equals
a3 * a2;
end;
:: MATRIX_3:def 6
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) *
for b3 being Element of the carrier of b1 holds
b2 * b3 = b3 * b2;
:: MATRIX_3:th 8
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 len b2 = len b3
holds len mlt(b2,b3) = len b2 & len mlt(b2,b3) = len b3;
:: MATRIX_3: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
for b3, b4 being natural set
st [b3,b4] in Indices 1.(b2,b1) & b4 = b3
holds (Line(1.(b2,b1),b3)) . b4 = 1. b2;
:: MATRIX_3: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
for b3, b4 being natural set
st [b3,b4] in Indices 1.(b2,b1) & b4 <> b3
holds (Line(1.(b2,b1),b3)) . b4 = 0. b2;
:: MATRIX_3:th 11
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 natural set
st [b3,b4] in Indices 1.(b2,b1) & b3 = b4
holds (Col(1.(b2,b1),b4)) . b3 = 1. b2;
:: MATRIX_3: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 natural set
st [b3,b4] in Indices 1.(b2,b1) & b3 <> b4
holds (Col(1.(b2,b1),b4)) . b3 = 0. b2;
:: MATRIX_3:th 13
theorem
for b1 being Element of NAT
for b2 being non empty right_complementable add-associative right_zeroed addLoopStr holds
Sum (b1 |-> 0. b2) = 0. b2;
:: MATRIX_3:th 14
theorem
for b1 being non empty right_complementable add-associative right_zeroed addLoopStr
for b2 being FinSequence of the carrier of b1
for b3 being natural set
st b3 in dom b2 &
(for b4 being natural set
st b4 in dom b2 & b4 <> b3
holds b2 . b4 = 0. b1)
holds Sum b2 = b2 . b3;
:: MATRIX_3: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 FinSequence of the carrier of b1 holds
len mlt(b2,b3) = min(len b2,len b3);
:: MATRIX_3: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 being FinSequence of the carrier of b1
for b4 being natural set
st b4 in dom b2 &
b2 . b4 = 1. b1 &
(for b5 being natural set
st b5 in dom b2 & b5 <> b4
holds b2 . b5 = 0. b1)
for b5 being natural set
st b5 in dom mlt(b2,b3)
holds (b4 = b5 implies (mlt(b2,b3)) . b5 = b3 . b4) &
(b4 = b5 or (mlt(b2,b3)) . b5 = 0. b1);
:: MATRIX_3: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 natural set
st [b3,b4] in Indices 1.(b2,b1)
holds (b3 = b4 implies (Line(1.(b2,b1),b3)) . b4 = 1. b2) &
(b3 = b4 or (Line(1.(b2,b1),b3)) . b4 = 0. b2);
:: MATRIX_3: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 natural set
st [b3,b4] in Indices 1.(b2,b1)
holds (b3 = b4 implies (Col(1.(b2,b1),b4)) . b3 = 1. b2) &
(b3 = b4 or (Col(1.(b2,b1),b4)) . b3 = 0. b2);
:: MATRIX_3: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 FinSequence of the carrier of b1
for b4 being natural set
st b4 in dom b2 &
b4 in dom b3 &
b2 . b4 = 1. b1 &
(for b5 being natural set
st b5 in dom b2 & b5 <> b4
holds b2 . b5 = 0. b1)
holds Sum mlt(b2,b3) = b3 . b4;
:: MATRIX_3:th 20
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
(1.(b2,b1)) * b3 = b3;
:: MATRIX_3: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 Matrix of b1,b1,the carrier of b2 holds
b3 * 1.(b2,b1) = b3;
:: MATRIX_3:th 22
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 holds
<*<*b2*>*> * <*<*b3*>*> = <*<*b2 * b3*>*>;
:: MATRIX_3:th 23
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, b5, b6, b7, b8, b9 being Element of the carrier of b1 holds
((b2,b4)][(b6,b8)) * ((b3,b5)][(b7,b9)) = ((b2 * b3) + (b4 * b7),(b2 * b5) + (b4 * b9))][((b6 * b3) + (b8 * b7),(b6 * b5) + (b8 * b9));
:: MATRIX_3:th 24
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 & width b3 <> 0
holds (b2 * b3) @ = b3 @ * (b2 @);
:: MATRIX_3:funcnot 8 => MATRIX_3:func 8
definition
let a1, a2 be non empty set;
let a3 be Element of Fin a1;
let a4 be Element of Fin a2;
redefine func [:a3, a4:] -> Element of Fin [:a1,a2:];
end;
:: MATRIX_3:funcnot 9 => MATRIX_3:func 9
definition
let a1, a2, a3 be non empty set;
let a4 be Function-like quasi_total Relation of [:a3,a3:],a3;
let a5 be Function-like quasi_total Relation of a1,a3;
let a6 be Function-like quasi_total Relation of a2,a3;
redefine func a4 *(a5,a6) -> Function-like quasi_total Relation of [:a1,a2:],a3;
end;
:: MATRIX_3:th 25
theorem
for b1, b2, b3 being non empty set
for b4, b5 being Function-like quasi_total Relation of [:b3,b3:],b3
for b6 being Function-like quasi_total Relation of b1,b3
for b7 being Function-like quasi_total Relation of b2,b3
for b8 being Element of Fin b1
for b9 being Element of Fin b2
st b4 is commutative(b3) &
b4 is associative(b3) &
([:b9,b8:] = {} implies b4 is having_a_unity(b3)) &
b5 is commutative(b3)
holds b4 $$([:b8,b9:],b5 *(b6,b7)) = b4 $$([:b9,b8:],b5 *(b7,b6));
:: MATRIX_3:th 26
theorem
for b1, b2, b3 being non empty set
for b4, b5 being Function-like quasi_total Relation of [:b1,b1:],b1
for b6 being Function-like quasi_total Relation of b2,b1
for b7 being Function-like quasi_total Relation of b3,b1
st b4 is commutative(b1) & b4 is associative(b1) & b4 is having_a_unity(b1)
for b8 being Element of b2
for b9 being Element of b3 holds
b4 $$([:{.b8.},{.b9.}:],b5 *(b6,b7)) = b4 $$({.b8.},b5 [:](b6,b4 $$({.b9.},b7)));
:: MATRIX_3:th 27
theorem
for b1, b2, b3 being non empty set
for b4, b5 being Function-like quasi_total Relation of [:b1,b1:],b1
for b6 being Function-like quasi_total Relation of b2,b1
for b7 being Function-like quasi_total Relation of b3,b1
for b8 being Element of Fin b2
for b9 being Element of Fin b3
st b4 is commutative(b1) & b4 is associative(b1) & b4 is having_a_unity(b1) & b4 is having_an_inverseOp(b1) & b5 is_distributive_wrt b4
for b10 being Element of b2 holds
b4 $$([:{.b10.},b9:],b5 *(b6,b7)) = b4 $$({.b10.},b5 [:](b6,b4 $$(b9,b7)));
:: MATRIX_3:th 28
theorem
for b1, b2, b3 being non empty set
for b4, b5 being Function-like quasi_total Relation of [:b1,b1:],b1
for b6 being Function-like quasi_total Relation of b2,b1
for b7 being Function-like quasi_total Relation of b3,b1
for b8 being Element of Fin b2
for b9 being Element of Fin b3
st b4 is having_a_unity(b1) & b4 is commutative(b1) & b4 is associative(b1) & b4 is having_an_inverseOp(b1) & b5 is_distributive_wrt b4
holds b4 $$([:b8,b9:],b5 *(b6,b7)) = b4 $$(b8,b5 [:](b6,b4 $$(b9,b7)));
:: MATRIX_3:th 29
theorem
for b1, b2, b3 being non empty set
for b4, b5 being Function-like quasi_total Relation of [:b1,b1:],b1
for b6 being Function-like quasi_total Relation of b2,b1
for b7 being Function-like quasi_total Relation of b3,b1
st b4 is commutative(b1) & b4 is associative(b1) & b4 is having_a_unity(b1) & b5 is commutative(b1)
for b8 being Element of b2
for b9 being Element of b3 holds
b4 $$([:{.b8.},{.b9.}:],b5 *(b6,b7)) = b4 $$({.b9.},b5 [;](b4 $$({.b8.},b6),b7));
:: MATRIX_3:th 30
theorem
for b1, b2, b3 being non empty set
for b4, b5 being Function-like quasi_total Relation of [:b1,b1:],b1
for b6 being Function-like quasi_total Relation of b2,b1
for b7 being Function-like quasi_total Relation of b3,b1
for b8 being Element of Fin b2
for b9 being Element of Fin b3
st b4 is having_a_unity(b1) & b4 is commutative(b1) & b4 is associative(b1) & b4 is having_an_inverseOp(b1) & b5 is_distributive_wrt b4 & b5 is commutative(b1)
holds b4 $$([:b8,b9:],b5 *(b6,b7)) = b4 $$(b9,b5 [;](b4 $$(b8,b6),b7));
:: MATRIX_3:th 31
theorem
for b1, b2, b3 being non empty set
for b4 being Function-like quasi_total Relation of [:b1,b1:],b1
for b5 being Function-like quasi_total Relation of [:b2,b3:],b1
for b6 being Function-like quasi_total Relation of b2,b1
for b7 being Element of Fin b3
st b4 is having_a_unity(b1) & b4 is commutative(b1) & b4 is associative(b1) & b4 is having_an_inverseOp(b1)
for b8 being Element of b2
st for b9 being Element of b2 holds
b6 . b9 = b4 $$(b7,(curry b5) . b9)
holds b4 $$([:{.b8.},b7:],b5) = b4 $$({.b8.},b6);
:: MATRIX_3:th 32
theorem
for b1, b2, b3 being non empty set
for b4 being Function-like quasi_total Relation of [:b1,b1:],b1
for b5 being Function-like quasi_total Relation of [:b2,b3:],b1
for b6 being Function-like quasi_total Relation of b2,b1
for b7 being Element of Fin b2
for b8 being Element of Fin b3
st (for b9 being Element of b2 holds
b6 . b9 = b4 $$(b8,(curry b5) . b9)) &
b4 is having_a_unity(b1) &
b4 is commutative(b1) &
b4 is associative(b1) &
b4 is having_an_inverseOp(b1)
holds b4 $$([:b7,b8:],b5) = b4 $$(b7,b6);
:: MATRIX_3:th 33
theorem
for b1, b2, b3 being non empty set
for b4 being Function-like quasi_total Relation of [:b1,b1:],b1
for b5 being Function-like quasi_total Relation of [:b2,b3:],b1
for b6 being Function-like quasi_total Relation of b3,b1
for b7 being Element of Fin b2
st b4 is having_a_unity(b1) & b4 is commutative(b1) & b4 is associative(b1) & b4 is having_an_inverseOp(b1)
for b8 being Element of b3
st for b9 being Element of b3 holds
b6 . b9 = b4 $$(b7,(curry' b5) . b9)
holds b4 $$([:b7,{.b8.}:],b5) = b4 $$({.b8.},b6);
:: MATRIX_3:th 34
theorem
for b1, b2, b3 being non empty set
for b4 being Function-like quasi_total Relation of [:b1,b1:],b1
for b5 being Function-like quasi_total Relation of [:b2,b3:],b1
for b6 being Function-like quasi_total Relation of b3,b1
for b7 being Element of Fin b2
for b8 being Element of Fin b3
st (for b9 being Element of b3 holds
b6 . b9 = b4 $$(b7,(curry' b5) . b9)) &
b4 is having_a_unity(b1) &
b4 is commutative(b1) &
b4 is associative(b1) &
b4 is having_an_inverseOp(b1)
holds b4 $$([:b7,b8:],b5) = b4 $$(b8,b6);
:: MATRIX_3:th 35
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 width b2 = len b3 & width b3 = len b4
holds (b2 * b3) * b4 = b2 * (b3 * b4);
:: MATRIX_3:funcnot 10 => MATRIX_3:func 10
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 Permutations a1;
func Path_matrix(A4,A3) -> FinSequence of the carrier of a2 means
len it = a1 &
(for b1, b2 being natural set
st b1 in dom it & b2 = a4 . b1
holds it . b1 = a3 *(b1,b2));
end;
:: MATRIX_3: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
for b4 being Element of Permutations b1
for b5 being FinSequence of the carrier of b2 holds
b5 = Path_matrix(b4,b3)
iff
len b5 = b1 &
(for b6, b7 being natural set
st b6 in dom b5 & b7 = b4 . b6
holds b5 . b6 = b3 *(b6,b7));
:: MATRIX_3:funcnot 11 => MATRIX_3:func 11
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 Path_product A3 -> Function-like quasi_total Relation of Permutations a1,the carrier of a2 means
for b1 being Element of Permutations a1 holds
it . b1 = -((the multF of a2) "**" Path_matrix(b1,a3),b1);
end;
:: MATRIX_3:def 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
for b3 being Matrix of b1,b1,the carrier of b2
for b4 being Function-like quasi_total Relation of Permutations b1,the carrier of b2 holds
b4 = Path_product b3
iff
for b5 being Element of Permutations b1 holds
b4 . b5 = -((the multF of b2) "**" Path_matrix(b5,b3),b5);
:: MATRIX_3:funcnot 12 => MATRIX_3:func 12
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 Det A3 -> Element of the carrier of a2 equals
(the addF of a2) $$(FinOmega Permutations a1,Path_product a3);
end;
:: MATRIX_3:def 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
for b3 being Matrix of b1,b1,the carrier of b2 holds
Det b3 = (the addF of b2) $$(FinOmega Permutations b1,Path_product b3);
:: MATRIX_3: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 holds
Det <*<*b2*>*> = b2;
:: MATRIX_3:funcnot 13 => MATRIX_3:func 13
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 diagonal_of_Matrix A3 -> FinSequence of the carrier of a2 means
len it = a1 &
(for b1 being natural set
st b1 in Seg a1
holds it . b1 = a3 *(b1,b1));
end;
:: MATRIX_3:def 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
for b3 being Matrix of b1,b1,the carrier of b2
for b4 being FinSequence of the carrier of b2 holds
b4 = diagonal_of_Matrix b3
iff
len b4 = b1 &
(for b5 being natural set
st b5 in Seg b1
holds b4 . b5 = b3 *(b5,b5));