Article MATRIX13, MML version 4.99.1005
:: MATRIX13:th 1
theorem
for b1 being non empty set
for b2, b3 being natural set
for b4 being Matrix of b2,b3,b1 holds
(b2 = 0 implies b3 = 0)
iff
len b4 = b2 & width b4 = b3;
:: MATRIX13:th 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 lower_triangular Matrix of b1,b1,the carrier of b2
iff
b3 @ is upper_triangular Matrix of b1,b1,the carrier of b2;
:: MATRIX13: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
diagonal_of_Matrix b3 = diagonal_of_Matrix (b3 @);
:: MATRIX13:th 4
theorem
for b1 being natural set
for b2 being Element of Permutations b1
st b2 <> idseq b1
holds (ex b3 being natural set st
b3 in Seg b1 & b3 < b2 . b3) &
(ex b3 being natural set st
b3 in Seg b1 & b2 . b3 < b3);
:: MATRIX13: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 being Matrix of b1,b1,the carrier of b2
for b4 being Element of Permutations b1
st b4 <> idseq b1 &
(b3 is lower_triangular Matrix of b1,b1,the carrier of b2 or b3 is upper_triangular Matrix of b1,b1,the carrier of b2)
holds (Path_product b3) . b4 = 0. b2;
:: MATRIX13: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
for b4 being Element of Permutations b1
st b4 = idseq b1
holds diagonal_of_Matrix b3 = Path_matrix(b4,b3);
:: MATRIX13: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 being upper_triangular Matrix of b1,b1,the carrier of b2 holds
Det b3 = (the multF of b2) "**" diagonal_of_Matrix b3;
:: MATRIX13: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
for b3 being lower_triangular Matrix of b1,b1,the carrier of b2 holds
Det b3 = (the multF of b2) "**" diagonal_of_Matrix b3;
:: MATRIX13:th 9
theorem
for b1 being finite set
for b2 being natural set holds
Card {b3 where b3 is Element of bool b1: card b3 = b2} = (card b1) choose b2;
:: MATRIX13:th 10
theorem
for b1 being natural set holds
Card TWOELEMENTSETS Seg b1 = b1 choose 2;
:: MATRIX13:th 11
theorem
for b1 being natural set
for b2 being Element of Permutations b1
st b2 = Rev idseq b1
holds b2 is even(len Permutations b1)
iff
(b1 choose 2) mod 2 = 0;
:: MATRIX13: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 being Matrix of b1,b1,the carrier of b2
for b4 being Function-like quasi_total bijective Relation of Seg b1,Seg b1
st b4 = Rev idseq b1 &
(for b5, b6 being natural set
st b5 in Seg b1 & b6 in Seg b1 & b5 + b6 <= b1
holds b3 *(b5,b6) = 0. b2)
holds b3 * b4 is upper_triangular Matrix of b1,b1,the carrier of b2;
:: MATRIX13: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
for b4 being Function-like quasi_total bijective Relation of Seg b1,Seg b1
st b4 = Rev idseq b1 &
(for b5, b6 being natural set
st b5 in Seg b1 & b6 in Seg b1 & b1 + 1 < b5 + b6
holds b3 *(b5,b6) = 0. b2)
holds b3 * b4 is lower_triangular Matrix of b1,b1,the carrier of b2;
:: MATRIX13:th 14
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
st b4 = Rev idseq b1 &
(for b5, b6 being natural set
st b5 in Seg b1 & b6 in Seg b1 & b5 + b6 <= b1
holds b3 *(b5,b6) = 0. b2 or for b5, b6 being natural set
st b5 in Seg b1 & b6 in Seg b1 & b1 + 1 < b5 + b6
holds b3 *(b5,b6) = 0. b2)
holds Det b3 = -((the multF of b2) "**" Path_matrix(b4,b3),b4);
:: MATRIX13:th 15
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, b5 being upper_triangular Matrix of b1,b1,the carrier of b2
st b3 = b4 * b5
holds b3 is upper_triangular Matrix of b1,b1,the carrier of b2 &
diagonal_of_Matrix b3 = mlt(diagonal_of_Matrix b4,diagonal_of_Matrix b5);
:: MATRIX13: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
for b4, b5 being lower_triangular Matrix of b1,b1,the carrier of b2
st b3 = b4 * b5
holds b3 is lower_triangular Matrix of b1,b1,the carrier of b2 &
diagonal_of_Matrix b3 = mlt(diagonal_of_Matrix b4,diagonal_of_Matrix b5);
:: MATRIX13:funcnot 1 => MATRIX13:func 1
definition
let a1 be non empty set;
let a2 be tabular FinSequence of a1 *;
let a3, a4 be natural set;
let a5 be Element of a3 -tuples_on NAT;
let a6 be Element of a4 -tuples_on NAT;
func Segm(A2,A5,A6) -> Matrix of a3,a4,a1 means
for b1, b2 being natural set
st [b1,b2] in Indices it
holds it *(b1,b2) = a2 *(a5 . b1,a6 . b2);
end;
:: MATRIX13:def 1
theorem
for b1 being non empty set
for b2 being tabular FinSequence of b1 *
for b3, b4 being natural set
for b5 being Element of b3 -tuples_on NAT
for b6 being Element of b4 -tuples_on NAT
for b7 being Matrix of b3,b4,b1 holds
b7 = Segm(b2,b5,b6)
iff
for b8, b9 being natural set
st [b8,b9] in Indices b7
holds b7 *(b8,b9) = b2 *(b5 . b8,b6 . b9);
:: MATRIX13:th 17
theorem
for b1 being non empty set
for b2, b3, b4, b5 being natural set
for b6 being tabular FinSequence of b1 *
for b7 being Element of b2 -tuples_on NAT
for b8 being Element of b3 -tuples_on NAT
st [:proj2 b7,proj2 b8:] c= Indices b6
holds [b4,b5] in Indices Segm(b6,b7,b8)
iff
[b7 . b4,b8 . b5] in Indices b6;
:: MATRIX13:th 18
theorem
for b1 being non empty set
for b2, b3 being natural set
for b4 being tabular FinSequence of b1 *
for b5 being Element of b2 -tuples_on NAT
for b6 being Element of b3 -tuples_on NAT
st [:proj2 b5,proj2 b6:] c= Indices b4 &
(b2 = 0 implies b3 = 0) &
(b3 = 0 implies b2 = 0)
holds (Segm(b4,b5,b6)) @ = Segm(b4 @,b6,b5);
:: MATRIX13:th 19
theorem
for b1 being non empty set
for b2, b3 being natural set
for b4 being tabular FinSequence of b1 *
for b5 being Element of b3 -tuples_on NAT
for b6 being Element of b2 -tuples_on NAT
st [:proj2 b5,proj2 b6:] c= Indices b4 &
(b2 = 0 implies b3 = 0)
holds Segm(b4,b5,b6) = (Segm(b4 @,b6,b5)) @;
:: MATRIX13:th 20
theorem
for b1 being non empty set
for b2 being Matrix of 1,1,b1 holds
b2 = <*<*b2 *(1,1)*>*>;
:: MATRIX13:th 21
theorem
for b1 being non empty set
for b2, b3 being natural set
for b4 being tabular FinSequence of b1 *
for b5 being Element of b2 -tuples_on NAT
for b6 being Element of b3 -tuples_on NAT
st b2 = 1 & b3 = 1
holds Segm(b4,b5,b6) = <*<*b4 *(b5 . 1,b6 . 1)*>*>;
:: MATRIX13:th 22
theorem
for b1 being non empty set
for b2 being Matrix of 2,2,b1 holds
b2 = (b2 *(1,1),b2 *(1,2))][(b2 *(2,1),b2 *(2,2));
:: MATRIX13:th 23
theorem
for b1 being non empty set
for b2, b3 being natural set
for b4 being tabular FinSequence of b1 *
for b5 being Element of b2 -tuples_on NAT
for b6 being Element of b3 -tuples_on NAT
st b2 = 2 & b3 = 2
holds Segm(b4,b5,b6) = (b4 *(b5 . 1,b6 . 1),b4 *(b5 . 1,b6 . 2))][(b4 *(b5 . 2,b6 . 1),b4 *(b5 . 2,b6 . 2));
:: MATRIX13:th 24
theorem
for b1 being non empty set
for b2, b3, b4 being natural set
for b5 being tabular FinSequence of b1 *
for b6 being Element of b4 -tuples_on NAT
for b7 being Element of b2 -tuples_on NAT
st b3 in Seg b4 & proj2 b7 c= Seg width b5
holds Line(Segm(b5,b6,b7),b3) = (Line(b5,b6 . b3)) * b7;
:: MATRIX13:th 25
theorem
for b1 being non empty set
for b2, b3, b4, b5 being natural set
for b6 being tabular FinSequence of b1 *
for b7 being Element of b4 -tuples_on NAT
for b8 being Element of b2 -tuples_on NAT
st b3 in Seg b4 & b5 in Seg b4 & b7 . b3 = b7 . b5
holds Line(Segm(b6,b7,b8),b3) = Line(Segm(b6,b7,b8),b5);
:: MATRIX13:th 26
theorem
for b1, b2, b3 being natural set
for b4 being non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b5, b6 being Element of b2 -tuples_on NAT
for b7 being tabular FinSequence of (the carrier of b4) *
st b1 in Seg b2 & b3 in Seg b2 & b5 . b1 = b5 . b3 & b1 <> b3
holds Det Segm(b7,b5,b6) = 0. b4;
:: MATRIX13:th 27
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 Element of b1 -tuples_on NAT
for b5 being tabular FinSequence of (the carrier of b2) *
st b3 is not one-to-one
holds Det Segm(b5,b3,b4) = 0. b2;
:: MATRIX13:th 28
theorem
for b1 being non empty set
for b2, b3, b4 being natural set
for b5 being tabular FinSequence of b1 *
for b6 being Element of b2 -tuples_on NAT
for b7 being Element of b4 -tuples_on NAT
st b3 in Seg b4 & proj2 b6 c= Seg len b5
holds Col(Segm(b5,b6,b7),b3) = (Col(b5,b7 . b3)) * b6;
:: MATRIX13:th 29
theorem
for b1 being non empty set
for b2, b3, b4, b5 being natural set
for b6 being tabular FinSequence of b1 *
for b7 being Element of b2 -tuples_on NAT
for b8 being Element of b4 -tuples_on NAT
st b3 in Seg b4 & b5 in Seg b4 & b8 . b3 = b8 . b5
holds Col(Segm(b6,b7,b8),b3) = Col(Segm(b6,b7,b8),b5);
:: MATRIX13:th 30
theorem
for b1, b2, b3 being natural set
for b4 being non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b5, b6 being Element of b2 -tuples_on NAT
for b7 being tabular FinSequence of (the carrier of b4) *
st b1 in Seg b2 & b3 in Seg b2 & b5 . b1 = b5 . b3 & b1 <> b3
holds Det Segm(b7,b6,b5) = 0. b4;
:: MATRIX13:th 31
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 Element of b1 -tuples_on NAT
for b5 being tabular FinSequence of (the carrier of b2) *
st b3 is not one-to-one
holds Det Segm(b5,b4,b3) = 0. b2;
:: MATRIX13:th 32
theorem
for b1 being natural set
for b2, b3 being Element of b1 -tuples_on NAT
st b2 is one-to-one & b3 is one-to-one & proj2 b2 = proj2 b3
holds ex b4 being Function-like quasi_total bijective Relation of Seg b1,Seg b1 st
b3 = b2 * b4;
:: MATRIX13:th 33
theorem
for b1 being non empty set
for b2, b3 being natural set
for b4 being tabular FinSequence of b1 *
for b5, b6 being Element of b3 -tuples_on NAT
for b7 being Element of b2 -tuples_on NAT
for b8 being Function-like quasi_total Relation of Seg b3,Seg b3
st b5 = b6 * b8
holds Segm(b4,b5,b7) = (Segm(b4,b6,b7)) * b8;
:: MATRIX13:th 34
theorem
for b1 being non empty set
for b2, b3 being natural set
for b4 being tabular FinSequence of b1 *
for b5 being Element of b2 -tuples_on NAT
for b6, b7 being Element of b3 -tuples_on NAT
for b8 being Function-like quasi_total Relation of Seg b3,Seg b3
st b6 = b7 * b8
holds (Segm(b4,b5,b6)) @ = (Segm(b4,b5,b7)) @ * b8;
:: MATRIX13: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, b4, b5 being Element of b1 -tuples_on NAT
for b6 being tabular FinSequence of (the carrier of b2) *
for b7 being Element of Permutations b1
st b3 = b4 * b7
holds Det Segm(b6,b3,b5) = -(Det Segm(b6,b4,b5),b7) &
Det Segm(b6,b5,b3) = -(Det Segm(b6,b5,b4),b7);
:: MATRIX13: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 being tabular FinSequence of (the carrier of b2) *
for b4, b5, b6, b7 being Element of b1 -tuples_on NAT
st proj2 b4 = proj2 b6 &
proj2 b5 = proj2 b7 &
Det Segm(b3,b4,b5) <> Det Segm(b3,b6,b7)
holds Det Segm(b3,b4,b5) = - Det Segm(b3,b6,b7);
:: MATRIX13:th 37
theorem
for b1 being non empty set
for b2, b3, b4, b5 being natural set
for b6 being Matrix of b2,b3,b1
for b7, b8 being FinSequence of b1
for b9 being Element of b4 -tuples_on NAT
for b10 being Element of b5 -tuples_on NAT
st len b7 = width b6 &
b8 = b7 * b10 &
[:proj2 b9,proj2 b10:] c= Indices b6
for b11, b12 being natural set
st b9 " {b12} = {b11}
holds ReplaceLine(Segm(b6,b9,b10),b11,b8) = Segm(ReplaceLine(b6,b12,b7),b9,b10);
:: MATRIX13:th 38
theorem
for b1 being non empty set
for b2, b3, b4, b5 being natural set
for b6 being Matrix of b2,b3,b1
for b7 being Element of b4 -tuples_on NAT
for b8 being FinSequence of b1
for b9 being natural set
for b10 being Element of b5 -tuples_on NAT
st not b9 in proj2 b10 &
[:proj2 b10,proj2 b7:] c= Indices b6
holds Segm(b6,b10,b7) = Segm(ReplaceLine(b6,b9,b8),b10,b7);
:: MATRIX13:th 39
theorem
for b1 being non empty set
for b2, b3, b4, b5, b6, b7 being natural set
for b8 being Matrix of b5,b2,b1
for b9 being Element of b6 -tuples_on NAT
for b10 being Element of b3 -tuples_on NAT
st b4 in Seg b5 &
b4 in proj2 b9 &
[:proj2 b9,proj2 b10:] c= Indices b8
holds ex b11 being Element of b6 -tuples_on NAT st
proj2 b11 = ((proj2 b9) \ {b4}) \/ {b7} &
Segm(ReplaceLine(b8,b4,Line(b8,b7)),b9,b10) = Segm(b8,b11,b10);
:: MATRIX13:th 40
theorem
for b1 being non empty set
for b2, b3, b4 being natural set
for b5 being Matrix of b2,b3,b1
for b6 being FinSequence of b1
st not b4 in Seg len b5
holds ReplaceLine(b5,b4,b6) = b5;
:: MATRIX13:funcnot 2 => MATRIX13:func 2
definition
let a1, a2 be natural set;
let a3 be non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr;
let a4 be Matrix of a1,a2,the carrier of a3;
let a5 be Element of the carrier of a3;
redefine func a5 * a4 -> Matrix of a1,a2,the carrier of a3;
end;
:: MATRIX13:th 41
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 Element of the carrier of b3
for b5 being Element of b1 -tuples_on NAT
for b6 being Element of b2 -tuples_on NAT
for b7 being tabular FinSequence of (the carrier of b3) *
st [:proj2 b5,proj2 b6:] c= Indices b7
holds b4 * Segm(b7,b5,b6) = Segm(b4 * b7,b5,b6);
:: MATRIX13:th 42
theorem
for b1 being non empty set
for b2, b3 being natural set
for b4 being tabular FinSequence of b1 *
for b5 being Element of b2 -tuples_on NAT
for b6 being Element of b3 -tuples_on NAT
st b5 = idseq len b4 & b6 = idseq width b4
holds Segm(b4,b5,b6) = b4;
:: MATRIX13:exreg 1
registration
cluster empty finite with_non-empty_elements Element of bool NAT;
end;
:: MATRIX13:exreg 2
registration
cluster non empty finite with_non-empty_elements Element of bool NAT;
end;
:: MATRIX13:funcreg 1
registration
let a1 be natural set;
cluster Seg a1 -> with_non-empty_elements;
end;
:: MATRIX13:funcreg 2
registration
let a1 be with_non-empty_elements set;
let a2 be set;
cluster a1 \ a2 -> with_non-empty_elements;
end;
:: MATRIX13:funcreg 3
registration
let a1 be with_non-empty_elements set;
let a2 be set;
cluster a1 /\ a2 -> with_non-empty_elements;
end;
:: MATRIX13:funcnot 3 => MATRIX13:func 3
definition
let a1 be natural set;
redefine func {a1} -> Element of bool NAT;
end;
:: MATRIX13:funcnot 4 => MATRIX13:func 4
definition
let a1, a2 be natural set;
redefine func {a1, a2} -> Element of bool NAT;
commutativity;
:: for a1, a2 being natural set holds
:: {a1,a2} = {a2,a1};
end;
:: MATRIX13:th 43
theorem
for b1 being finite with_non-empty_elements Element of bool NAT holds
ex b2 being natural set st
b1 c= Seg b2;
:: MATRIX13:funcnot 5 => MATRIX13:func 5
definition
let a1 be finite with_non-empty_elements Element of bool NAT;
redefine func Sgm a1 -> Element of (card a1) -tuples_on NAT;
end;
:: MATRIX13:funcnot 6 => MATRIX13:func 6
definition
let a1 be non empty set;
let a2 be tabular FinSequence of a1 *;
let a3, a4 be finite with_non-empty_elements Element of bool NAT;
func Segm(A2,A3,A4) -> Matrix of card a3,card a4,a1 equals
Segm(a2,Sgm a3,Sgm a4);
end;
:: MATRIX13:def 2
theorem
for b1 being non empty set
for b2 being tabular FinSequence of b1 *
for b3, b4 being finite with_non-empty_elements Element of bool NAT holds
Segm(b2,b3,b4) = Segm(b2,Sgm b3,Sgm b4);
:: MATRIX13:th 44
theorem
for b1 being non empty set
for b2, b3 being non empty natural set
for b4 being tabular FinSequence of b1 * holds
Segm(b4,{b2},{b3}) = <*<*b4 *(b2,b3)*>*>;
:: MATRIX13:th 45
theorem
for b1 being non empty set
for b2, b3, b4, b5 being non empty natural set
for b6 being tabular FinSequence of b1 *
st b2 < b3 & b4 < b5
holds Segm(b6,{b2,b3},{b4,b5}) = (b6 *(b2,b4),b6 *(b2,b5))][(b6 *(b3,b4),b6 *(b3,b5));
:: MATRIX13:th 46
theorem
for b1 being non empty set
for b2 being tabular FinSequence of b1 * holds
Segm(b2,Seg len b2,Seg width b2) = b2;
:: MATRIX13:th 47
theorem
for b1 being non empty set
for b2 being natural set
for b3 being tabular FinSequence of b1 *
for b4, b5 being finite with_non-empty_elements Element of bool NAT
st b2 in Seg card b4 & b5 c= Seg width b3
holds Line(Segm(b3,b4,b5),b2) = (Line(b3,(Sgm b4) . b2)) * Sgm b5;
:: MATRIX13:th 48
theorem
for b1 being non empty set
for b2 being natural set
for b3 being tabular FinSequence of b1 *
for b4 being finite with_non-empty_elements Element of bool NAT
st b2 in Seg card b4
holds Line(Segm(b3,b4,Seg width b3),b2) = Line(b3,(Sgm b4) . b2);
:: MATRIX13:th 49
theorem
for b1 being non empty set
for b2 being natural set
for b3 being tabular FinSequence of b1 *
for b4, b5 being finite with_non-empty_elements Element of bool NAT
st b2 in Seg card b4 & b5 c= Seg len b3
holds Col(Segm(b3,b5,b4),b2) = (Col(b3,(Sgm b4) . b2)) * Sgm b5;
:: MATRIX13:th 50
theorem
for b1 being non empty set
for b2 being natural set
for b3 being tabular FinSequence of b1 *
for b4 being finite with_non-empty_elements Element of bool NAT
st b2 in Seg card b4
holds Col(Segm(b3,Seg len b3,b4),b2) = Col(b3,(Sgm b4) . b2);
:: MATRIX13:th 51
theorem
for b1 being non empty set
for b2 being natural set
for b3 being tabular FinSequence of b1 * holds
Segm(b3,(Seg len b3) \ {b2},Seg width b3) = Del(b3,b2);
:: MATRIX13: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 being tabular FinSequence of (the carrier of b2) * holds
Segm(b3,Seg len b3,(Seg width b3) \ {b1}) = DelCol(b3,b1);
:: MATRIX13:th 53
theorem
for b1 being set
for b2 being finite with_non-empty_elements Element of bool NAT holds
(Sgm b2) " b1 is finite with_non-empty_elements Element of bool NAT;
:: MATRIX13:th 54
theorem
for b1 being set
for b2 being finite with_non-empty_elements Element of bool NAT
st b1 c= b2
holds Sgm b1 = (Sgm b2) * Sgm ((Sgm b2) " b1);
:: MATRIX13:th 55
theorem
for b1, b2 being set
for b3 being non empty set
for b4 being tabular FinSequence of b3 *
for b5, b6 being finite with_non-empty_elements Element of bool NAT holds
[:(Sgm b5) " b1,(Sgm b6) " b2:] c= Indices Segm(b4,b5,b6);
:: MATRIX13:th 56
theorem
for b1 being non empty set
for b2 being tabular FinSequence of b1 *
for b3, b4, b5, b6, b7, b8 being finite with_non-empty_elements Element of bool NAT
st b3 c= b4 & b5 c= b6 & b7 = (Sgm b4) " b3 & b8 = (Sgm b6) " b5
holds [:proj2 Sgm b7,proj2 Sgm b8:] c= Indices Segm(b2,b4,b6) &
Segm(Segm(b2,b4,b6),b7,b8) = Segm(b2,b3,b5);
:: MATRIX13:th 57
theorem
for b1 being non empty set
for b2 being tabular FinSequence of b1 *
for b3, b4, b5, b6 being finite with_non-empty_elements Element of bool NAT
st (b3 = {} implies b4 = {}) &
(b4 = {} implies b3 = {}) &
[:b3,b4:] c= Indices Segm(b2,b5,b6)
holds ex b7, b8 being finite with_non-empty_elements Element of bool NAT st
b7 c= b5 &
b8 c= b6 &
b7 = (Sgm b5) .: b3 &
b8 = (Sgm b6) .: b4 &
card b7 = card b3 &
card b8 = card b4 &
Segm(Segm(b2,b5,b6),b3,b4) = Segm(b2,b7,b8);
:: MATRIX13:th 58
theorem
for b1, b2, b3 being natural set
for b4 being non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b5 being Matrix of b1,b1,the carrier of b4 holds
Segm(b5,(Seg b1) \ {b2},(Seg b1) \ {b3}) = Deleting(b5,b2,b3);
:: MATRIX13:th 59
theorem
for b1 being non empty set
for b2, b3, b4 being natural set
for b5 being Matrix of b2,b3,b1
for b6, b7 being finite with_non-empty_elements Element of bool NAT
for b8, b9 being FinSequence of b1
st len b8 = width b5 & b9 = b8 * Sgm b6 & [:b7,b6:] c= Indices b5
holds ReplaceLine(Segm(b5,b7,b6),b4,b9) = Segm(ReplaceLine(b5,(Sgm b7) . b4,b8),b7,b6);
:: MATRIX13:th 60
theorem
for b1 being non empty set
for b2, b3 being natural set
for b4 being Matrix of b2,b3,b1
for b5 being finite with_non-empty_elements Element of bool NAT
for b6 being FinSequence of b1
for b7 being natural set
for b8 being finite with_non-empty_elements Element of bool NAT
st not b7 in b8 & [:b8,b5:] c= Indices b4
holds Segm(b4,b8,b5) = Segm(ReplaceLine(b4,b7,b6),b8,b5);
:: MATRIX13:th 61
theorem
for b1 being non empty set
for b2 being tabular FinSequence of b1 *
for b3, b4 being finite with_non-empty_elements Element of bool NAT
st [:b3,b4:] c= Indices b2 &
(card b3 = 0 implies card b4 = 0) &
(card b4 = 0 implies card b3 = 0)
holds (Segm(b2,b3,b4)) @ = Segm(b2 @,b4,b3);
:: MATRIX13:th 62
theorem
for b1 being non empty set
for b2 being tabular FinSequence of b1 *
for b3, b4 being finite with_non-empty_elements Element of bool NAT
st [:b3,b4:] c= Indices b2 &
(card b4 = 0 implies card b3 = 0)
holds Segm(b2,b3,b4) = (Segm(b2 @,b4,b3)) @;
:: MATRIX13:th 63
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 being tabular FinSequence of (the carrier of b1) *
for b4, b5 being finite with_non-empty_elements Element of bool NAT
st [:b4,b5:] c= Indices b3
holds b2 * Segm(b3,b4,b5) = Segm(b2 * b3,b4,b5);
:: MATRIX13:funcnot 7 => MATRIX13:func 7
definition
let a1 be non empty set;
let a2 be tabular FinSequence of a1 *;
let a3, a4 be finite with_non-empty_elements Element of bool NAT;
assume card a3 = card a4;
func EqSegm(A2,A3,A4) -> Matrix of card a3,card a3,a1 equals
Segm(a2,a3,a4);
end;
:: MATRIX13:def 3
theorem
for b1 being non empty set
for b2 being tabular FinSequence of b1 *
for b3, b4 being finite with_non-empty_elements Element of bool NAT
st card b3 = card b4
holds EqSegm(b2,b3,b4) = Segm(b2,b3,b4);
:: MATRIX13:th 64
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, b4 being finite with_non-empty_elements Element of bool NAT
for b5, b6 being natural set
st b5 in Seg card b3 & b6 in Seg card b3 & card b3 = card b4
holds Delete(EqSegm(b2,b3,b4),b5,b6) = EqSegm(b2,b3 \ {(Sgm b3) . b5},b4 \ {(Sgm b4) . b6}) &
card (b3 \ {(Sgm b3) . b5}) = card (b4 \ {(Sgm b4) . b6});
:: MATRIX13:th 65
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, b4, b5 being finite with_non-empty_elements Element of bool NAT
st card b4 = card b5 & b3 c= b4 & Det EqSegm(b2,b4,b5) <> 0. b1
holds ex b6 being finite with_non-empty_elements Element of bool NAT st
b6 c= b5 & card b3 = card b6 & Det EqSegm(b2,b3,b6) <> 0. b1;
:: MATRIX13:th 66
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, b4, b5 being finite with_non-empty_elements Element of bool NAT
st card b3 = card b5 & b4 c= b5 & Det EqSegm(b2,b3,b5) <> 0. b1
holds ex b6 being finite with_non-empty_elements Element of bool NAT st
b6 c= b3 & card b6 = card b4 & Det EqSegm(b2,b6,b4) <> 0. b1;
:: MATRIX13:th 67
theorem
for b1 being non empty set
for b2 being tabular FinSequence of b1 *
for b3, b4 being finite with_non-empty_elements Element of bool NAT
st card b3 = card b4
holds [:b3,b4:] c= Indices b2
iff
b3 c= Seg len b2 & b4 c= Seg width b2;
:: MATRIX13:th 68
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 b2,b1,the carrier of b3
for b5, b6 being finite with_non-empty_elements Element of bool NAT
for b7 being natural set
for b8 being non empty natural set
st b7 in Seg b2 & b8 in Seg b2 & b7 in b5 & not b8 in b5 & card b5 = card b6 & [:b5,b6:] c= Indices b4
holds card b5 = card ((b5 \ {b7}) \/ {b8}) &
[:(b5 \ {b7}) \/ {b8},b6:] c= Indices b4 &
(Det EqSegm(ReplaceLine(b4,b7,Line(b4,b8)),b5,b6) = Det EqSegm(b4,(b5 \ {b7}) \/ {b8},b6) or Det EqSegm(ReplaceLine(b4,b7,Line(b4,b8)),b5,b6) = - Det EqSegm(b4,(b5 \ {b7}) \/ {b8},b6));
:: MATRIX13:th 69
theorem
for b1 being non empty set
for b2 being tabular FinSequence of b1 *
for b3, b4 being finite with_non-empty_elements Element of bool NAT
st card b3 = card b4
holds [:b3,b4:] c= Indices b2
iff
[:b4,b3:] c= Indices (b2 @);
:: MATRIX13:th 70
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, b4 being finite with_non-empty_elements Element of bool NAT
st [:b3,b4:] c= Indices b2 & card b3 = card b4
holds Det EqSegm(b2,b3,b4) = Det EqSegm(b2 @,b4,b3);
:: MATRIX13:th 71
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
for b4 being Matrix of b1,b1,the carrier of b2 holds
Det (b3 * b4) = ((power b2) .(b3,b1)) * Det b4;
:: MATRIX13:th 72
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 being tabular FinSequence of (the carrier of b1) *
for b4, b5 being finite with_non-empty_elements Element of bool NAT
st [:b4,b5:] c= Indices b3 & card b4 = card b5
holds Det EqSegm(b2 * b3,b4,b5) = ((power b1) .(b2,card b4)) * Det EqSegm(b3,b4,b5);
:: MATRIX13:funcnot 8 => MATRIX13:func 8
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 the_rank_of A2 -> Element of NAT means
(ex b1, b2 being finite with_non-empty_elements Element of bool NAT st
[:b1,b2:] c= Indices a2 & card b1 = card b2 & card b1 = it & Det EqSegm(a2,b1,b2) <> 0. a1) &
(for b1, b2 being finite with_non-empty_elements Element of bool NAT
st [:b1,b2:] c= Indices a2 & card b1 = card b2 & Det EqSegm(a2,b1,b2) <> 0. a1
holds card b1 <= it);
end;
:: MATRIX13: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 being tabular FinSequence of (the carrier of b1) *
for b3 being Element of NAT holds
b3 = the_rank_of b2
iff
(ex b4, b5 being finite with_non-empty_elements Element of bool NAT st
[:b4,b5:] c= Indices b2 & card b4 = card b5 & card b4 = b3 & Det EqSegm(b2,b4,b5) <> 0. b1) &
(for b4, b5 being finite with_non-empty_elements Element of bool NAT
st [:b4,b5:] c= Indices b2 & card b4 = card b5 & Det EqSegm(b2,b4,b5) <> 0. b1
holds card b4 <= b3);
:: MATRIX13:th 73
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, b4 being finite with_non-empty_elements Element of bool NAT
st [:b3,b4:] c= Indices b2 & card b3 = card b4
holds card b3 <= len b2 & card b4 <= width b2;
:: MATRIX13:th 74
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
the_rank_of b2 <= len b2 & the_rank_of b2 <= width b2;
:: MATRIX13:th 75
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 Element of b1 -tuples_on NAT
for b5 being tabular FinSequence of (the carrier of b2) *
st [:proj2 b3,proj2 b4:] c= Indices b5 &
Det Segm(b5,b3,b4) <> 0. b2
holds ex b6, b7 being finite with_non-empty_elements Element of bool NAT st
b6 = proj2 b3 & b7 = proj2 b4 & card b6 = card b7 & card b6 = b1 & Det EqSegm(b5,b6,b7) <> 0. b2;
:: MATRIX13:th 76
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 NAT holds
the_rank_of b2 = b3
iff
(ex b4, b5 being Element of b3 -tuples_on NAT st
[:proj2 b4,proj2 b5:] c= Indices b2 &
Det Segm(b2,b4,b5) <> 0. b1) &
(for b4 being natural set
for b5, b6 being Element of b4 -tuples_on NAT
st [:proj2 b5,proj2 b6:] c= Indices b2 &
Det Segm(b2,b5,b6) <> 0. b1
holds b4 <= b3);
:: MATRIX13:th 77
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 Element of b1 -tuples_on NAT
for b5 being Element of b2 -tuples_on NAT
for b6 being tabular FinSequence of (the carrier of b3) *
st (b1 = 0 or b2 = 0)
holds the_rank_of Segm(b6,b4,b5) = 0;
:: MATRIX13:th 78
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 Element of b1 -tuples_on NAT
for b5 being Element of b2 -tuples_on NAT
for b6 being tabular FinSequence of (the carrier of b3) *
st [:proj2 b4,proj2 b5:] c= Indices b6
holds the_rank_of Segm(b6,b4,b5) <= the_rank_of b6;
:: MATRIX13:th 79
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, b4 being finite with_non-empty_elements Element of bool NAT
st [:b3,b4:] c= Indices b2
holds the_rank_of Segm(b2,b3,b4) <= the_rank_of b2;
:: MATRIX13:th 80
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, b4, b5, b6 being finite with_non-empty_elements Element of bool NAT
st b3 c= b4 & b5 c= b6
holds the_rank_of Segm(b2,b3,b5) <= the_rank_of Segm(b2,b4,b6);
:: MATRIX13:th 81
theorem
for b1, b2 being Relation-like Function-like set
st proj2 b1 c= proj2 b2
holds ex b3 being Relation-like Function-like set st
proj1 b3 = proj1 b1 & proj2 b3 c= proj1 b2 & b1 = b3 * b2;
:: MATRIX13:th 82
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 Element of b1 -tuples_on NAT
for b5 being Element of b2 -tuples_on NAT
for b6 being tabular FinSequence of (the carrier of b3) *
st [:proj2 b4,proj2 b5:] = Indices b6
holds the_rank_of b6 = the_rank_of Segm(b6,b4,b5);
:: MATRIX13:th 83
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
the_rank_of b3 = b1
iff
Det b3 <> 0. b2;
:: MATRIX13:th 84
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
the_rank_of b2 = the_rank_of (b2 @);
:: MATRIX13:th 85
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
for b5 being Function-like quasi_total bijective Relation of Seg b1,Seg b1 holds
the_rank_of b4 = the_rank_of (b4 * b5);
:: MATRIX13:th 86
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 being tabular FinSequence of (the carrier of b1) *
st b2 <> 0. b1
holds the_rank_of b3 = the_rank_of (b2 * b3);
:: MATRIX13:th 87
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 FinSequence of the carrier of b1
for b5 being Relation-like Function-like set
st b4 = b5 * b3 & proj2 b5 c= dom b3
holds b5 * (b2 * b3) = b2 * b4;
:: MATRIX13:th 88
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 being FinSequence of the carrier of b1
for b6 being Relation-like Function-like set
st b3 = b6 * b2 & proj2 b6 c= dom b2 & b5 = b6 * b4 & proj2 b6 c= dom b4
holds b6 * (b2 + b4) = b3 + b5;
:: MATRIX13:th 89
theorem
for b1, b2, b3 being natural set
for b4 being non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b5 being Element of the carrier of b4
for b6 being Matrix of b1,b2,the carrier of b4
st b5 <> 0. b4
holds the_rank_of b6 = the_rank_of ReplaceLine(b6,b3,b5 * Line(b6,b3));
:: MATRIX13:th 90
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 tabular FinSequence of (the carrier of b2) *
st Line(b3,b1) = (width b3) |-> 0. b2
holds the_rank_of DelLine(b3,b1) = the_rank_of b3;
:: MATRIX13:th 91
theorem
for b1, b2, b3 being natural set
for b4 being non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b5 being Matrix of b1,b2,the carrier of b4
for b6 being FinSequence of the carrier of b4
st len b6 = width b5
holds the_rank_of DelLine(b5,b3) = the_rank_of ReplaceLine(b5,b3,(0. b4) * b6);
:: MATRIX13:th 92
theorem
for b1, b2, b3, b4 being natural set
for b5 being non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b6 being Element of the carrier of b5
for b7 being Matrix of b1,b2,the carrier of b5
st b3 in Seg len b7 & (b4 = b3 implies b6 <> - 1_ b5)
holds the_rank_of b7 = the_rank_of ReplaceLine(b7,b4,(Line(b7,b4)) + (b6 * Line(b7,b3)));
:: MATRIX13:th 93
theorem
for b1, b2, b3, b4 being natural set
for b5 being non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b6 being Element of the carrier of b5
for b7 being Matrix of b1,b2,the carrier of b5
st b3 in Seg len b7 & b3 <> b4
holds the_rank_of DelLine(b7,b4) = the_rank_of ReplaceLine(b7,b4,b6 * Line(b7,b3));
:: MATRIX13:th 94
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 < the_rank_of b2
iff
ex b3, b4 being natural set st
[b3,b4] in Indices b2 & b2 *(b3,b4) <> 0. b1;
:: MATRIX13:th 95
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
the_rank_of b2 = 0
iff
b2 = 0.(b1,len b2,width b2);
:: MATRIX13:th 96
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
the_rank_of b2 = 1
iff
(ex b3, b4 being natural set st
[b3,b4] in Indices b2 & b2 *(b3,b4) <> 0. b1) &
(for b3, b4, b5, b6 being non empty natural set
st b3 <> b4 &
b5 <> b6 &
[:{b3,b4},{b5,b6}:] c= Indices b2
holds Det EqSegm(b2,{b3,b4},{b5,b6}) = 0. b1);
:: MATRIX13:th 97
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
the_rank_of b2 = 1
iff
(ex b3, b4 being natural set st
[b3,b4] in Indices b2 & b2 *(b3,b4) <> 0. b1) &
(for b3, b4, b5, b6 being natural set
st [:{b3,b4},{b5,b6}:] c= Indices b2
holds (b2 *(b3,b5)) * (b2 *(b4,b6)) = (b2 *(b3,b6)) * (b2 *(b4,b5)));
:: MATRIX13:th 98
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
the_rank_of b2 = 1
iff
ex b3 being natural set st
b3 in Seg len b2 &
(ex b4 being natural set st
b4 in Seg width b2 & b2 *(b3,b4) <> 0. b1) &
(for b4 being natural set
st b4 in Seg len b2
holds ex b5 being Element of the carrier of b1 st
Line(b2,b4) = b5 * Line(b2,b3));
:: MATRIX13:exreg 3
registration
let a1 be non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr;
cluster Relation-like Function-like finite FinSequence-like tabular diagonal FinSequence-yielding FinSequence of (the carrier of a1) *;
end;
:: MATRIX13:th 99
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 diagonal FinSequence of (the carrier of b1) *
for b3 being set
st b3 = {b4 where b4 is Element of NAT: [b4,b4] in Indices b2 & b2 *(b4,b4) <> 0. b1}
for b4, b5 being finite with_non-empty_elements Element of bool NAT
st [:b4,b5:] c= Indices b2 & card b4 = card b5 & Det EqSegm(b2,b4,b5) <> 0. b1
holds b4 c= b3 & b5 c= b3;
:: MATRIX13:th 100
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 diagonal FinSequence of (the carrier of b1) *
for b3 being finite with_non-empty_elements Element of bool NAT
st [:b3,b3:] c= Indices b2
holds Segm(b2,b3,b3) is diagonal(b1);
:: MATRIX13:th 101
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 diagonal FinSequence of (the carrier of b1) *
for b3 being set
st b3 = {b4 where b4 is Element of NAT: [b4,b4] in Indices b2 & b2 *(b4,b4) <> 0. b1}
holds the_rank_of b2 = Card b3;
:: MATRIX13:th 102
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
for b4, b5, b6 being Element of the carrier of b1 -VectSp_over b2
for b7, b8, b9 being Element of b1 -tuples_on the carrier of b2 holds
the carrier of b1 -VectSp_over b2 = b1 -tuples_on the carrier of b2 &
0. (b1 -VectSp_over b2) = b1 |-> 0. b2 &
(b7 = b4 & b8 = b5 implies b7 + b8 = b4 + b5) &
(b9 = b6 implies b3 * b9 = b3 * b6);
:: MATRIX13:funcnot 9 => MATRIX13:func 9
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 natural set;
redefine func a2 -VectSp_over a1 -> non empty right_complementable Abelian add-associative right_zeroed strict VectSp-like VectSpStr over a1;
end;
:: MATRIX13:condreg 1
registration
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 natural set;
cluster -> Relation-like Function-like (Element of the carrier of a2 -VectSp_over a1);
end;
:: MATRIX13:funcnot 10 => RELAT_1:func 2
notation
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;
let a4 be Matrix of a2,a3,the carrier of a1;
synonym lines a4 for proj2 a1;
end;
:: MATRIX13:attrnot 1 => FUNCT_1:attr 2
notation
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;
let a4 be Matrix of a2,a3,the carrier of a1;
synonym without_repeated_line for one-to-one;
end;
:: MATRIX13:funcnot 11 => MATRIX13:func 10
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;
let a4 be Matrix of a2,a3,the carrier of a1;
redefine func lines a4 -> Element of bool the carrier of a3 -VectSp_over a1;
end;
:: MATRIX13:th 103
theorem
for b1 being set
for b2, b3 being natural set
for b4 being non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b5 being Matrix of b3,b2,the carrier of b4 holds
b1 in lines b5
iff
ex b6 being natural set st
b6 in Seg b3 & b1 = Line(b5,b6);
:: MATRIX13:th 104
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 finite Element of bool the carrier of b1 -VectSp_over b2 holds
ex b4 being Matrix of card b3,b1,the carrier of b2 st
b4 is one-to-one & lines b4 = b3;
:: MATRIX13:funcnot 12 => MATRIX13:func 11
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 natural set;
let a3 be FinSequence of the carrier of a2 -VectSp_over a1;
func FinS2MX A3 -> Matrix of len a3,a2,the carrier of a1 equals
a3;
end;
:: MATRIX13: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 natural set
for b3 being FinSequence of the carrier of b2 -VectSp_over b1 holds
FinS2MX b3 = b3;
:: MATRIX13:funcnot 13 => MATRIX13:func 12
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;
let a4 be Matrix of a2,a3,the carrier of a1;
func MX2FinS A4 -> FinSequence of the carrier of a3 -VectSp_over a1 equals
a4;
end;
:: MATRIX13: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, b3 being natural set
for b4 being Matrix of b2,b3,the carrier of b1 holds
MX2FinS b4 = b4;
:: MATRIX13:th 105
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 b2,b1,the carrier of b3
st the_rank_of b4 = b2
holds b4 is one-to-one;
:: MATRIX13:th 106
theorem
for b1, b2, b3 being natural set
for b4 being non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b5 being Element of the carrier of b4
for b6 being Linear_Combination of b2 -VectSp_over b4
for b7 being Matrix of b1,b2,the carrier of b4
st b3 in Seg len b7 & b5 = b6 . (b7 . b3)
holds Line(FinS2MX (b6 (#) MX2FinS b7),b3) = b5 * Line(b7,b3);
:: MATRIX13:th 107
theorem
for b1, b2, b3 being natural set
for b4 being non empty non degenerated right_complementable almost_left_invertible associative commutative Abelian add-associative right_zeroed well-unital distributive doubleLoopStr
for b5 being Linear_Combination of b3 -VectSp_over b4
for b6 being Matrix of b1,b3,the carrier of b4
st b6 is one-to-one & Carrier b5 c= lines b6 & b2 in Seg b3
holds (Sum b5) . b2 = Sum Col(FinS2MX (b5 (#) MX2FinS b6),b2);
:: MATRIX13:th 108
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 Matrix of b2,b1,the carrier of b3
st b4 is one-to-one &
(for b6 being natural set
st b6 in Seg b2
holds ex b7 being Element of the carrier of b3 st
Line(b5,b6) = b7 * Line(b4,b6))
holds ex b6 being Linear_Combination of lines b4 st
b6 (#) MX2FinS b4 = b5;
:: MATRIX13:th 109
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 b2,b1,the carrier of b3
st b4 is one-to-one
holds (for b5 being natural set
st b5 in Seg b2
holds Line(b4,b5) <> b1 |-> 0. b3) &
(for b5 being Matrix of b2,b1,the carrier of b3
st (for b6 being natural set
st b6 in Seg b2
holds ex b7 being Element of the carrier of b3 st
Line(b5,b6) = b7 * Line(b4,b6)) &
(for b6 being natural set
st b6 in Seg b1
holds Sum Col(b5,b6) = 0. b3)
holds b5 = 0.(b3,b2,b1))
iff
lines b4 is linearly-independent(b3, b1 -VectSp_over b3);
:: MATRIX13:th 110
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 b2,b1,the carrier of b3
st the_rank_of b4 = b2
holds lines b4 is linearly-independent(b3, b1 -VectSp_over b3);
:: MATRIX13:th 111
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 diagonal Matrix of b1,b1,the carrier of b2
st the_rank_of b3 = b1
holds lines b3 is Basis of b1 -VectSp_over b2;
:: MATRIX13:funcnot 14 => MATRIX13:func 13
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 natural set;
redefine func a2 -VectSp_over a1 -> non empty right_complementable Abelian add-associative right_zeroed strict VectSp-like finite-dimensional VectSpStr over a1;
end;
:: MATRIX13:th 112
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
dim (b1 -VectSp_over b2) = b1;
:: MATRIX13:th 113
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 b2,b1,the carrier of b3
for b5 being natural set
for b6 being Element of the carrier of b3
st for b7 being natural set
st b7 in Seg b2
holds b4 *(b7,b5) = b6
holds b4 is one-to-one
iff
Segm(b4,Seg len b4,(Seg width b4) \ {b5}) is one-to-one;
:: MATRIX13:th 114
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 b2,b1,the carrier of b3
for b5 being natural set
st b4 is one-to-one &
lines b4 is linearly-independent(b3, b1 -VectSp_over b3) &
(for b6 being natural set
st b6 in Seg b2
holds b4 *(b6,b5) = 0. b3)
holds lines Segm(b4,Seg len b4,(Seg width b4) \ {b5}) is linearly-independent(b3, (card ((Seg width b4) \ {b5})) -VectSp_over b3);
:: MATRIX13:th 115
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 being non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b1
for b4 being finite Element of bool the carrier of b3
st b4 is linearly-independent(b1, b3)
for b5, b6 being Element of the carrier of b3
st b5 in b4 & b6 in b4 & b5 <> b6
holds (b4 \ {b5}) \/ {b5 + (b2 * b6)} is linearly-independent(b1, b3);
:: MATRIX13:th 116
theorem
for b1 being 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 non empty right_complementable Abelian add-associative right_zeroed VectSp-like VectSpStr over b2
for b4, b5 being Element of the carrier of b3 holds
b1 in Lin {b4,b5}
iff
ex b6, b7 being Element of the carrier of b2 st
b1 = (b6 * b4) + (b7 * b5);
:: MATRIX13:th 117
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 Element of the carrier of b3
for b5 being Matrix of b2,b1,the carrier of b3
st lines b5 is linearly-independent(b3, b1 -VectSp_over b3) & b5 is one-to-one
for b6, b7 being natural set
st b7 in Seg len b5 & b6 <> b7
holds ReplaceLine(b5,b6,(Line(b5,b6)) + (b4 * Line(b5,b7))) is one-to-one &
lines ReplaceLine(b5,b6,(Line(b5,b6)) + (b4 * Line(b5,b7))) is linearly-independent(b3, b1 -VectSp_over b3);
:: MATRIX13:th 118
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 finite with_non-empty_elements Element of bool NAT
for b5 being Matrix of b1,b2,the carrier of b3
st b4 c= Seg b1
holds lines Segm(b5,b4,Seg b2) c= lines b5;
:: MATRIX13:th 119
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 finite with_non-empty_elements Element of bool NAT
for b5 being Matrix of b1,b2,the carrier of b3
st b4 c= Seg b1 & lines b5 is linearly-independent(b3, b2 -VectSp_over b3)
holds lines Segm(b5,b4,Seg b2) is linearly-independent(b3, (card Seg b2) -VectSp_over b3);
:: MATRIX13:th 120
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 finite with_non-empty_elements Element of bool NAT
for b5 being Matrix of b1,b2,the carrier of b3
st b4 c= Seg b1 & b5 is one-to-one
holds Segm(b5,b4,Seg b2) is one-to-one;
:: MATRIX13:th 121
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
lines b4 is linearly-independent(b3, b2 -VectSp_over b3) & b4 is one-to-one
iff
the_rank_of b4 = b1;
:: MATRIX13:th 122
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 b2,b1,the carrier of b3
for b5 being Element of bool the carrier of b1 -VectSp_over b3
st b5 c= lines b4
holds ex b6 being finite with_non-empty_elements Element of bool NAT st
b6 c= Seg b2 & lines Segm(b4,b6,Seg b1) = b5 & Segm(b4,b6,Seg b1) is one-to-one;
:: MATRIX13:th 123
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
for b5 being Element of NAT holds
the_rank_of b4 = b5
iff
(ex b6 being finite Element of bool the carrier of b2 -VectSp_over b3 st
b6 is linearly-independent(b3, b2 -VectSp_over b3) & b6 c= lines b4 & card b6 = b5) &
(for b6 being finite Element of bool the carrier of b2 -VectSp_over b3
st b6 is linearly-independent(b3, b2 -VectSp_over b3) & b6 c= lines b4
holds card b6 <= b5);