:: 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{
F1()
-> non
empty set ,
F2()
-> Nat,
F3()
-> Nat,
F4(
set ,
set )
-> Element of
F1() } :
ex
b1 being
Matrix of
F2(),
F3(),
F1() st
for
b2,
b3 being
Nat st
[b2,b3] in Indices b1 holds
b1 * b2,
b3 = F4(
b2,
b3)
scheme :: MATRIX_1:sch 2
s2{
F1()
-> non
empty set ,
F2()
-> Nat,
F3()
-> Nat,
P1[
set ,
set ,
set ] } :
ex
b1 being
Matrix of
F2(),
F3(),
F1() st
for
b2,
b3 being
Nat st
[b2,b3] in Indices b1 holds
P1[
b2,
b3,
b1 * b2,
b3]
provided
for
b1,
b2 being
Nat st
[b1,b2] in [:(Seg F2()),(Seg F3()):] holds
for
b3,
b4 being
Element of
F1() st
P1[
b1,
b2,
b3] &
P1[
b1,
b2,
b4] holds
b3 = b4
and E17:
for
b1,
b2 being
Nat st
[b1,b2] in [:(Seg F2()),(Seg F3()):] holds
ex
b3 being
Element of
F1() st
P1[
b1,
b2,
b3]
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
b1,
b2 being
Nat for
b3 being non
empty set for
b4,
b5 being
Matrix of
b1,
b2,
b3 st ( for
b6,
b7 being
Nat st
[b6,b7] in Indices b4 holds
b4 * b6,
b7 = b5 * b6,
b7 ) holds
b4 = b5
theorem Th29: :: MATRIX_1:29
definition
let c1 be non
empty set ;
let c2 be
Matrix of
c1;
func c2 @ -> Matrix of
a1 means :: MATRIX_1:def 7
(
len a3 = width a2 & ( for
b1,
b2 being
Nat holds
(
[b1,b2] in Indices a3 iff
[b2,b1] in Indices a2 ) ) & ( for
b1,
b2 being
Nat st
[b2,b1] in Indices a2 holds
a3 * b1,
b2 = a2 * b2,
b1 ) );
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 st [b3,b2] in Indices c2 holds
b1 * b2,b3 = c2 * b3,b2 ) )
uniqueness
for b1, b2 being Matrix of c1 st 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 st [b4,b3] in Indices c2 holds
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 st [b4,b3] in Indices c2 holds
b2 * b3,b4 = c2 * b4,b3 ) holds
b1 = b2
end;
:: deftheorem Def7 defines @ MATRIX_1:def 7 :
definition
let c1 be non
empty set ;
let c2 be
Matrix of
c1;
let c3 be
Nat;
func Line c2,
c3 -> FinSequence of
a1 means :
Def8:
:: MATRIX_1:def 8
(
len a4 = width a2 & ( for
b1 being
Nat st
b1 in Seg (width a2) holds
a4 . b1 = a2 * a3,
b1 ) );
existence
ex b1 being FinSequence of c1 st
( len b1 = width c2 & ( for b2 being Nat st b2 in Seg (width c2) holds
b1 . b2 = c2 * c3,b2 ) )
uniqueness
for b1, b2 being FinSequence of c1 st len b1 = width c2 & ( for b3 being Nat st b3 in Seg (width c2) holds
b1 . b3 = c2 * c3,b3 ) & len b2 = width c2 & ( for b3 being Nat st b3 in Seg (width c2) holds
b2 . b3 = c2 * c3,b3 ) holds
b1 = b2
func Col c2,
c3 -> FinSequence of
a1 means :
Def9:
:: MATRIX_1:def 9
(
len a4 = len a2 & ( for
b1 being
Nat st
b1 in dom a2 holds
a4 . b1 = a2 * b1,
a3 ) );
existence
ex b1 being FinSequence of c1 st
( len b1 = len c2 & ( for b2 being Nat st b2 in dom c2 holds
b1 . b2 = c2 * b2,c3 ) )
uniqueness
for b1, b2 being FinSequence of c1 st len b1 = len c2 & ( for b3 being Nat st b3 in dom c2 holds
b1 . b3 = c2 * b3,c3 ) & len b2 = len c2 & ( for b3 being Nat st b3 in dom c2 holds
b2 . b3 = c2 * b3,c3 ) holds
b1 = b2
end;
:: deftheorem Def8 defines Line MATRIX_1:def 8 :
:: deftheorem Def9 defines Col MATRIX_1:def 9 :
definition
let c1 be non
empty doubleLoopStr ;
let c2 be
Nat;
func c2 -Matrices_over c1 -> set equals :: MATRIX_1:def 10
a2 -tuples_on (a2 -tuples_on the carrier of a1);
coherence
c2 -tuples_on (c2 -tuples_on the carrier of c1) is set
;
func 0. c1,
c2 -> Matrix of
a2,
a1 equals :: MATRIX_1:def 11
a2 |-> (a2 |-> (0. a1));
coherence
c2 |-> (c2 |-> (0. c1)) is Matrix of c2,c1
by Th10;
func 1. c1,
c2 -> Matrix of
a2,
a1 means :
Def12:
:: MATRIX_1:def 12
( ( for
b1 being
Nat st
[b1,b1] in Indices a3 holds
a3 * b1,
b1 = 1. a1 ) & ( for
b1,
b2 being
Nat st
[b1,b2] in Indices a3 &
b1 <> b2 holds
a3 * b1,
b2 = 0. a1 ) );
existence
ex b1 being Matrix of c2,c1 st
( ( for b2 being Nat st [b2,b2] in Indices b1 holds
b1 * b2,b2 = 1. c1 ) & ( for b2, b3 being Nat st [b2,b3] in Indices b1 & b2 <> b3 holds
b1 * b2,b3 = 0. c1 ) )
uniqueness
for b1, b2 being Matrix of c2,c1 st ( for b3 being Nat st [b3,b3] in Indices b1 holds
b1 * b3,b3 = 1. c1 ) & ( for b3, b4 being Nat st [b3,b4] in Indices b1 & b3 <> b4 holds
b1 * b3,b4 = 0. c1 ) & ( for b3 being Nat st [b3,b3] in Indices b2 holds
b2 * b3,b3 = 1. c1 ) & ( for b3, b4 being Nat st [b3,b4] in Indices b2 & b3 <> b4 holds
b2 * b3,b4 = 0. c1 ) holds
b1 = b2
let c3 be
Matrix of
c2,
c1;
func - c3 -> Matrix of
a2,
a1 means :
Def13:
:: MATRIX_1:def 13
for
b1,
b2 being
Nat st
[b1,b2] in Indices a3 holds
a4 * b1,
b2 = - (a3 * b1,b2);
existence
ex b1 being Matrix of c2,c1 st
for b2, b3 being Nat st [b2,b3] in Indices c3 holds
b1 * b2,b3 = - (c3 * b2,b3)
uniqueness
for b1, b2 being Matrix of c2,c1 st ( for b3, b4 being Nat st [b3,b4] in Indices c3 holds
b1 * b3,b4 = - (c3 * b3,b4) ) & ( for b3, b4 being Nat st [b3,b4] in Indices c3 holds
b2 * b3,b4 = - (c3 * b3,b4) ) holds
b1 = b2
let c4 be
Matrix of
c2,
c1;
func c3 + c4 -> Matrix of
a2,
a1 means :
Def14:
:: MATRIX_1:def 14
for
b1,
b2 being
Nat st
[b1,b2] in Indices a3 holds
a5 * b1,
b2 = (a3 * b1,b2) + (a4 * b1,b2);
existence
ex b1 being Matrix of c2,c1 st
for b2, b3 being Nat st [b2,b3] in Indices c3 holds
b1 * b2,b3 = (c3 * b2,b3) + (c4 * b2,b3)
uniqueness
for b1, b2 being Matrix of c2,c1 st ( for b3, b4 being Nat st [b3,b4] in Indices c3 holds
b1 * b3,b4 = (c3 * b3,b4) + (c4 * b3,b4) ) & ( for b3, b4 being Nat st [b3,b4] in Indices c3 holds
b2 * b3,b4 = (c3 * b3,b4) + (c4 * b3,b4) ) holds
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 c1 be non
empty Abelian add-associative right_zeroed right_complementable doubleLoopStr ;
let c2 be
Nat;
func c2 -G_Matrix_over c1 -> strict AbGroup means :: MATRIX_1:def 16
( the
carrier of
a3 = a2 -Matrices_over a1 & ( for
b1,
b2 being
Matrix of
a2,
a1 holds the
add of
a3 . b1,
b2 = b1 + b2 ) & the
Zero of
a3 = 0. a1,
a2 );
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 st 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 holds
b1 = b2
end;
:: deftheorem Def16 defines -G_Matrix_over MATRIX_1:def 16 :