:: MATRIX_1 semantic presentation
:: deftheorem Def1 defines tabular MATRIX_1:def 1 :
theorem Th1: :: MATRIX_1:1
theorem Th2: :: MATRIX_1:2
theorem Th3: :: MATRIX_1:3
theorem Th4: :: MATRIX_1:4
theorem Th5: :: MATRIX_1:5
theorem Th6: :: MATRIX_1:6
theorem Th7: :: MATRIX_1:7
theorem Th8: :: MATRIX_1:8
theorem Th9: :: MATRIX_1:9
:: deftheorem Def2 MATRIX_1:def 2 :
canceled;
:: deftheorem Def3 defines Matrix MATRIX_1:def 3 :
theorem Th10: :: MATRIX_1:10
theorem Th11: :: MATRIX_1:11
theorem Th12: :: MATRIX_1:12
theorem Th13: :: MATRIX_1:13
theorem Th14: :: MATRIX_1:14
theorem Th15: :: MATRIX_1:15
theorem Th16: :: MATRIX_1:16
theorem Th17: :: MATRIX_1:17
theorem Th18: :: MATRIX_1:18
theorem Th19: :: MATRIX_1:19
:: deftheorem Def4 defines width MATRIX_1:def 4 :
theorem Th20: :: MATRIX_1:20
:: deftheorem Def5 defines Indices MATRIX_1:def 5 :
:: deftheorem Def6 defines * MATRIX_1:def 6 :
theorem Th21: :: MATRIX_1:21
scheme :: MATRIX_1:sch 1
s1{ F
1()
-> non
empty set , F
2()
-> Nat, F
3()
-> Nat, F
4(
set ,
set )
-> Element of F
1() } :
ex b
1 being
Matrix of F
2(),F
3(),F
1() st
for b
2, b
3 being
Nat holds
(
[b2,b3] in Indices b
1 implies b
1 * b
2,b
3 = F
4(b
2,b
3) )
scheme :: MATRIX_1:sch 2
s2{ F
1()
-> non
empty set , F
2()
-> Nat, F
3()
-> Nat, P
1[
set ,
set ,
set ] } :
ex b
1 being
Matrix of F
2(),F
3(),F
1() st
for b
2, b
3 being
Nat holds
(
[b2,b3] in Indices b
1 implies P
1[b
2,b
3,b
1 * b
2,b
3] )
provided
for b
1, b
2 being
Nat holds
(
[b1,b2] in [:(Seg F2()),(Seg F3()):] implies for b
3, b
4 being
Element of F
1() holds
( P
1[b
1,b
2,b
3] & P
1[b
1,b
2,b
4] implies b
3 = b
4 ) )
and
E17:
for b
1, b
2 being
Nat holds
not (
[b1,b2] in [:(Seg F2()),(Seg F3()):] & ( for b
3 being
Element of F
1() holds
not P
1[b
1,b
2,b
3] ) )
theorem Th22: :: MATRIX_1:22
canceled;
theorem Th23: :: MATRIX_1:23
theorem Th24: :: MATRIX_1:24
theorem Th25: :: MATRIX_1:25
theorem Th26: :: MATRIX_1:26
theorem Th27: :: MATRIX_1:27
theorem Th28: :: MATRIX_1:28
for b
1, b
2 being
Natfor b
3 being non
empty set for b
4, b
5 being
Matrix of b
1,b
2,b
3 holds
( ( for b
6, b
7 being
Nat holds
(
[b6,b7] in Indices b
4 implies b
4 * b
6,b
7 = b
5 * b
6,b
7 ) ) implies b
4 = b
5 )
theorem Th29: :: MATRIX_1:29
definition
let c
1 be non
empty set ;
let c
2 be
Matrix of c
1;
func c
2 @ -> Matrix of a
1 means :: MATRIX_1:def 7
(
len a
3 = width a
2 & ( for b
1, b
2 being
Nat holds
(
[b1,b2] in Indices a
3 iff
[b2,b1] in Indices a
2 ) ) & ( for b
1, b
2 being
Nat holds
(
[b2,b1] in Indices a
2 implies a
3 * b
1,b
2 = a
2 * b
2,b
1 ) ) );
existence
ex b1 being Matrix of c1 st
( len b1 = width c2 & ( for b2, b3 being Nat holds
( [b2,b3] in Indices b1 iff [b3,b2] in Indices c2 ) ) & ( for b2, b3 being Nat holds
( [b3,b2] in Indices c2 implies b1 * b2,b3 = c2 * b3,b2 ) ) )
uniqueness
for b1, b2 being Matrix of c1 holds
( len b1 = width c2 & ( for b3, b4 being Nat holds
( [b3,b4] in Indices b1 iff [b4,b3] in Indices c2 ) ) & ( for b3, b4 being Nat holds
( [b4,b3] in Indices c2 implies b1 * b3,b4 = c2 * b4,b3 ) ) & len b2 = width c2 & ( for b3, b4 being Nat holds
( [b3,b4] in Indices b2 iff [b4,b3] in Indices c2 ) ) & ( for b3, b4 being Nat holds
( [b4,b3] in Indices c2 implies b2 * b3,b4 = c2 * b4,b3 ) ) implies b1 = b2 )
end;
:: deftheorem Def7 defines @ MATRIX_1:def 7 :
definition
let c
1 be non
empty set ;
let c
2 be
Matrix of c
1;
let c
3 be
Nat;
func Line c
2,c
3 -> FinSequence of a
1 means :
Def8:
:: MATRIX_1:def 8
(
len a
4 = width a
2 & ( for b
1 being
Nat holds
( b
1 in Seg (width a2) implies a
4 . b
1 = a
2 * a
3,b
1 ) ) );
existence
ex b1 being FinSequence of c1 st
( len b1 = width c2 & ( for b2 being Nat holds
( b2 in Seg (width c2) implies b1 . b2 = c2 * c3,b2 ) ) )
uniqueness
for b1, b2 being FinSequence of c1 holds
( len b1 = width c2 & ( for b3 being Nat holds
( b3 in Seg (width c2) implies b1 . b3 = c2 * c3,b3 ) ) & len b2 = width c2 & ( for b3 being Nat holds
( b3 in Seg (width c2) implies b2 . b3 = c2 * c3,b3 ) ) implies b1 = b2 )
func Col c
2,c
3 -> FinSequence of a
1 means :
Def9:
:: MATRIX_1:def 9
(
len a
4 = len a
2 & ( for b
1 being
Nat holds
( b
1 in dom a
2 implies a
4 . b
1 = a
2 * b
1,a
3 ) ) );
existence
ex b1 being FinSequence of c1 st
( len b1 = len c2 & ( for b2 being Nat holds
( b2 in dom c2 implies b1 . b2 = c2 * b2,c3 ) ) )
uniqueness
for b1, b2 being FinSequence of c1 holds
( len b1 = len c2 & ( for b3 being Nat holds
( b3 in dom c2 implies b1 . b3 = c2 * b3,c3 ) ) & len b2 = len c2 & ( for b3 being Nat holds
( b3 in dom c2 implies b2 . b3 = c2 * b3,c3 ) ) implies b1 = b2 )
end;
:: deftheorem Def8 defines Line MATRIX_1:def 8 :
:: deftheorem Def9 defines Col MATRIX_1:def 9 :
definition
let c
1 be non
empty doubleLoopStr ;
let c
2 be
Nat;
func c
2 -Matrices_over c
1 -> set equals :: MATRIX_1:def 10
a
2 -tuples_on (a2 -tuples_on the carrier of a1);
coherence
c2 -tuples_on (c2 -tuples_on the carrier of c1) is set
;
func 0. c
1,c
2 -> Matrix of a
2,a
1 equals :: MATRIX_1:def 11
a
2 |-> (a2 |-> (0. a1));
coherence
c2 |-> (c2 |-> (0. c1)) is Matrix of c2,c1
by Th10;
func 1. c
1,c
2 -> Matrix of a
2,a
1 means :
Def12:
:: MATRIX_1:def 12
( ( for b
1 being
Nat holds
(
[b1,b1] in Indices a
3 implies a
3 * b
1,b
1 = 1. a
1 ) ) & ( for b
1, b
2 being
Nat holds
(
[b1,b2] in Indices a
3 & b
1 <> b
2 implies a
3 * b
1,b
2 = 0. a
1 ) ) );
existence
ex b1 being Matrix of c2,c1 st
( ( for b2 being Nat holds
( [b2,b2] in Indices b1 implies b1 * b2,b2 = 1. c1 ) ) & ( for b2, b3 being Nat holds
( [b2,b3] in Indices b1 & b2 <> b3 implies b1 * b2,b3 = 0. c1 ) ) )
uniqueness
for b1, b2 being Matrix of c2,c1 holds
( ( for b3 being Nat holds
( [b3,b3] in Indices b1 implies b1 * b3,b3 = 1. c1 ) ) & ( for b3, b4 being Nat holds
( [b3,b4] in Indices b1 & b3 <> b4 implies b1 * b3,b4 = 0. c1 ) ) & ( for b3 being Nat holds
( [b3,b3] in Indices b2 implies b2 * b3,b3 = 1. c1 ) ) & ( for b3, b4 being Nat holds
( [b3,b4] in Indices b2 & b3 <> b4 implies b2 * b3,b4 = 0. c1 ) ) implies b1 = b2 )
let c
3 be
Matrix of c
2,c
1;
func - c
3 -> Matrix of a
2,a
1 means :
Def13:
:: MATRIX_1:def 13
for b
1, b
2 being
Nat holds
(
[b1,b2] in Indices a
3 implies a
4 * b
1,b
2 = - (a3 * b1,b2) );
existence
ex b1 being Matrix of c2,c1 st
for b2, b3 being Nat holds
( [b2,b3] in Indices c3 implies b1 * b2,b3 = - (c3 * b2,b3) )
uniqueness
for b1, b2 being Matrix of c2,c1 holds
( ( for b3, b4 being Nat holds
( [b3,b4] in Indices c3 implies b1 * b3,b4 = - (c3 * b3,b4) ) ) & ( for b3, b4 being Nat holds
( [b3,b4] in Indices c3 implies b2 * b3,b4 = - (c3 * b3,b4) ) ) implies b1 = b2 )
let c
4 be
Matrix of c
2,c
1;
func c
3 + c
4 -> Matrix of a
2,a
1 means :
Def14:
:: MATRIX_1:def 14
for b
1, b
2 being
Nat holds
(
[b1,b2] in Indices a
3 implies a
5 * b
1,b
2 = (a3 * b1,b2) + (a4 * b1,b2) );
existence
ex b1 being Matrix of c2,c1 st
for b2, b3 being Nat holds
( [b2,b3] in Indices c3 implies b1 * b2,b3 = (c3 * b2,b3) + (c4 * b2,b3) )
uniqueness
for b1, b2 being Matrix of c2,c1 holds
( ( for b3, b4 being Nat holds
( [b3,b4] in Indices c3 implies b1 * b3,b4 = (c3 * b3,b4) + (c4 * b3,b4) ) ) & ( for b3, b4 being Nat holds
( [b3,b4] in Indices c3 implies b2 * b3,b4 = (c3 * b3,b4) + (c4 * b3,b4) ) ) implies b1 = b2 )
end;
:: deftheorem Def10 defines -Matrices_over MATRIX_1:def 10 :
:: deftheorem Def11 defines 0. MATRIX_1:def 11 :
:: deftheorem Def12 defines 1. MATRIX_1:def 12 :
:: deftheorem Def13 defines - MATRIX_1:def 13 :
:: deftheorem Def14 defines + MATRIX_1:def 14 :
theorem Th30: :: MATRIX_1:30
theorem Th31: :: MATRIX_1:31
:: deftheorem Def15 defines diagonal MATRIX_1:def 15 :
theorem Th32: :: MATRIX_1:32
theorem Th33: :: MATRIX_1:33
theorem Th34: :: MATRIX_1:34
theorem Th35: :: MATRIX_1:35
definition
let c
1 be non
empty Abelian add-associative right_zeroed right_complementable doubleLoopStr ;
let c
2 be
Nat;
func c
2 -G_Matrix_over c
1 -> strict AbGroup means :: MATRIX_1:def 16
( the
carrier of a
3 = a
2 -Matrices_over a
1 & ( for b
1, b
2 being
Matrix of a
2,a
1 holds the
add of a
3 . b
1,b
2 = b
1 + b
2 ) & the
Zero of a
3 = 0. a
1,a
2 );
existence
ex b1 being strict AbGroup st
( the carrier of b1 = c2 -Matrices_over c1 & ( for b2, b3 being Matrix of c2,c1 holds the add of b1 . b2,b3 = b2 + b3 ) & the Zero of b1 = 0. c1,c2 )
uniqueness
for b1, b2 being strict AbGroup holds
( the carrier of b1 = c2 -Matrices_over c1 & ( for b3, b4 being Matrix of c2,c1 holds the add of b1 . b3,b4 = b3 + b4 ) & the Zero of b1 = 0. c1,c2 & the carrier of b2 = c2 -Matrices_over c1 & ( for b3, b4 being Matrix of c2,c1 holds the add of b2 . b3,b4 = b3 + b4 ) & the Zero of b2 = 0. c1,c2 implies b1 = b2 )
end;
:: deftheorem Def16 defines -G_Matrix_over MATRIX_1:def 16 :