matrix14.miz
begin
reserve k,n,m,i,j for
Element of
NAT ,
K for
Field;
definition
let K be non
empty
ZeroStr, n;
::
MATRIX14:def1
func
0* (K,n) ->
FinSequence of K equals (n
|-> (
0. K));
coherence ;
end
definition
let K be non
empty
ZeroStr;
let n;
:: original:
0*
redefine
func
0* (K,n) ->
Element of (n
-tuples_on the
carrier of K) ;
coherence ;
end
reserve L for non
empty
addLoopStr;
theorem ::
MATRIX14:1
Th1: for x be
FinSequence of L holds x is
Element of ((
len x)
-tuples_on the
carrier of L)
proof
let x be
FinSequence of L;
x is
Element of (the
carrier of L
* ) by
FINSEQ_1:def 11;
then x
in { s where s be
Element of (the
carrier of L
* ) : (
len s)
= (
len x) };
hence thesis by
FINSEQ_2:def 4;
end;
theorem ::
MATRIX14:2
Th2: for x1,x2 be
FinSequence of L st (
len x1)
= (
len x2) holds (
len (x1
+ x2))
= (
len x1)
proof
let x1,x2 be
FinSequence of L;
set n = (
len x1);
reconsider z1 = x1 as
Element of ((
len x1)
-tuples_on the
carrier of L) by
FINSEQ_2: 92;
assume (
len x1)
= (
len x2);
then
reconsider z2 = x2 as
Element of (n
-tuples_on the
carrier of L) by
FINSEQ_2: 92;
(
dom (z1
+ z2))
= (
Seg n) by
FINSEQ_2: 124;
hence thesis by
FINSEQ_1:def 3;
end;
theorem ::
MATRIX14:3
Th3: for x1,x2 be
FinSequence of L st (
len x1)
= (
len x2) holds (
len (x1
- x2))
= (
len x1)
proof
let x1,x2 be
FinSequence of L;
set n = (
len x1);
reconsider z1 = x1 as
Element of ((
len x1)
-tuples_on the
carrier of L) by
FINSEQ_2: 92;
assume (
len x1)
= (
len x2);
then
reconsider z2 = x2 as
Element of (n
-tuples_on the
carrier of L) by
FINSEQ_2: 92;
(
dom (z1
- z2))
= (
Seg n) by
FINSEQ_2: 124;
hence thesis by
FINSEQ_1:def 3;
end;
reserve G for non
empty
multLoopStr;
theorem ::
MATRIX14:4
Th4: for x1,x2 be
FinSequence of G, i st i
in (
dom (
mlt (x1,x2))) holds ((
mlt (x1,x2))
. i)
= ((x1
/. i)
* (x2
/. i)) & ((
mlt (x1,x2))
/. i)
= ((x1
/. i)
* (x2
/. i))
proof
let x1,x2 be
FinSequence of G, i;
assume
A1: i
in (
dom (
mlt (x1,x2)));
A2: (
mlt (x1,x2))
= (the
multF of G
.: (x1,x2)) by
FVSUM_1:def 7;
A3: (
rng x2)
c= the
carrier of G by
FINSEQ_1:def 4;
(
dom the
multF of G)
=
[:the
carrier of G, the
carrier of G:] & (
rng x1)
c= the
carrier of G by
FINSEQ_1:def 4,
FUNCT_2:def 1;
then
[:(
rng x1), (
rng x2):]
c= (
dom the
multF of G) by
A3,
ZFMISC_1: 96;
then
A4: (
dom (
mlt (x1,x2)))
= ((
dom x1)
/\ (
dom x2)) by
A2,
FUNCOP_1: 69;
then i
in (
dom x2) by
A1,
XBOOLE_0:def 4;
then
A5: (x2
/. i)
= (x2
. i) by
PARTFUN1:def 6;
i
in (
dom x1) by
A1,
A4,
XBOOLE_0:def 4;
then (x1
/. i)
= (x1
. i) by
PARTFUN1:def 6;
hence ((
mlt (x1,x2))
. i)
= ((x1
/. i)
* (x2
/. i)) by
A1,
A5,
FVSUM_1: 60;
hence thesis by
A1,
PARTFUN1:def 6;
end;
theorem ::
MATRIX14:5
Th5: for x1,x2 be
FinSequence of L, i be
Nat st (
len x1)
= (
len x2) & 1
<= i & i
<= (
len x1) holds ((x1
+ x2)
. i)
= ((x1
/. i)
+ (x2
/. i)) & ((x1
- x2)
. i)
= ((x1
/. i)
- (x2
/. i))
proof
let x1,x2 be
FinSequence of L, i be
Nat;
assume that
A1: (
len x1)
= (
len x2) and
A2: 1
<= i & i
<= (
len x1);
reconsider x10 = x1, x20 = x2 as
Element of ((
len x1)
-tuples_on the
carrier of L) by
A1,
Th1;
A3: (x10
/. i)
= (x10
. i) & (x20
/. i)
= (x20
. i) by
A1,
A2,
FINSEQ_4: 15;
i
in (
Seg (
len x1)) by
A2,
FINSEQ_1: 1;
then i
in (
Seg (
len (x1
+ x2))) by
A1,
Th2;
then i
in (
dom (x1
+ x2)) by
FINSEQ_1:def 3;
hence ((x1
+ x2)
. i)
= ((x1
/. i)
+ (x2
/. i)) by
A3,
FVSUM_1: 17;
i
in (
Seg (
len x1)) by
A2,
FINSEQ_1: 1;
then i
in (
Seg (
len (x1
- x2))) by
A1,
Th3;
then i
in (
dom (x1
- x2)) by
FINSEQ_1:def 3;
hence thesis by
A3,
FVSUM_1: 32;
end;
theorem ::
MATRIX14:6
Th6: for a be
Element of K, x be
FinSequence of K holds (
- (a
* x))
= ((
- a)
* x) & (
- (a
* x))
= (a
* (
- x))
proof
let a be
Element of K, x be
FinSequence of K;
set n = (
len x);
reconsider x0 = x as
Element of (n
-tuples_on the
carrier of K) by
Th1;
reconsider y = (a
* x0) as
Element of (n
-tuples_on the
carrier of K);
thus (
- (a
* x))
= ((
- (
1_ K))
* y) by
FVSUM_1: 59
.= (((
- (
1_ K))
* a)
* x0) by
FVSUM_1: 54
.= ((
- ((
1_ K)
* a))
* x0) by
VECTSP_1: 8
.= ((
- a)
* x);
thus (
- (a
* x))
= ((
- (
1_ K))
* y) by
FVSUM_1: 59
.= (((
- (
1_ K))
* a)
* x0) by
FVSUM_1: 54
.= (a
* ((
- (
1_ K))
* x0)) by
FVSUM_1: 54
.= (a
* (
- x)) by
FVSUM_1: 59;
end;
theorem ::
MATRIX14:7
Th7: for x1,x2,y1,y2 be
FinSequence of G st (
len x1)
= (
len x2) & (
len y1)
= (
len y2) holds (
mlt ((x1
^ y1),(x2
^ y2)))
= ((
mlt (x1,x2))
^ (
mlt (y1,y2)))
proof
let x1,x2,y1,y2 be
FinSequence of G;
assume that
A1: (
len x1)
= (
len x2) and
A2: (
len y1)
= (
len y2);
A3: (the
multF of G
.: ((x1
^ y1),(x2
^ y2)))
= (the
multF of G
*
<:(x1
^ y1), (x2
^ y2):>) by
FUNCOP_1:def 3;
A4: (
dom (x1
^ y1))
= (
Seg (
len (x1
^ y1))) by
FINSEQ_1:def 3;
A5: (
rng (x2
^ y2))
c= the
carrier of G by
FINSEQ_1:def 4;
(
dom the
multF of G)
=
[:the
carrier of G, the
carrier of G:] & (
rng (x1
^ y1))
c= the
carrier of G by
FINSEQ_1:def 4,
FUNCT_2:def 1;
then
[:(
rng (x1
^ y1)), (
rng (x2
^ y2)):]
c= (
dom the
multF of G) by
A5,
ZFMISC_1: 96;
then
A6: (
dom (the
multF of G
*
<:(x1
^ y1), (x2
^ y2):>))
= ((
dom (x1
^ y1))
/\ (
dom (x2
^ y2))) by
A3,
FUNCOP_1: 69;
A7: (
len (x2
^ y2))
= ((
len x2)
+ (
len y2)) by
FINSEQ_1: 22;
(
dom (x2
^ y2))
= (
Seg (
len (x2
^ y2))) by
FINSEQ_1:def 3;
then (
dom (x1
^ y1))
= (
dom (x2
^ y2)) by
A1,
A2,
A7,
A4,
FINSEQ_1: 22;
then
A8: (
dom (
mlt ((x1
^ y1),(x2
^ y2))))
= (
dom (x1
^ y1)) by
A3,
A6,
FVSUM_1:def 7;
A9: (the
multF of G
.: (y1,y2))
= (the
multF of G
*
<:y1, y2:>) by
FUNCOP_1:def 3;
A10: (
dom the
multF of G)
=
[:the
carrier of G, the
carrier of G:] by
FUNCT_2:def 1;
(
rng y1)
c= the
carrier of G & (
rng y2)
c= the
carrier of G by
FINSEQ_1:def 4;
then
[:(
rng y1), (
rng y2):]
c= (
dom the
multF of G) by
A10,
ZFMISC_1: 96;
then
A11: (
dom (the
multF of G
*
<:y1, y2:>))
= ((
dom y1)
/\ (
dom y2)) by
A9,
FUNCOP_1: 69;
(
dom y2)
= (
Seg (
len y1)) by
A2,
FINSEQ_1:def 3
.= (
dom y1) by
FINSEQ_1:def 3;
then
A12: (
dom (
mlt (y1,y2)))
= (
dom y1) by
A9,
A11,
FVSUM_1:def 7;
then (
dom (
mlt (y1,y2)))
= (
Seg (
len y1)) by
FINSEQ_1:def 3;
then
A13: (
len (
mlt (y1,y2)))
= (
len y1) by
FINSEQ_1:def 3;
A14: (the
multF of G
.: (x1,x2))
= (the
multF of G
*
<:x1, x2:>) by
FUNCOP_1:def 3;
(
rng x1)
c= the
carrier of G & (
rng x2)
c= the
carrier of G by
FINSEQ_1:def 4;
then
[:(
rng x1), (
rng x2):]
c= (
dom the
multF of G) by
A10,
ZFMISC_1: 96;
then
A15: (
dom (the
multF of G
*
<:x1, x2:>))
= ((
dom x1)
/\ (
dom x2)) by
A14,
FUNCOP_1: 69;
A16: (
len (x1
^ y1))
= ((
len x1)
+ (
len y1)) by
FINSEQ_1: 22;
(
dom x2)
= (
Seg (
len x1)) by
A1,
FINSEQ_1:def 3
.= (
dom x1) by
FINSEQ_1:def 3;
then
A17: (
dom (
mlt (x1,x2)))
= (
dom x1) by
A14,
A15,
FVSUM_1:def 7;
then
A18: (
dom (
mlt (x1,x2)))
= (
Seg (
len x1)) by
FINSEQ_1:def 3;
A19: for i be
Nat st 1
<= i & i
<= (
len (
mlt ((x1
^ y1),(x2
^ y2)))) holds ((
mlt ((x1
^ y1),(x2
^ y2)))
. i)
= (((
mlt (x1,x2))
^ (
mlt (y1,y2)))
. i)
proof
let i be
Nat;
assume that
A20: 1
<= i and
A21: i
<= (
len (
mlt ((x1
^ y1),(x2
^ y2))));
i
in (
Seg (
len (
mlt ((x1
^ y1),(x2
^ y2))))) by
A20,
A21,
FINSEQ_1: 1;
then
A22: i
in (
dom (
mlt ((x1
^ y1),(x2
^ y2)))) by
FINSEQ_1:def 3;
then i
<= (
len (x1
^ y1)) by
A4,
A8,
FINSEQ_1: 1;
then
A23: ((x1
^ y1)
/. i)
= ((x1
^ y1)
. i) by
A20,
FINSEQ_4: 15;
i
<= (
len (x2
^ y2)) by
A1,
A2,
A16,
A7,
A4,
A8,
A22,
FINSEQ_1: 1;
then
A24: ((x2
^ y2)
/. i)
= ((x2
^ y2)
. i) by
A20,
FINSEQ_4: 15;
A25: i
<= ((
len x1)
+ (
len y1)) by
A16,
A4,
A8,
A22,
FINSEQ_1: 1;
now
per cases ;
suppose
A26: i
<= (
len x1);
then
A27: i
in (
Seg (
len x1)) by
A20,
FINSEQ_1: 1;
then
A28: i
in (
dom x1) by
FINSEQ_1:def 3;
i
in (
dom x2) by
A1,
A27,
FINSEQ_1:def 3;
then
A29: ((x2
^ y2)
. i)
= (x2
. i) by
FINSEQ_1:def 7;
A30: i
in (
dom (
mlt (x1,x2))) by
A17,
A27,
FINSEQ_1:def 3;
then
A31: (((
mlt (x1,x2))
^ (
mlt (y1,y2)))
. i)
= ((
mlt (x1,x2))
. i) by
FINSEQ_1:def 7
.= ((x1
/. i)
* (x2
/. i)) by
A30,
Th4;
(x1
/. i)
= (x1
. i) & (x2
/. i)
= (x2
. i) by
A1,
A20,
A26,
FINSEQ_4: 15;
hence (((x1
^ y1)
/. i)
* ((x2
^ y2)
/. i))
= (((
mlt (x1,x2))
^ (
mlt (y1,y2)))
. i) by
A23,
A24,
A28,
A29,
A31,
FINSEQ_1:def 7;
end;
suppose
A32: i
> (
len x1);
i
<= (
len (x2
^ y2)) by
A1,
A2,
A16,
A7,
A4,
A8,
A22,
FINSEQ_1: 1;
then
A33: ((x2
^ y2)
/. i)
= ((x2
^ y2)
. i) by
A20,
FINSEQ_4: 15;
i
<= (
len (x1
^ y1)) by
A4,
A8,
A22,
FINSEQ_1: 1;
then
A34: ((x1
^ y1)
/. i)
= ((x1
^ y1)
. i) by
A20,
FINSEQ_4: 15;
set k = (i
-' (
len x1));
A35: k
= (i
- (
len x1)) by
A32,
XREAL_1: 233;
then
A36: i
= ((
len x1)
+ k);
(i
- (
len x1))
<= (((
len x1)
+ (
len y1))
- (
len x1)) by
A25,
XREAL_1: 13;
then
A37: k
<= (
len y1) by
A32,
XREAL_1: 233;
k
>
0 by
A32,
A35,
XREAL_1: 50;
then
A38: (
0
+ 1)
<= k by
NAT_1: 13;
then
A39: k
in (
Seg (
len y1)) by
A37,
FINSEQ_1: 1;
then
A40: k
in (
dom (
mlt (y1,y2))) by
A12,
FINSEQ_1:def 3;
i
= ((
len (
mlt (x1,x2)))
+ k) by
A18,
A36,
FINSEQ_1:def 3;
then
A41: (((
mlt (x1,x2))
^ (
mlt (y1,y2)))
. i)
= ((
mlt (y1,y2))
. k) by
A40,
FINSEQ_1:def 7
.= ((y1
/. k)
* (y2
/. k)) by
A40,
Th4;
k
in (
dom y1) by
A39,
FINSEQ_1:def 3;
then
A42: ((x1
^ y1)
. i)
= (y1
. k) by
A36,
FINSEQ_1:def 7;
k
in (
Seg (
len y1)) by
A38,
A37,
FINSEQ_1: 1;
then
A43: k
in (
dom y2) by
A2,
FINSEQ_1:def 3;
(y1
/. k)
= (y1
. k) & (y2
/. k)
= (y2
. k) by
A2,
A38,
A37,
FINSEQ_4: 15;
hence (((x1
^ y1)
/. i)
* ((x2
^ y2)
/. i))
= (((
mlt (x1,x2))
^ (
mlt (y1,y2)))
. i) by
A1,
A36,
A43,
A42,
A34,
A33,
A41,
FINSEQ_1:def 7;
end;
end;
hence thesis by
A22,
Th4;
end;
(
len (
mlt ((x1
^ y1),(x2
^ y2))))
= (
len (x1
^ y1)) by
A4,
A8,
FINSEQ_1:def 3
.= ((
len x1)
+ (
len y1)) by
FINSEQ_1: 22;
then (
len (
mlt ((x1
^ y1),(x2
^ y2))))
= ((
len (
mlt (x1,x2)))
+ (
len (
mlt (y1,y2)))) by
A18,
A13,
FINSEQ_1:def 3;
then (
len (
mlt ((x1
^ y1),(x2
^ y2))))
= (
len ((
mlt (x1,x2))
^ (
mlt (y1,y2)))) by
FINSEQ_1: 22;
hence thesis by
A19,
FINSEQ_1: 14;
end;
notation
let K;
let e1,e2 be
FinSequence of K;
synonym
|(e1,e2)| for e1
"*" e2;
end
theorem ::
MATRIX14:8
Th8: for x,y be
FinSequence of K, a be
Element of K st (
len x)
= (
len y) holds (
mlt ((a
* x),y))
= (a
* (
mlt (x,y))) & (
mlt (x,(a
* y)))
= (a
* (
mlt (x,y)))
proof
let x,y be
FinSequence of K, a be
Element of K;
assume (
len x)
= (
len y);
then
reconsider y0 = y as
Element of ((
len x)
-tuples_on the
carrier of K) by
Th1;
reconsider x0 = x as
Element of ((
len x)
-tuples_on the
carrier of K) by
Th1;
thus (
mlt ((a
* x),y))
= (a
* (
mlt (x0,y0))) by
FVSUM_1: 69
.= (a
* (
mlt (x,y)));
thus (
mlt (x,(a
* y)))
= (a
* (
mlt (x0,y0))) by
FVSUM_1: 69
.= (a
* (
mlt (x,y)));
end;
theorem ::
MATRIX14:9
for x,y be
FinSequence of K, a be
Element of K st (
len x)
= (
len y) holds
|((a
* x), y)|
= (a
*
|(x, y)|)
proof
let x,y be
FinSequence of K, a be
Element of K;
assume (
len x)
= (
len y);
then (
Sum (
mlt ((a
* x),y)))
= (
Sum (a
* (
mlt (x,y)))) by
Th8;
then (
Sum (
mlt ((a
* x),y)))
= (a
* (
Sum (
mlt (x,y)))) by
FVSUM_1: 73;
then (
Sum (
mlt ((a
* x),y)))
= (a
*
|(x, y)|) by
FVSUM_1:def 9;
hence thesis by
FVSUM_1:def 9;
end;
theorem ::
MATRIX14:10
Th10: for x,y be
FinSequence of K, a be
Element of K st (
len x)
= (
len y) holds
|(x, (a
* y))|
= (a
*
|(x, y)|)
proof
let x,y be
FinSequence of K, a be
Element of K;
assume (
len x)
= (
len y);
then (
Sum (
mlt (x,(a
* y))))
= (
Sum (a
* (
mlt (x,y)))) by
Th8;
then (
Sum (
mlt (x,(a
* y))))
= (a
* (
Sum (
mlt (x,y)))) by
FVSUM_1: 73;
then (
Sum (
mlt (x,(a
* y))))
= (a
*
|(x, y)|) by
FVSUM_1:def 9;
hence thesis by
FVSUM_1:def 9;
end;
theorem ::
MATRIX14:11
Th11: for x,y1,y2 be
FinSequence of K, a be
Element of K st (
len x)
= (
len y1) & (
len x)
= (
len y2) holds
|(x, (y1
+ y2))|
= (
|(x, y1)|
+
|(x, y2)|)
proof
let x,y1,y2 be
FinSequence of K, a be
Element of K;
reconsider x0 = x as
Element of ((
len x)
-tuples_on the
carrier of K) by
Th1;
assume
A1: (
len x)
= (
len y1) & (
len x)
= (
len y2);
then
reconsider y10 = y1, y20 = y2 as
Element of ((
len x)
-tuples_on the
carrier of K) by
Th1;
(
Sum (
mlt (x,(y1
+ y2))))
= (
Sum ((
mlt (x0,y10))
+ (
mlt (x0,y20)))) by
A1,
MATRIX_4: 57;
then (
Sum (
mlt (x,(y1
+ y2))))
= ((
Sum (
mlt (x0,y10)))
+ (
Sum (
mlt (x0,y20)))) by
FVSUM_1: 76;
then (
Sum (
mlt (x,(y1
+ y2))))
= ((
Sum (
mlt (x,y1)))
+
|(x, y2)|) by
FVSUM_1:def 9;
then (
Sum (
mlt (x,(y1
+ y2))))
= (
|(x, y1)|
+
|(x, y2)|) by
FVSUM_1:def 9;
hence thesis by
FVSUM_1:def 9;
end;
theorem ::
MATRIX14:12
Th12: for x1,x2,y1,y2 be
FinSequence of K st (
len x1)
= (
len x2) & (
len y1)
= (
len y2) holds
|((x1
^ y1), (x2
^ y2))|
= (
|(x1, x2)|
+
|(y1, y2)|)
proof
let x1,x2,y1,y2 be
FinSequence of K;
A1: (
Sum ((
mlt (x1,x2))
^ (
mlt (y1,y2))))
= ((
Sum (
mlt (x1,x2)))
+ (
Sum (
mlt (y1,y2)))) by
RLVECT_1: 41;
assume (
len x1)
= (
len x2) & (
len y1)
= (
len y2);
then (
Sum (
mlt ((x1
^ y1),(x2
^ y2))))
= ((
Sum (
mlt (x1,x2)))
+ (
Sum (
mlt (y1,y2)))) by
A1,
Th7;
then
|((x1
^ y1), (x2
^ y2))|
= ((
Sum (
mlt (x1,x2)))
+ (
Sum (
mlt (y1,y2)))) by
FVSUM_1:def 9;
then
|((x1
^ y1), (x2
^ y2))|
= ((
Sum (
mlt (x1,x2)))
+
|(y1, y2)|) by
FVSUM_1:def 9;
hence thesis by
FVSUM_1:def 9;
end;
theorem ::
MATRIX14:13
Th13: for p1 be
Element of (n
-tuples_on the
carrier of K) holds (
mlt (p1,(n
|-> (
0. K))))
= (n
|-> (
0. K))
proof
let p1 be
Element of (n
-tuples_on the
carrier of K);
thus (
mlt (p1,(n
|-> (
0. K))))
= (
mlt (p1,((
0. K)
* (
0* (K,n))))) by
FVSUM_1: 58
.= ((
0. K)
* (
mlt (p1,(
0* (K,n))))) by
FVSUM_1: 69
.= (n
|-> (
0. K)) by
FVSUM_1: 58;
end;
notation
let n;
let K;
let A be
Matrix of n, K;
synonym
Inv A for A
~ ;
end
begin
theorem ::
MATRIX14:14
Th14: (
1. (K,
0 ))
= (
0. (K,
0 )) & (
1. (K,
0 ))
=
{}
proof
A1: (
len (
1. (K,
0 )))
=
0 by
MATRIX_0: 24;
hence (
1. (K,
0 ))
= (
0. (K,
0 ));
thus thesis by
A1;
end;
theorem ::
MATRIX14:15
Th15: for A be
Matrix of
0 , K holds A
=
{} & A
= (
1. (K,
0 )) & A
= (
0. (K,
0 ))
proof
let A be
Matrix of
0 , K;
A1: (
len A)
=
0 by
MATRIX_0: 24;
hence A
=
{} ;
hence A
= (
1. (K,
0 )) by
Th14;
thus thesis by
A1;
end;
theorem ::
MATRIX14:16
for A be
Matrix of
0 , K holds A is
invertible
proof
let A be
Matrix of
0 , K;
(A
* A)
= (
1. (K,
0 )) by
Th15;
then A
is_reverse_of A by
MATRIX_6:def 2;
hence thesis by
MATRIX_6:def 3;
end;
theorem ::
MATRIX14:17
Th17: for A,B,C be
Matrix of n, K holds ((A
* B)
* C)
= (A
* (B
* C))
proof
let A,B,C be
Matrix of n, K;
A1: (
width B)
= n & (
len C)
= n by
MATRIX_0: 24;
(
width A)
= n & (
len B)
= n by
MATRIX_0: 24;
hence thesis by
A1,
MATRIX_3: 33;
end;
theorem ::
MATRIX14:18
Th18: for A,B be
Matrix of n, K holds A is
invertible & B
= (A
~ ) iff (B
* A)
= (
1. (K,n)) & (A
* B)
= (
1. (K,n))
proof
let A,B be
Matrix of n, K;
hereby
assume A is
invertible & B
= (A
~ );
then B
is_reverse_of A by
MATRIX_6:def 4;
hence (B
* A)
= (
1. (K,n)) & (A
* B)
= (
1. (K,n)) by
MATRIX_6:def 2;
end;
hereby
assume (B
* A)
= (
1. (K,n)) & (A
* B)
= (
1. (K,n));
then
A1: B
is_reverse_of A by
MATRIX_6:def 2;
hence A is
invertible by
MATRIX_6:def 3;
hence B
= (A
~ ) by
A1,
MATRIX_6:def 4;
end;
end;
theorem ::
MATRIX14:19
Th19: for A be
Matrix of n, K holds A is
invertible iff ex B be
Matrix of n, K st (B
* A)
= (
1. (K,n)) & (A
* B)
= (
1. (K,n))
proof
let A be
Matrix of n, K;
thus A is
invertible implies ex B be
Matrix of n, K st (B
* A)
= (
1. (K,n)) & (A
* B)
= (
1. (K,n))
proof
assume A is
invertible;
then ((A
~ )
* A)
= (
1. (K,n)) & (A
* (A
~ ))
= (
1. (K,n)) by
Th18;
hence thesis;
end;
thus thesis by
Th18;
end;
theorem ::
MATRIX14:20
Th20: for x be
FinSequence of K holds
|(x, (
0* (K,(
len x))))|
= (
0. K)
proof
let x be
FinSequence of K;
set n = (
len x);
reconsider p1 = x as
Element of (n
-tuples_on the
carrier of K) by
FINSEQ_2: 92;
|(x, (
0* (K,n)))|
= (
Sum (
mlt (p1,(
0* (K,n))))) by
FVSUM_1:def 9
.= (
Sum (
0* (K,n))) by
Th13
.= (
0. K) by
MATRIX_3: 11;
hence thesis;
end;
theorem ::
MATRIX14:21
Th21: for x be
FinSequence of K holds
|((
0* (K,(
len x))), x)|
= (
0. K)
proof
let x be
FinSequence of K;
thus
|((
0* (K,(
len x))), x)|
=
|(x, (
0* (K,(
len x))))| by
FVSUM_1: 90
.= (
0. K) by
Th20;
end;
theorem ::
MATRIX14:22
Th22: for a be
Element of K holds
|(
<*(
0. K)*>,
<*a*>)|
= (
0. K)
proof
let a be
Element of K;
A1: (
len
<*a*>)
= 1 by
FINSEQ_1: 39;
thus
|(
<*(
0. K)*>,
<*a*>)|
=
|((
0* (K,1)),
<*a*>)| by
FINSEQ_2: 59
.= (
0. K) by
A1,
Th21;
end;
definition
let K;
let n,i be
Nat;
::
MATRIX14:def2
func
Base_FinSeq (K,n,i) ->
FinSequence of K equals (
Replace ((n
|-> (
0. K)),i,(
1. K)));
coherence ;
end
theorem ::
MATRIX14:23
Th23: for n,i be
Nat holds (
len (
Base_FinSeq (K,n,i)))
= n
proof
let n,i be
Nat;
(
len (
Replace ((n
|-> (
0. K)),i,(
1. K))))
= (
len (n
|-> (
0. K))) by
FINSEQ_7: 5
.= n by
CARD_1:def 7;
hence thesis;
end;
theorem ::
MATRIX14:24
Th24: for i,n be
Nat st 1
<= i & i
<= n holds ((
Base_FinSeq (K,n,i))
. i)
= (
1. K)
proof
let i,n be
Nat;
assume
A1: 1
<= i & i
<= n;
A2: (
len (n
|-> (
0. K)))
= n by
CARD_1:def 7;
(
len (
Replace ((n
|-> (
0. K)),i,(
1. K))))
= (
len (n
|-> (
0. K))) by
FINSEQ_7: 5
.= n by
CARD_1:def 7;
hence ((
Base_FinSeq (K,n,i))
. i)
= ((
Replace ((n
|-> (
0. K)),i,(
1. K)))
/. i) by
A1,
FINSEQ_4: 15
.= (
1. K) by
A1,
A2,
FINSEQ_7: 8;
end;
theorem ::
MATRIX14:25
Th25: for i,j,n be
Nat st 1
<= j & j
<= n & i
<> j holds ((
Base_FinSeq (K,n,i))
. j)
= (
0. K)
proof
let i,j,n be
Nat;
assume that
A1: 1
<= j & j
<= n and
A2: i
<> j;
A3: j
in (
Seg n) by
A1,
FINSEQ_1: 1;
A4: (
len (n
|-> (
0. K)))
= n by
CARD_1:def 7;
(
len (
Replace ((n
|-> (
0. K)),i,(
1. K))))
= (
len (n
|-> (
0. K))) by
FINSEQ_7: 5
.= n by
CARD_1:def 7;
hence ((
Base_FinSeq (K,n,i))
. j)
= ((
Replace ((n
|-> (
0. K)),i,(
1. K)))
/. j) by
A1,
FINSEQ_4: 15
.= ((n
|-> (
0. K))
/. j) by
A1,
A2,
A4,
FINSEQ_7: 10
.= ((n
|-> (
0. K))
. j) by
A1,
A4,
FINSEQ_4: 15
.= (
0. K) by
A3,
FINSEQ_2: 57;
end;
theorem ::
MATRIX14:26
Th26: for i,n be
Nat st 1
<= i & i
<= n holds ((
1. (K,n))
. i)
= (
Base_FinSeq (K,n,i))
proof
let i,n be
Nat;
assume
A1: 1
<= i & i
<= n;
then 1
<= n by
XXREAL_0: 2;
then
[i, 1]
in (
Indices (
1. (K,n))) by
A1,
MATRIX_0: 31;
then
consider q be
FinSequence of K such that
A2: q
= ((
1. (K,n))
. i) and ((
1. (K,n))
* (i,1))
= (q
. 1) by
MATRIX_0:def 5;
(
len (
1. (K,n)))
= n by
MATRIX_0: 24;
then i
in (
dom (
1. (K,n))) by
A1,
FINSEQ_3: 25;
then q
in (
rng (
1. (K,n))) by
A2,
FUNCT_1:def 3;
then
A3: (
len q)
= n by
MATRIX_0:def 2;
A4: for j be
Nat st 1
<= j & j
<= n holds (q
. j)
= ((
Base_FinSeq (K,n,i))
. j)
proof
let j be
Nat;
assume
A5: 1
<= j & j
<= n;
then
A6:
[i, j]
in (
Indices (
1. (K,n))) by
A1,
MATRIX_0: 31;
then
A7: ex q0 be
FinSequence of K st q0
= ((
1. (K,n))
. i) & ((
1. (K,n))
* (i,j))
= (q0
. j) by
MATRIX_0:def 5;
per cases ;
suppose
A8: i
= j;
then ((
1. (K,n))
* (i,i))
= (
1_ K) by
A6,
MATRIX_1:def 3;
hence thesis by
A1,
A2,
A7,
A8,
Th24;
end;
suppose
A9: i
<> j;
then (q
. j)
= (
0. K) by
A2,
A6,
A7,
MATRIX_1:def 3;
hence thesis by
A5,
A9,
Th25;
end;
end;
(
len (
Base_FinSeq (K,n,i)))
= n by
Th23;
hence thesis by
A2,
A3,
A4,
FINSEQ_1: 14;
end;
theorem ::
MATRIX14:27
Th27: for i, j st 1
<= i & i
<= n & 1
<= j & j
<= n holds ((
1. (K,n))
* (i,j))
= ((
Base_FinSeq (K,n,i))
. j)
proof
let i, j;
assume that
A1: 1
<= i & i
<= n and
A2: 1
<= j & j
<= n;
[i, j]
in (
Indices (
1. (K,n))) by
A1,
A2,
MATRIX_0: 31;
then ex p3 be
FinSequence of K st p3
= ((
1. (K,n))
. i) & ((
1. (K,n))
* (i,j))
= (p3
. j) by
MATRIX_0:def 5;
hence thesis by
A1,
Th26;
end;
theorem ::
MATRIX14:28
for A be
Matrix of n, K holds A
= (
0. (K,n)) iff for i,j be
Element of
NAT st 1
<= i & i
<= n & 1
<= j & j
<= n holds (A
* (i,j))
= (
0. K)
proof
let A be
Matrix of n, K;
thus A
= (
0. (K,n)) implies for i,j be
Element of
NAT st 1
<= i & i
<= n & 1
<= j & j
<= n holds (A
* (i,j))
= (
0. K)
proof
set A2 = (
0. (K,n)), B2 = (
0. (K,n));
set A3 = (
0. (K,n,n));
assume
A1: A
= (
0. (K,n));
let i,j be
Element of
NAT ;
assume 1
<= i & i
<= n & 1
<= j & j
<= n;
then
[i, j]
in (
Indices A2) by
MATRIX_0: 31;
then A3
= A2 & ((A2
+ B2)
* (i,j))
= ((A2
* (i,j))
+ (B2
* (i,j))) by
MATRIX_3:def 1,
MATRIX_3:def 3;
then (A2
* (i,j))
= ((A2
* (i,j))
+ (A2
* (i,j))) by
MATRIX_3: 4;
then ((A2
* (i,j))
- (A2
* (i,j)))
= ((A2
* (i,j))
+ ((A2
* (i,j))
- (A2
* (i,j)))) by
RLVECT_1: 28
.= ((A2
* (i,j))
+ (
0. K)) by
RLVECT_1: 15
.= (A2
* (i,j)) by
RLVECT_1: 4;
hence thesis by
A1,
RLVECT_1: 15;
end;
A2: (
len A)
= n by
MATRIX_0: 24;
A3: (
Indices A)
=
[:(
Seg n), (
Seg n):] by
MATRIX_0: 24;
A4: (
width A)
= n by
MATRIX_0: 24;
assume
A5: for i,j be
Element of
NAT st 1
<= i & i
<= n & 1
<= j & j
<= n holds (A
* (i,j))
= (
0. K);
for i,j be
Nat st
[i, j]
in (
Indices A) holds (A
* (i,j))
= ((A
* (i,j))
+ (A
* (i,j)))
proof
let i,j be
Nat;
reconsider i0 = i, j0 = j as
Element of
NAT by
ORDINAL1:def 12;
assume
A6:
[i, j]
in (
Indices A);
then j
in (
Seg n) by
A4,
ZFMISC_1: 87;
then
A7: 1
<= j & j
<= n by
FINSEQ_1: 1;
i
in (
Seg n) by
A3,
A6,
ZFMISC_1: 87;
then 1
<= i & i
<= n by
FINSEQ_1: 1;
then (A
* (i0,j0))
= (
0. K) by
A5,
A7;
hence thesis by
RLVECT_1: 4;
end;
then A
= (A
+ A) by
A2,
MATRIX_3:def 3;
then A
= (
0. (K,(
len A),(
width A))) by
MATRIX_4: 6;
hence thesis by
A2,
A4,
MATRIX_3:def 1;
end;
theorem ::
MATRIX14:29
Th29: for A be
Matrix of n, K holds A
= (
1. (K,n)) iff for i,j be
Nat st 1
<= i & i
<= n & 1
<= j & j
<= n holds (A
* (i,j))
= (
IFEQ (i,j,(
1. K),(
0. K)))
proof
let A be
Matrix of n, K;
A1: (
Indices A)
=
[:(
Seg n), (
Seg n):] by
MATRIX_0: 24;
thus A
= (
1. (K,n)) implies for i,j be
Nat st 1
<= i & i
<= n & 1
<= j & j
<= n holds (A
* (i,j))
= (
IFEQ (i,j,(
1. K),(
0. K)))
proof
assume
A2: A
= (
1. (K,n));
let i,j be
Nat;
assume 1
<= i & i
<= n & 1
<= j & j
<= n;
then
A3:
[i, j]
in (
Indices A) by
MATRIX_0: 31;
per cases ;
suppose
A4: i
= j;
then (A
* (i,j))
= (
1. K) by
A2,
A3,
MATRIX_1:def 3;
hence thesis by
A4,
FUNCOP_1:def 8;
end;
suppose
A5: i
<> j;
then (A
* (i,j))
= (
0. K) by
A2,
A3,
MATRIX_1:def 3;
hence thesis by
A5,
FUNCOP_1:def 8;
end;
end;
A6: (
len (
1. (K,n)))
= n & (
width (
1. (K,n)))
= n by
MATRIX_0: 24;
A7: (
Indices (
1. (K,n)))
=
[:(
Seg n), (
Seg n):] by
MATRIX_0: 24;
A8: (
width A)
= n by
MATRIX_0: 24;
thus (for i,j be
Nat st 1
<= i & i
<= n & 1
<= j & j
<= n holds (A
* (i,j))
= (
IFEQ (i,j,(
1. K),(
0. K)))) implies A
= (
1. (K,n))
proof
assume
A9: for i,j be
Nat st 1
<= i & i
<= n & 1
<= j & j
<= n holds (A
* (i,j))
= (
IFEQ (i,j,(
1. K),(
0. K)));
A10: for i,j be
Nat st
[i, j]
in (
Indices A) holds (A
* (i,j))
= ((
1. (K,n))
* (i,j))
proof
let i,j be
Nat;
reconsider i0 = i, j0 = j as
Element of
NAT by
ORDINAL1:def 12;
assume
A11:
[i, j]
in (
Indices A);
then j
in (
Seg n) by
A8,
ZFMISC_1: 87;
then
A12: 1
<= j & j
<= n by
FINSEQ_1: 1;
i
in (
Seg n) by
A1,
A11,
ZFMISC_1: 87;
then 1
<= i & i
<= n by
FINSEQ_1: 1;
then
A13: (A
* (i0,j0))
= (
IFEQ (i0,j0,(
1. K),(
0. K))) by
A9,
A12;
per cases ;
suppose
A14: i0
= j0;
then (A
* (i0,j0))
= (
1_ K) by
A13,
FUNCOP_1:def 8;
hence thesis by
A1,
A7,
A11,
A14,
MATRIX_1:def 3;
end;
suppose
A15: i0
<> j0;
then (A
* (i0,j0))
= (
0. K) by
A13,
FUNCOP_1:def 8;
hence thesis by
A1,
A7,
A11,
A15,
MATRIX_1:def 3;
end;
end;
(
len A)
= (
len (
1. (K,n))) & (
width A)
= (
width (
1. (K,n))) by
A6,
MATRIX_0: 24;
hence thesis by
A10,
MATRIX_0: 21;
end;
end;
begin
theorem ::
MATRIX14:30
Th30: for A,B be
Matrix of n, K holds ((A
* B)
@ )
= ((B
@ )
* (A
@ ))
proof
let A,B be
Matrix of n, K;
per cases ;
suppose
A1: n
<>
0 ;
A2: (
width B)
= n by
MATRIX_0: 24;
(
len B)
= n & (
width A)
= n by
MATRIX_0: 24;
hence thesis by
A1,
A2,
MATRIX_3: 22;
end;
suppose
A3: n
=
0 ;
hence ((A
* B)
@ )
= (
1. (K,n)) by
Th15
.= ((B
@ )
* (A
@ )) by
A3,
Th15;
end;
end;
theorem ::
MATRIX14:31
for A be
Matrix of n, K st A is
invertible holds (A
@ ) is
invertible & ((A
@ )
~ )
= ((A
~ )
@ )
proof
let A be
Matrix of n, K;
assume A is
invertible;
then
consider B be
Matrix of n, K such that
A1: (B
* A)
= (
1. (K,n)) and
A2: (A
* B)
= (
1. (K,n)) by
Th19;
((A
* B)
@ )
= ((B
@ )
* (A
@ )) by
Th30;
then
A3: ((B
@ )
* (A
@ ))
= (
1. (K,n)) by
A2,
MATRIX_6: 10;
((B
* A)
@ )
= ((A
@ )
* (B
@ )) by
Th30;
then
A4: ((A
@ )
* (B
@ ))
= (
1. (K,n)) by
A1,
MATRIX_6: 10;
B
= (A
~ ) by
A1,
A2,
Th18;
hence thesis by
A3,
A4,
Th18;
end;
theorem ::
MATRIX14:32
Th32: for x be
FinSequence of K, a be
Element of K st (ex i st 1
<= i & i
<= (
len x) & (x
. i)
= a & (for j st j
<> i & 1
<= j & j
<= (
len x) holds (x
. j)
= (
0. K))) holds (
Sum x)
= a
proof
let x be
FinSequence of K, a be
Element of K;
given i such that
A1: 1
<= i and
A2: i
<= (
len x) and
A3: (x
. i)
= a and
A4: for j st j
<> i & 1
<= j & j
<= (
len x) holds (x
. j)
= (
0. K);
1
<= (
len x) by
A1,
A2,
XXREAL_0: 2;
then
consider f be
sequence of the
carrier of K such that
A5: (f
. 1)
= (x
. 1) and
A6: for n be
Nat st
0
<> n & n
< (
len x) holds (f
. (n
+ 1))
= (the
addF of K
. ((f
. n),(x
. (n
+ 1)))) and
A7: (the
addF of K
"**" x)
= (f
. (
len x)) by
FINSOP_1:def 1;
A8: for j be
Nat st 1
<= j & j
< i holds (f
. j)
= (
0. K)
proof
defpred
P[
Nat] means 1
<= $1 & $1
< i implies (f
. $1)
= (
0. K);
let j be
Nat;
assume
A9: 1
<= j & j
< i;
A10: for k be
Nat st
P[k] holds
P[(k
+ 1)]
proof
let k be
Nat;
assume
A11:
P[k];
per cases ;
suppose
A12: not (1
<= k & k
< i);
now
per cases by
A12;
suppose
A13: 1
> k;
A14: 1
<= (1
+ k) by
NAT_1: 12;
1
>= (k
+ 1) by
A13,
NAT_1: 13;
then
A15: (k
+ 1)
= 1 by
A14,
XXREAL_0: 1;
now
per cases ;
suppose (k
+ 1)
< i;
then (k
+ 1)
< (
len x) by
A2,
XXREAL_0: 2;
hence thesis by
A4,
A5,
A15;
end;
suppose (k
+ 1)
>= i;
hence thesis;
end;
end;
hence thesis;
end;
suppose k
>= i;
hence thesis by
NAT_1: 12;
end;
end;
hence thesis;
end;
suppose
A16: 1
<= k & k
< i;
then
A17: (k
+ 1)
<= i by
NAT_1: 13;
A18: k
< (
len x) by
A2,
A16,
XXREAL_0: 2;
now
per cases by
A17,
XXREAL_0: 1;
suppose
A19: (k
+ 1)
< i;
then
A20: (k
+ 1)
< (
len x) by
A2,
XXREAL_0: 2;
(f
. (k
+ 1))
= (the
addF of K
. ((f
. k),(x
. (k
+ 1)))) by
A6,
A16,
A18
.= ((
0. K)
+ (
0. K)) by
A4,
A11,
A16,
A19,
A20,
NAT_1: 12
.= (
0. K) by
RLVECT_1: 4;
hence thesis;
end;
suppose (k
+ 1)
= i;
hence thesis;
end;
end;
hence thesis;
end;
end;
A21:
P[
0 ];
for l be
Nat holds
P[l] from
NAT_1:sch 2(
A21,
A10);
hence thesis by
A9;
end;
for j st i
<= j & j
<= (
len x) holds (f
. j)
= a
proof
defpred
P[
Nat] means i
<= $1 & $1
<= (
len x) implies (f
. $1)
= a;
let j;
assume
A22: i
<= j & j
<= (
len x);
A23: for k be
Nat st
P[k] holds
P[(k
+ 1)]
proof
let k be
Nat;
assume
A24:
P[k];
per cases ;
suppose not (i
<= (k
+ 1) & (k
+ 1)
<= (
len x));
hence thesis;
end;
suppose
A25: i
<= (k
+ 1) & (k
+ 1)
<= (
len x);
then
A26: k
< (
len x) by
NAT_1: 13;
A27: 1
<= (k
+ 1) by
A1,
A25,
XXREAL_0: 2;
now
per cases by
A25,
XXREAL_0: 1;
suppose
A28: i
< (k
+ 1);
A29: k
< (
len x) by
A25,
NAT_1: 13;
i
<= k by
A28,
NAT_1: 13;
then (f
. (k
+ 1))
= (the
addF of K
. ((f
. k),(x
. (k
+ 1)))) by
A1,
A6,
A29
.= (a
+ (
0. K)) by
A4,
A24,
A25,
A27,
A28,
NAT_1: 13
.= a by
RLVECT_1: 4;
hence thesis;
end;
suppose
A30: i
= (k
+ 1);
then
A31: k
< i by
NAT_1: 13;
now
per cases ;
suppose
A32: 1
<= k;
then (f
. (k
+ 1))
= (the
addF of K
. ((f
. k),(x
. (k
+ 1)))) by
A6,
A26
.= ((
0. K)
+ a) by
A3,
A8,
A30,
A31,
A32
.= a by
RLVECT_1: 4;
hence thesis;
end;
suppose k
< 1;
then
A33: (k
+ 1)
<= 1 by
NAT_1: 13;
1
<= (1
+ k) by
NAT_1: 12;
then i
= 1 by
A30,
A33,
XXREAL_0: 1;
hence thesis by
A3,
A5,
A33,
XXREAL_0: 1;
end;
end;
hence thesis;
end;
end;
hence thesis;
end;
end;
A34:
P[
0 ] by
A1;
for l be
Nat holds
P[l] from
NAT_1:sch 2(
A34,
A23);
hence thesis by
A22;
end;
then (f
. (
len x))
= a by
A2;
hence thesis by
A7,
FVSUM_1:def 8;
end;
theorem ::
MATRIX14:33
for f1,f2 be
FinSequence of K holds (
dom (
mlt (f1,f2)))
= ((
dom f1)
/\ (
dom f2)) & for i st i
in (
dom (
mlt (f1,f2))) holds ((
mlt (f1,f2))
. i)
= ((f1
/. i)
* (f2
/. i))
proof
let f1,f2 be
FinSequence of K;
A1: (
rng f2)
c= the
carrier of K by
FINSEQ_1:def 4;
(
dom the
multF of K)
=
[:the
carrier of K, the
carrier of K:] & (
rng f1)
c= the
carrier of K by
FINSEQ_1:def 4,
FUNCT_2:def 1;
then (
mlt (f1,f2))
= (the
multF of K
.: (f1,f2)) &
[:(
rng f1), (
rng f2):]
c= (
dom the
multF of K) by
A1,
FVSUM_1:def 7,
ZFMISC_1: 96;
hence (
dom (
mlt (f1,f2)))
= ((
dom f1)
/\ (
dom f2)) by
FUNCOP_1: 69;
thus thesis by
Th4;
end;
theorem ::
MATRIX14:34
Th34: for x,y be
FinSequence of K, i st (
len x)
= m & y
= (
mlt (x,(
Base_FinSeq (K,m,i)))) & 1
<= i & i
<= m holds (y
. i)
= (x
. i) & for j st j
<> i & 1
<= j & j
<= m holds (y
. j)
= (
0. K)
proof
let x,y be
FinSequence of K, i;
assume that
A1: (
len x)
= m and
A2: y
= (
mlt (x,(
Base_FinSeq (K,m,i)))) and
A3: 1
<= i and
A4: i
<= m;
A5: i
in (
dom x) by
A1,
A3,
A4,
FINSEQ_3: 25;
i
<= (
len (
Base_FinSeq (K,m,i))) by
A4,
Th23;
then
A6: ((
Base_FinSeq (K,m,i))
/. i)
= ((
Base_FinSeq (K,m,i))
. i) by
A3,
FINSEQ_4: 15;
A7: (
rng (
Base_FinSeq (K,m,i)))
c= the
carrier of K by
FINSEQ_1:def 4;
A8: (
len (
Base_FinSeq (K,m,i)))
= m by
Th23;
(
dom the
multF of K)
=
[:the
carrier of K, the
carrier of K:] & (
rng x)
c= the
carrier of K by
FINSEQ_1:def 4,
FUNCT_2:def 1;
then
[:(
rng x), (
rng (
Base_FinSeq (K,m,i))):]
c= (
dom the
multF of K) by
A7,
ZFMISC_1: 96;
then (
dom (the
multF of K
.: (x,(
Base_FinSeq (K,m,i)))))
= ((
dom x)
/\ (
dom (
Base_FinSeq (K,m,i)))) by
FUNCOP_1: 69;
then
A9: (
dom (
mlt (x,(
Base_FinSeq (K,m,i)))))
= ((
dom x)
/\ (
dom (
Base_FinSeq (K,m,i)))) by
FVSUM_1:def 7
.= ((
Seg m)
/\ (
dom (
Base_FinSeq (K,m,i)))) by
A1,
FINSEQ_1:def 3
.= ((
Seg m)
/\ (
Seg m)) by
A8,
FINSEQ_1:def 3
.= (
Seg m);
then i
in (
dom (
mlt (x,(
Base_FinSeq (K,m,i))))) by
A3,
A4,
FINSEQ_1: 1;
then ((
mlt (x,(
Base_FinSeq (K,m,i))))
. i)
= ((x
/. i)
* ((
Base_FinSeq (K,m,i))
/. i)) by
Th4
.= ((x
/. i)
* (
1. K)) by
A3,
A4,
A6,
Th24
.= (x
/. i)
.= (x
. i) by
A5,
PARTFUN1:def 6;
hence (y
. i)
= (x
. i) by
A2;
let j;
assume that
A10: j
<> i and
A11: 1
<= j and
A12: j
<= m;
j
<= (
len (
Base_FinSeq (K,m,i))) by
A12,
Th23;
then
A13: ((
Base_FinSeq (K,m,i))
/. j)
= ((
Base_FinSeq (K,m,i))
. j) by
A11,
FINSEQ_4: 15
.= (
0. K) by
A10,
A11,
A12,
Th25;
j
in (
dom (
mlt (x,(
Base_FinSeq (K,m,i))))) by
A9,
A11,
A12,
FINSEQ_1: 1;
then ((
mlt (x,(
Base_FinSeq (K,m,i))))
. j)
= ((x
/. j)
* ((
Base_FinSeq (K,m,i))
/. j)) by
Th4
.= (
0. K) by
A13;
hence thesis by
A2;
end;
theorem ::
MATRIX14:35
Th35: for x be
FinSequence of K st (
len x)
= m & 1
<= i & i
<= m holds
|(x, (
Base_FinSeq (K,m,i)))|
= (x
. i) &
|(x, (
Base_FinSeq (K,m,i)))|
= (x
/. i)
proof
let x be
FinSequence of K;
assume that
A1: (
len x)
= m and
A2: 1
<= i & i
<= m;
A3: for j st j
<> i & 1
<= j & j
<= m holds ((
mlt (x,(
Base_FinSeq (K,m,i))))
. j)
= (
0. K) by
A1,
A2,
Th34;
A4: (
len (
Base_FinSeq (K,m,i)))
= m by
Th23;
A5: (
rng (
Base_FinSeq (K,m,i)))
c= the
carrier of K by
FINSEQ_1:def 4;
(
dom the
multF of K)
=
[:the
carrier of K, the
carrier of K:] & (
rng x)
c= the
carrier of K by
FINSEQ_1:def 4,
FUNCT_2:def 1;
then
[:(
rng x), (
rng (
Base_FinSeq (K,m,i))):]
c= (
dom the
multF of K) by
A5,
ZFMISC_1: 96;
then (
dom (the
multF of K
.: (x,(
Base_FinSeq (K,m,i)))))
= ((
dom x)
/\ (
dom (
Base_FinSeq (K,m,i)))) by
FUNCOP_1: 69;
then (
dom (
mlt (x,(
Base_FinSeq (K,m,i)))))
= ((
dom x)
/\ (
dom (
Base_FinSeq (K,m,i)))) by
FVSUM_1:def 7
.= ((
Seg m)
/\ (
dom (
Base_FinSeq (K,m,i)))) by
A1,
FINSEQ_1:def 3
.= ((
Seg m)
/\ (
Seg m)) by
A4,
FINSEQ_1:def 3
.= (
Seg m);
then
A6: (
len (
mlt (x,(
Base_FinSeq (K,m,i)))))
= m by
FINSEQ_1:def 3;
A7: (x
/. i)
= (x
. i) by
A1,
A2,
FINSEQ_4: 15;
then ((
mlt (x,(
Base_FinSeq (K,m,i))))
. i)
= (x
/. i) by
A1,
A2,
Th34;
then
A8: (
Sum (
mlt (x,(
Base_FinSeq (K,m,i)))))
= (x
. i) by
A2,
A7,
A6,
A3,
Th32;
hence
|(x, (
Base_FinSeq (K,m,i)))|
= (x
. i) by
FVSUM_1:def 9;
(x
. i)
= (x
/. i) by
A1,
A2,
FINSEQ_4: 15;
hence thesis by
A8,
FVSUM_1:def 9;
end;
theorem ::
MATRIX14:36
Th36: for m, i st 1
<= i & i
<= m holds
|((
Base_FinSeq (K,m,i)), (
Base_FinSeq (K,m,i)))|
= (
1. K)
proof
let m, i;
assume
A1: 1
<= i & i
<= m;
(
len (
Base_FinSeq (K,m,i)))
= m by
Th23;
hence
|((
Base_FinSeq (K,m,i)), (
Base_FinSeq (K,m,i)))|
= ((
Base_FinSeq (K,m,i))
. i) by
A1,
Th35
.= (
1. K) by
A1,
Th24;
end;
theorem ::
MATRIX14:37
Th37: for a be
Element of K, P,Q be
Matrix of n, K st n
>
0 & a
<> (
0. K) & (P
* (1,1))
= (a
" ) & (for i st 1
< i & i
<= n holds (P
. i)
= (
Base_FinSeq (K,n,i))) & (Q
* (1,1))
= a & (for j st 1
< j & j
<= n holds (Q
* (1,j))
= (
- (a
* (P
* (1,j))))) & (for i st 1
< i & i
<= n holds (Q
. i)
= (
Base_FinSeq (K,n,i))) holds P is
invertible & Q
= (P
~ )
proof
let a be
Element of K, P,Q be
Matrix of n, K;
assume that
A1: n
>
0 and
A2: a
<> (
0. K) and
A3: (P
* (1,1))
= (a
" ) and
A4: for i st 1
< i & i
<= n holds (P
. i)
= (
Base_FinSeq (K,n,i)) and
A5: (Q
* (1,1))
= a and
A6: for j st 1
< j & j
<= n holds (Q
* (1,j))
= (
- (a
* (P
* (1,j)))) and
A7: for i st 1
< i & i
<= n holds (Q
. i)
= (
Base_FinSeq (K,n,i));
A8: (
0
+ 1)
<= n by
A1,
NAT_1: 13;
A9: (
len (
Base_FinSeq (K,n,1)))
= n by
Th23;
A10: (
len P)
= n by
MATRIX_0: 24;
A11: (
len ((a
" )
* (
Base_FinSeq (K,n,1))))
= (
len (
Base_FinSeq (K,n,1))) by
MATRIXR1: 16
.= n by
Th23;
A12: for k be
Nat st 1
<= k & k
<= n holds ((
Col (P,1))
. k)
= (((a
" )
* (
Base_FinSeq (K,n,1)))
. k)
proof
let k be
Nat;
A13: k
in
NAT by
ORDINAL1:def 12;
assume that
A14: 1
<= k and
A15: k
<= n;
A16: k
in (
Seg n) by
A14,
A15,
FINSEQ_1: 1;
then
A17: k
in (
dom P) by
A10,
FINSEQ_1:def 3;
A18:
now
[k, 1]
in (
Indices P) by
A8,
A14,
A15,
MATRIX_0: 31;
then
A19: ex p be
FinSequence of K st p
= (P
. k) & (P
* (k,1))
= (p
. 1) by
MATRIX_0:def 5;
assume
A20: k
<> 1;
then 1
< k by
A14,
XXREAL_0: 1;
then (P
* (k,1))
= ((
Base_FinSeq (K,n,k))
. 1) by
A4,
A13,
A15,
A19
.= (
0. K) by
A8,
A20,
Th25;
hence ((
Col (P,1))
. k)
= (
0. K) by
A17,
MATRIX_0:def 8;
end;
A21: ((
Base_FinSeq (K,n,1))
/. k)
= ((
Base_FinSeq (K,n,1))
. k) by
A9,
A14,
A15,
FINSEQ_4: 15;
A22:
now
assume
A23: k
= 1;
k
in (
dom ((a
" )
* (
Base_FinSeq (K,n,1)))) by
A11,
A16,
FINSEQ_1:def 3;
hence (((a
" )
* (
Base_FinSeq (K,n,1)))
. k)
= ((a
" )
* ((
Base_FinSeq (K,n,1))
/. k)) by
A21,
FVSUM_1: 50
.= ((a
" )
* (
1. K)) by
A15,
A21,
A23,
Th24
.= (a
" );
end;
A24: k
in (
dom ((a
" )
* (
Base_FinSeq (K,n,1)))) by
A11,
A14,
A15,
FINSEQ_3: 25;
A25:
now
assume
A26: k
<> 1;
thus (((a
" )
* (
Base_FinSeq (K,n,1)))
. k)
= ((a
" )
* ((
Base_FinSeq (K,n,1))
/. k)) by
A24,
A21,
FVSUM_1: 50
.= ((a
" )
* (
0. K)) by
A14,
A15,
A21,
A26,
Th25
.= (
0. K);
end;
1
<= n by
A14,
A15,
XXREAL_0: 2;
then 1
in (
dom P) by
A10,
FINSEQ_3: 25;
hence thesis by
A3,
A25,
A22,
A18,
MATRIX_0:def 8;
end;
A27: (
0
+ 1)
<= n by
A1,
NAT_1: 13;
A28: (
len Q)
= n by
MATRIX_0: 24;
then
A29: 1
in (
Seg (
len Q)) by
A27,
FINSEQ_1: 1;
then
A30: 1
in (
dom Q) by
FINSEQ_1:def 3;
A31: (
width Q)
= n by
MATRIX_0: 24;
then
A32: (
len (
Line (Q,1)))
= n by
MATRIX_0:def 7;
then
A33: 1
in (
dom (
Line (Q,1))) by
A28,
A29,
FINSEQ_1:def 3;
A34: for j st 1
< j & j
<= n holds (P
* (1,j))
= (
- ((a
" )
* (Q
* (1,j))))
proof
let j;
assume 1
< j & j
<= n;
then (
- ((a
" )
* (Q
* (1,j))))
= (
- ((a
" )
* (
- (a
* (P
* (1,j)))))) by
A6;
then (
- ((a
" )
* (Q
* (1,j))))
= (
- ((a
" )
* ((
- a)
* (P
* (1,j))))) by
VECTSP_1: 9;
then (
- ((a
" )
* (Q
* (1,j))))
= ((
- (a
" ))
* ((
- a)
* (P
* (1,j)))) by
VECTSP_1: 9;
then (
- ((a
" )
* (Q
* (1,j))))
= (((
- (a
" ))
* (
- a))
* (P
* (1,j))) by
GROUP_1:def 3;
then (
- ((a
" )
* (Q
* (1,j))))
= ((a
* (a
" ))
* (P
* (1,j))) by
VECTSP_1: 10;
then (
- ((a
" )
* (Q
* (1,j))))
= ((
1. K)
* (P
* (1,j))) by
A2,
VECTSP_1:def 10;
hence thesis;
end;
A35: for j st 1
< j & j
<= n holds ((Q
* P)
* (1,j))
= (
0. K)
proof
let j;
assume that
A36: 1
< j and
A37: j
<= n;
A38: (
len (
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1)))))
= (
len ((
- ((a
" )
* (Q
* (1,j))))
* (
Base_FinSeq (K,n,1)))) by
Th6
.= (
len (
Base_FinSeq (K,n,1))) by
MATRIXR1: 16
.= n by
Th23;
A39: j
in (
Seg n) by
A36,
A37,
FINSEQ_1: 1;
A40: 1
<= n by
A36,
A37,
XXREAL_0: 2;
then
A41: 1
in (
Seg (
width Q)) by
A31,
FINSEQ_1: 1;
(
len (
Line (Q,1)))
= n by
A31,
MATRIX_0:def 7;
then
A42: ((
Line (Q,1))
/. j)
= ((
Line (Q,1))
. j) by
A36,
A37,
FINSEQ_4: 15;
A43: ((
Line (Q,1))
/. 1)
= ((
Line (Q,1))
. 1) by
A32,
A40,
FINSEQ_4: 15
.= a by
A5,
A41,
MATRIX_0:def 7;
A44: (
len (
Col (P,j)))
= (
len P) by
MATRIX_0:def 8
.= n by
MATRIX_0: 24;
reconsider p = (
Col (P,j)), q = ((
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1))))
+ (
Base_FinSeq (K,n,j))) as
FinSequence of K;
A45: (
len (
Base_FinSeq (K,n,j)))
= n by
Th23;
A46: (
len ((
- ((a
" )
* (Q
* (1,j))))
* (
Base_FinSeq (K,n,1))))
= (
len (
Base_FinSeq (K,n,1))) by
MATRIXR1: 16
.= n by
Th23;
A47: for k be
Nat st 1
<= k & k
<= n holds (p
. k)
= (q
. k)
proof
A48: (
len ((
- ((a
" )
* (Q
* (1,j))))
* (
Base_FinSeq (K,n,1))))
= (
len (
Base_FinSeq (K,n,1))) by
MATRIXR1: 16
.= n by
Th23;
let k be
Nat;
assume that
A49: 1
<= k and
A50: k
<= n;
A51: k
in (
dom ((
- ((a
" )
* (Q
* (1,j))))
* (
Base_FinSeq (K,n,1)))) by
A46,
A49,
A50,
FINSEQ_3: 25;
(
len (
Base_FinSeq (K,n,1)))
= n by
Th23;
then
A52: ((
Base_FinSeq (K,n,1))
/. k)
= ((
Base_FinSeq (K,n,1))
. k) by
A49,
A50,
FINSEQ_4: 15;
k
in (
dom P) by
A10,
A49,
A50,
FINSEQ_3: 25;
then
A53: (p
. k)
= (P
* (k,j)) by
MATRIX_0:def 8;
A54: ((
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1))))
. k)
= (((
- ((a
" )
* (Q
* (1,j))))
* (
Base_FinSeq (K,n,1)))
. k) by
Th6
.= ((
- ((a
" )
* (Q
* (1,j))))
* ((
Base_FinSeq (K,n,1))
/. k)) by
A51,
A52,
FVSUM_1: 50;
per cases by
A49,
XXREAL_0: 1;
suppose
A55: 1
= k;
then 1
<= (
len (
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1))))) by
A50,
A48,
Th6;
then
A56: ((
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1))))
/. 1)
= ((
- ((a
" )
* (Q
* (1,j))))
* ((
Base_FinSeq (K,n,1))
/. 1)) by
A54,
A55,
FINSEQ_4: 15
.= ((
- ((a
" )
* (Q
* (1,j))))
* (
1. K)) by
A27,
A52,
A55,
Th24
.= (
- ((a
" )
* (Q
* (1,j))));
A57: (p
. 1)
= (
- ((a
" )
* (Q
* (1,j)))) by
A34,
A36,
A37,
A53,
A55;
((
Base_FinSeq (K,n,j))
/. 1)
= ((
Base_FinSeq (K,n,j))
. 1) by
A45,
A50,
A55,
FINSEQ_4: 15
.= (
0. K) by
A36,
A50,
A55,
Th25;
then (q
. 1)
= ((
- ((a
" )
* (Q
* (1,j))))
+ (
0. K)) by
A38,
A45,
A50,
A55,
A56,
Th5;
hence thesis by
A55,
A57,
RLVECT_1: 4;
end;
suppose
A58: 1
< k;
[k, j]
in (
Indices P) by
A36,
A37,
A49,
A50,
MATRIX_0: 31;
then
A59: ex p2 be
FinSequence of K st p2
= (P
. k) & (P
* (k,j))
= (p2
. j) by
MATRIX_0:def 5;
k
in
NAT by
ORDINAL1:def 12;
then
A60: (p
. k)
= ((
Base_FinSeq (K,n,k))
. j) by
A4,
A50,
A53,
A58,
A59;
now
per cases ;
suppose
A61: k
<> j;
(
len (
Base_FinSeq (K,n,1)))
= n by
Th23;
then ((
Base_FinSeq (K,n,1))
/. k)
= ((
Base_FinSeq (K,n,1))
. k) by
A49,
A50,
FINSEQ_4: 15;
then
A62: ((
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1))))
. k)
= ((
- ((a
" )
* (Q
* (1,j))))
* (
0. K)) by
A50,
A54,
A58,
Th25
.= (
0. K);
A63: ((
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1))))
/. k)
= ((
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1))))
. k) by
A38,
A49,
A50,
FINSEQ_4: 15;
A64: (p
. k)
= (
0. K) by
A36,
A37,
A60,
A61,
Th25;
((
Base_FinSeq (K,n,j))
/. k)
= ((
Base_FinSeq (K,n,j))
. k) by
A45,
A49,
A50,
FINSEQ_4: 15
.= (
0. K) by
A49,
A50,
A61,
Th25;
then (q
. k)
= ((
0. K)
+ (
0. K)) by
A38,
A45,
A49,
A50,
A63,
A62,
Th5;
hence thesis by
A64,
RLVECT_1: 4;
end;
suppose
A65: k
= j;
then
A66: (p
. k)
= (
1. K) by
A49,
A50,
A60,
Th24;
A67: ((
- (((a
" )
* (Q
* (1,k)))
* (
Base_FinSeq (K,n,1))))
/. k)
= ((
- (((a
" )
* (Q
* (1,k)))
* (
Base_FinSeq (K,n,1))))
. k) by
A38,
A49,
A50,
A65,
FINSEQ_4: 15;
(
len (
Base_FinSeq (K,n,1)))
= n by
Th23;
then ((
Base_FinSeq (K,n,1))
/. k)
= ((
Base_FinSeq (K,n,1))
. k) by
A49,
A50,
FINSEQ_4: 15;
then
A68: ((
- (((a
" )
* (Q
* (1,k)))
* (
Base_FinSeq (K,n,1))))
. k)
= ((
- ((a
" )
* (Q
* (1,k))))
* (
0. K)) by
A50,
A54,
A58,
A65,
Th25
.= (
0. K);
((
Base_FinSeq (K,n,k))
/. k)
= ((
Base_FinSeq (K,n,k))
. k) by
A45,
A49,
A50,
A65,
FINSEQ_4: 15
.= (
1. K) by
A36,
A37,
A65,
Th24;
then (q
. k)
= ((
0. K)
+ (
1. K)) by
A38,
A45,
A49,
A50,
A65,
A67,
A68,
Th5;
hence thesis by
A66,
RLVECT_1: 4;
end;
end;
hence thesis;
end;
end;
(
len ((
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1))))
+ (
Base_FinSeq (K,n,j))))
= n by
A38,
A45,
Th2;
then
A69: (
Col (P,j))
= ((
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1))))
+ (
Base_FinSeq (K,n,j))) by
A44,
A47,
FINSEQ_1: 14;
[1, j]
in (
Indices (Q
* P)) by
A27,
A36,
A37,
MATRIX_0: 31;
then ((Q
* P)
* (1,j))
=
|((
Line (Q,1)), (
Col (P,j)))| by
A10,
A31,
MATRIX_3:def 4
.= (
|((
Line (Q,1)), (
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1)))))|
+
|((
Line (Q,1)), (
Base_FinSeq (K,n,j)))|) by
A32,
A38,
A45,
A69,
Th11
.= (
|((
Line (Q,1)), ((
- ((a
" )
* (Q
* (1,j))))
* (
Base_FinSeq (K,n,1))))|
+
|((
Line (Q,1)), (
Base_FinSeq (K,n,j)))|) by
Th6
.= (((
- ((a
" )
* (Q
* (1,j))))
*
|((
Line (Q,1)), (
Base_FinSeq (K,n,1)))|)
+
|((
Line (Q,1)), (
Base_FinSeq (K,n,j)))|) by
A32,
A9,
Th10
.= (((
- ((a
" )
* (Q
* (1,j))))
* a)
+
|((
Line (Q,1)), (
Base_FinSeq (K,n,j)))|) by
A32,
A27,
A43,
Th35
.= ((
- (((a
" )
* (Q
* (1,j)))
* a))
+
|((
Line (Q,1)), (
Base_FinSeq (K,n,j)))|) by
VECTSP_1: 9
.= ((
- ((Q
* (1,j))
* ((a
" )
* a)))
+
|((
Line (Q,1)), (
Base_FinSeq (K,n,j)))|) by
GROUP_1:def 3
.= ((
- ((Q
* (1,j))
* (
1. K)))
+
|((
Line (Q,1)), (
Base_FinSeq (K,n,j)))|) by
A2,
VECTSP_1:def 10
.= ((
- ((Q
* (1,j))
* (
1. K)))
+ ((
Line (Q,1))
/. j)) by
A32,
A36,
A37,
Th35
.= ((
- (Q
* (1,j)))
+ ((
Line (Q,1))
/. j))
.= ((
- (Q
* (1,j)))
+ (Q
* (1,j))) by
A31,
A39,
A42,
MATRIX_0:def 7
.= (
0. K) by
RLVECT_1: 5;
hence thesis;
end;
A70: 1
in (
Seg (
width Q)) by
A31,
A27,
FINSEQ_1: 1;
A71: for i, j st 1
< i & i
<= n & i
= j holds ((Q
* P)
* (i,j))
= (
1. K)
proof
let i, j;
assume that
A72: 1
< i and
A73: i
<= n and
A74: i
= j;
A75: (
len (
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1)))))
= (
len ((
- ((a
" )
* (Q
* (1,j))))
* (
Base_FinSeq (K,n,1)))) by
Th6
.= (
len (
Base_FinSeq (K,n,1))) by
MATRIXR1: 16
.= n by
Th23;
[i, j]
in (
Indices Q) by
A72,
A73,
A74,
MATRIX_0: 31;
then
consider p1 be
FinSequence of K such that
A76: p1
= (Q
. i) and
A77: (Q
* (i,j))
= (p1
. j) by
MATRIX_0:def 5;
p1
= (
Base_FinSeq (K,n,i)) by
A7,
A72,
A73,
A76;
then
A78: (p1
. j)
= (
1. K) by
A72,
A73,
A74,
Th24;
[i, 1]
in (
Indices Q) by
A8,
A72,
A73,
MATRIX_0: 31;
then
consider p2 be
FinSequence of K such that
A79: p2
= (Q
. i) and
A80: (Q
* (i,1))
= (p2
. 1) by
MATRIX_0:def 5;
A81: (
width Q)
= n by
MATRIX_0: 24;
A82: j
in (
Seg n) by
A72,
A73,
A74,
FINSEQ_1: 1;
A83: (
len (
Col (P,j)))
= (
len P) by
MATRIX_0:def 8
.= n by
MATRIX_0: 24;
reconsider p = (
Col (P,j)), q = ((
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1))))
+ (
Base_FinSeq (K,n,j))) as
FinSequence of K;
A84: (
len (
Base_FinSeq (K,n,j)))
= n by
Th23;
A85: (
len ((
- ((a
" )
* (Q
* (1,j))))
* (
Base_FinSeq (K,n,1))))
= (
len (
Base_FinSeq (K,n,1))) by
MATRIXR1: 16
.= n by
Th23;
A86: for k be
Nat st 1
<= k & k
<= n holds (p
. k)
= (q
. k)
proof
A87: (
len ((
- ((a
" )
* (Q
* (1,j))))
* (
Base_FinSeq (K,n,1))))
= (
len (
Base_FinSeq (K,n,1))) by
MATRIXR1: 16
.= n by
Th23;
let k be
Nat;
assume that
A88: 1
<= k and
A89: k
<= n;
k
in (
Seg n) by
A88,
A89,
FINSEQ_1: 1;
then
A90: k
in (
dom ((
- ((a
" )
* (Q
* (1,j))))
* (
Base_FinSeq (K,n,1)))) by
A85,
FINSEQ_1:def 3;
(
len (
Base_FinSeq (K,n,1)))
= n by
Th23;
then
A91: ((
Base_FinSeq (K,n,1))
/. k)
= ((
Base_FinSeq (K,n,1))
. k) by
A88,
A89,
FINSEQ_4: 15;
k
in (
dom P) by
A10,
A88,
A89,
FINSEQ_3: 25;
then
A92: (p
. k)
= (P
* (k,j)) by
MATRIX_0:def 8;
A93: ((
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1))))
. k)
= (((
- ((a
" )
* (Q
* (1,j))))
* (
Base_FinSeq (K,n,1)))
. k) by
Th6
.= ((
- ((a
" )
* (Q
* (1,j))))
* ((
Base_FinSeq (K,n,1))
/. k)) by
A90,
A91,
FVSUM_1: 50;
per cases by
A88,
XXREAL_0: 1;
suppose
A94: 1
= k;
k
<= (
len (
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1))))) by
A89,
A87,
Th6;
then
A95: ((
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1))))
/. k)
= ((
- ((a
" )
* (Q
* (1,j))))
* ((
Base_FinSeq (K,n,1))
/. k)) by
A88,
A93,
FINSEQ_4: 15
.= ((
- ((a
" )
* (Q
* (1,j))))
* (
1. K)) by
A27,
A91,
A94,
Th24
.= (
- ((a
" )
* (Q
* (1,j))));
((
Base_FinSeq (K,n,j))
/. k)
= ((
Base_FinSeq (K,n,j))
. k) by
A84,
A88,
A89,
FINSEQ_4: 15
.= (
0. K) by
A72,
A74,
A89,
A94,
Th25;
then
A96: (q
. k)
= ((
- ((a
" )
* (Q
* (1,j))))
+ (
0. K)) by
A75,
A84,
A88,
A89,
A95,
Th5;
(p
. k)
= (
- ((a
" )
* (Q
* (1,j)))) by
A34,
A72,
A73,
A74,
A92,
A94;
hence thesis by
A96,
RLVECT_1: 4;
end;
suppose
A97: 1
< k;
[k, j]
in (
Indices P) by
A72,
A73,
A74,
A88,
A89,
MATRIX_0: 31;
then
A98: ex p2 be
FinSequence of K st p2
= (P
. k) & (P
* (k,j))
= (p2
. j) by
MATRIX_0:def 5;
k
in
NAT by
ORDINAL1:def 12;
then
A99: (p
. k)
= ((
Base_FinSeq (K,n,k))
. j) by
A4,
A89,
A92,
A97,
A98;
now
per cases ;
suppose
A100: k
<> j;
(
len (
Base_FinSeq (K,n,1)))
= n by
Th23;
then ((
Base_FinSeq (K,n,1))
/. k)
= ((
Base_FinSeq (K,n,1))
. k) by
A88,
A89,
FINSEQ_4: 15;
then
A101: ((
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1))))
. k)
= ((
- ((a
" )
* (Q
* (1,j))))
* (
0. K)) by
A89,
A93,
A97,
Th25
.= (
0. K);
A102: ((
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1))))
/. k)
= ((
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1))))
. k) by
A75,
A88,
A89,
FINSEQ_4: 15;
A103: (p
. k)
= (
0. K) by
A72,
A73,
A74,
A99,
A100,
Th25;
((
Base_FinSeq (K,n,j))
/. k)
= ((
Base_FinSeq (K,n,j))
. k) by
A84,
A88,
A89,
FINSEQ_4: 15
.= (
0. K) by
A88,
A89,
A100,
Th25;
then (q
. k)
= ((
0. K)
+ (
0. K)) by
A75,
A84,
A88,
A89,
A102,
A101,
Th5;
hence thesis by
A103,
RLVECT_1: 4;
end;
suppose
A104: k
= j;
(
len (
Base_FinSeq (K,n,1)))
= n by
Th23;
then ((
Base_FinSeq (K,n,1))
/. k)
= ((
Base_FinSeq (K,n,1))
. k) by
A88,
A89,
FINSEQ_4: 15;
then
A105: ((
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1))))
. k)
= ((
- ((a
" )
* (Q
* (1,j))))
* (
0. K)) by
A89,
A93,
A97,
Th25
.= (
0. K);
A106: ((
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1))))
/. k)
= ((
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1))))
. k) by
A75,
A88,
A89,
FINSEQ_4: 15;
A107: (p
. k)
= (
1. K) by
A88,
A89,
A99,
A104,
Th24;
((
Base_FinSeq (K,n,j))
/. k)
= ((
Base_FinSeq (K,n,j))
. k) by
A84,
A88,
A89,
FINSEQ_4: 15
.= (
1. K) by
A88,
A89,
A104,
Th24;
then (q
. k)
= ((
0. K)
+ (
1. K)) by
A75,
A84,
A88,
A89,
A106,
A105,
Th5;
hence thesis by
A107,
RLVECT_1: 4;
end;
end;
hence thesis;
end;
end;
(
len ((
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1))))
+ (
Base_FinSeq (K,n,j))))
= n by
A75,
A84,
Th2;
then
A108: (
Col (P,j))
= ((
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1))))
+ (
Base_FinSeq (K,n,j))) by
A83,
A86,
FINSEQ_1: 14;
A109: (
len (
Line (Q,i)))
= n by
A31,
MATRIX_0:def 7;
then
A110: ((
Line (Q,i))
/. 1)
= ((
Line (Q,i))
. 1) by
A27,
FINSEQ_4: 15
.= (Q
* (i,1)) by
A70,
MATRIX_0:def 7;
A111: ((
Line (Q,i))
/. j)
= ((
Line (Q,i))
. j) by
A72,
A73,
A74,
A109,
FINSEQ_4: 15
.= (Q
* (i,j)) by
A82,
A81,
MATRIX_0:def 7;
[i, j]
in (
Indices (Q
* P)) by
A72,
A73,
A74,
MATRIX_0: 31;
then
A112: ((Q
* P)
* (i,j))
=
|((
Line (Q,i)), (
Col (P,j)))| by
A10,
A81,
MATRIX_3:def 4
.= (
|((
Line (Q,i)), (
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1)))))|
+
|((
Line (Q,i)), (
Base_FinSeq (K,n,j)))|) by
A75,
A84,
A108,
A109,
Th11
.= (
|((
Line (Q,i)), ((
- ((a
" )
* (Q
* (1,j))))
* (
Base_FinSeq (K,n,1))))|
+
|((
Line (Q,i)), (
Base_FinSeq (K,n,j)))|) by
Th6
.= (((
- ((a
" )
* (Q
* (1,j))))
*
|((
Line (Q,i)), (
Base_FinSeq (K,n,1)))|)
+
|((
Line (Q,i)), (
Base_FinSeq (K,n,j)))|) by
A9,
A109,
Th10
.= (((
- ((a
" )
* (Q
* (1,j))))
* (Q
* (i,1)))
+
|((
Line (Q,i)), (
Base_FinSeq (K,n,j)))|) by
A27,
A109,
A110,
Th35
.= ((
- (((Q
* (1,j))
* (a
" ))
* (Q
* (i,1))))
+
|((
Line (Q,i)), (
Base_FinSeq (K,n,j)))|) by
VECTSP_1: 9
.= ((
- ((Q
* (1,j))
* ((a
" )
* (Q
* (i,1)))))
+
|((
Line (Q,i)), (
Base_FinSeq (K,n,j)))|) by
GROUP_1:def 3
.= ((
- ((Q
* (1,j))
* ((a
" )
* (Q
* (i,1)))))
+ (Q
* (i,j))) by
A72,
A73,
A74,
A109,
A111,
Th35;
A113: 1
<= n by
A72,
A73,
XXREAL_0: 2;
p2
= (
Base_FinSeq (K,n,i)) by
A7,
A72,
A73,
A79;
hence ((Q
* P)
* (i,j))
= ((
- ((Q
* (1,j))
* ((a
" )
* (
0. K))))
+ (Q
* (i,j))) by
A72,
A113,
A112,
A80,
Th25
.= ((
- ((Q
* (1,j))
* (
0. K)))
+ (Q
* (i,j)))
.= ((
- (
0. K))
+ (Q
* (i,j)))
.= ((
0. K)
+ (
1. K)) by
A77,
A78,
RLVECT_1: 12
.= (
1. K) by
RLVECT_1: 4;
end;
A114: (
Indices P)
=
[:(
Seg n), (
Seg n):] by
MATRIX_0: 24;
A115: for i, j st 1
< i & i
<= n & 1
<= j & j
<= n & i
<> j holds ((Q
* P)
* (i,j))
= (
0. K)
proof
A116: (
len ((a
" )
* (
Base_FinSeq (K,n,1))))
= (
len (
Base_FinSeq (K,n,1))) by
MATRIXR1: 16
.= n by
Th23;
let i, j;
assume that
A117: 1
< i and
A118: i
<= n and
A119: 1
<= j and
A120: j
<= n and
A121: i
<> j;
A122:
[i, j]
in (
Indices (Q
* P)) by
A117,
A118,
A119,
A120,
MATRIX_0: 31;
A123: j
in (
Seg n) by
A119,
A120,
FINSEQ_1: 1;
A124: (
len ((
- ((a
" )
* (Q
* (1,j))))
* (
Base_FinSeq (K,n,1))))
= (
len (
Base_FinSeq (K,n,1))) by
MATRIXR1: 16
.= n by
Th23;
A125: (
len (
Col (P,j)))
= (
len P) by
MATRIX_0:def 8
.= n by
MATRIX_0: 24;
A126:
[i, 1]
in (
Indices Q) by
A27,
A117,
A118,
MATRIX_0: 31;
A127: (
len (
Base_FinSeq (K,n,j)))
= n by
Th23;
A128: (
len (
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1)))))
= (
len ((
- ((a
" )
* (Q
* (1,j))))
* (
Base_FinSeq (K,n,1)))) by
Th6
.= (
len (
Base_FinSeq (K,n,1))) by
MATRIXR1: 16
.= n by
Th23;
then
A129: (
len ((
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1))))
+ (
Base_FinSeq (K,n,j))))
= n by
A127,
Th2;
A130:
[i, j]
in (
Indices Q) by
A117,
A118,
A119,
A120,
MATRIX_0: 31;
now
per cases ;
suppose
A131: j
> 1;
reconsider p = (
Col (P,j)), q = ((
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1))))
+ (
Base_FinSeq (K,n,j))) as
FinSequence of K;
for k be
Nat st 1
<= k & k
<= n holds (p
. k)
= (q
. k)
proof
let k be
Nat;
assume that
A132: 1
<= k and
A133: k
<= n;
k
in (
Seg n) by
A132,
A133,
FINSEQ_1: 1;
then
A134: k
in (
dom ((
- ((a
" )
* (Q
* (1,j))))
* (
Base_FinSeq (K,n,1)))) by
A124,
FINSEQ_1:def 3;
(
len (
Base_FinSeq (K,n,1)))
= n by
Th23;
then
A135: ((
Base_FinSeq (K,n,1))
/. k)
= ((
Base_FinSeq (K,n,1))
. k) by
A132,
A133,
FINSEQ_4: 15;
k
in (
dom P) by
A10,
A132,
A133,
FINSEQ_3: 25;
then
A136: (p
. k)
= (P
* (k,j)) by
MATRIX_0:def 8;
A137: ((
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1))))
. k)
= (((
- ((a
" )
* (Q
* (1,j))))
* (
Base_FinSeq (K,n,1)))
. k) by
Th6
.= ((
- ((a
" )
* (Q
* (1,j))))
* ((
Base_FinSeq (K,n,1))
/. k)) by
A134,
A135,
FVSUM_1: 50;
(
len (
Base_FinSeq (K,n,1)))
= n by
Th23;
then
A138: ((
Base_FinSeq (K,n,1))
/. k)
= ((
Base_FinSeq (K,n,1))
. k) by
A132,
A133,
FINSEQ_4: 15;
per cases by
A132,
XXREAL_0: 1;
suppose
A139: 1
= k;
then
A140: ((
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1))))
. k)
= ((
- ((a
" )
* (Q
* (1,j))))
* (
1. K)) by
A27,
A135,
A137,
Th24;
A141: ((
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1))))
/. k)
= ((
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1))))
. k) by
A128,
A132,
A133,
FINSEQ_4: 15;
((
Base_FinSeq (K,n,j))
/. k)
= ((
Base_FinSeq (K,n,j))
. k) by
A127,
A132,
A133,
FINSEQ_4: 15
.= (
0. K) by
A131,
A133,
A139,
Th25;
then (q
. k)
= (((
- ((a
" )
* (Q
* (1,j))))
* (
1. K))
+ (
0. K)) by
A128,
A127,
A132,
A133,
A141,
A140,
Th5
.= ((
- ((a
" )
* (Q
* (1,j))))
* (
1. K)) by
RLVECT_1: 4
.= (
- ((a
" )
* (Q
* (1,j))));
hence thesis by
A34,
A120,
A131,
A136,
A139;
end;
suppose
A142: 1
< k;
[k, j]
in (
Indices P) by
A119,
A120,
A132,
A133,
MATRIX_0: 31;
then
A143: ex p2 be
FinSequence of K st p2
= (P
. k) & (P
* (k,j))
= (p2
. j) by
MATRIX_0:def 5;
k
in
NAT by
ORDINAL1:def 12;
then
A144: (p
. k)
= ((
Base_FinSeq (K,n,k))
. j) by
A4,
A133,
A136,
A142,
A143;
now
per cases ;
suppose
A145: k
<> j;
((
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1))))
/. k)
= ((
- ((a
" )
* (Q
* (1,j))))
* ((
Base_FinSeq (K,n,1))
/. k)) by
A128,
A132,
A133,
A137,
FINSEQ_4: 15
.= ((
- ((a
" )
* (Q
* (1,j))))
* (
0. K)) by
A133,
A138,
A142,
Th25
.= (
0. K);
then (q
. k)
= ((
0. K)
+ ((
Base_FinSeq (K,n,j))
/. k)) by
A128,
A127,
A132,
A133,
Th5
.= ((
Base_FinSeq (K,n,j))
/. k) by
RLVECT_1: 4
.= ((
Base_FinSeq (K,n,j))
. k) by
A127,
A132,
A133,
FINSEQ_4: 15
.= (
0. K) by
A132,
A133,
A145,
Th25;
hence thesis by
A119,
A120,
A144,
A145,
Th25;
end;
suppose
A146: k
= j;
((
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1))))
/. k)
= ((
- ((a
" )
* (Q
* (1,j))))
* ((
Base_FinSeq (K,n,1))
/. k)) by
A128,
A132,
A133,
A137,
FINSEQ_4: 15
.= ((
- ((a
" )
* (Q
* (1,j))))
* (
0. K)) by
A133,
A138,
A142,
Th25
.= (
0. K);
then (q
. k)
= ((
0. K)
+ ((
Base_FinSeq (K,n,j))
/. k)) by
A128,
A127,
A132,
A133,
Th5
.= ((
Base_FinSeq (K,n,j))
/. k) by
RLVECT_1: 4
.= ((
Base_FinSeq (K,n,j))
. k) by
A127,
A132,
A133,
FINSEQ_4: 15
.= (
1. K) by
A119,
A120,
A146,
Th24;
hence thesis by
A132,
A133,
A144,
A146,
Th24;
end;
end;
hence thesis;
end;
end;
then
A147: (
Col (P,j))
= ((
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1))))
+ (
Base_FinSeq (K,n,j))) by
A125,
A129,
FINSEQ_1: 14;
A148: 1
<= n by
A117,
A118,
XXREAL_0: 2;
A149: (
width Q)
= n by
MATRIX_0: 24;
then
A150: (
len (
Line (Q,i)))
= n by
MATRIX_0:def 7;
then
A151: ((
Line (Q,i))
/. j)
= ((
Line (Q,i))
. j) by
A119,
A120,
FINSEQ_4: 15
.= (Q
* (i,j)) by
A123,
A149,
MATRIX_0:def 7;
A152: ((
Line (Q,i))
/. 1)
= ((
Line (Q,i))
. 1) by
A27,
A150,
FINSEQ_4: 15
.= (Q
* (i,1)) by
A70,
MATRIX_0:def 7;
A153: ((Q
* P)
* (i,j))
=
|((
Line (Q,i)), (
Col (P,j)))| by
A10,
A122,
A149,
MATRIX_3:def 4
.= (
|((
Line (Q,i)), (
- (((a
" )
* (Q
* (1,j)))
* (
Base_FinSeq (K,n,1)))))|
+
|((
Line (Q,i)), (
Base_FinSeq (K,n,j)))|) by
A128,
A127,
A147,
A150,
Th11
.= (
|((
Line (Q,i)), ((
- ((a
" )
* (Q
* (1,j))))
* (
Base_FinSeq (K,n,1))))|
+
|((
Line (Q,i)), (
Base_FinSeq (K,n,j)))|) by
Th6
.= (((
- ((a
" )
* (Q
* (1,j))))
*
|((
Line (Q,i)), (
Base_FinSeq (K,n,1)))|)
+
|((
Line (Q,i)), (
Base_FinSeq (K,n,j)))|) by
A9,
A150,
Th10
.= (((
- ((a
" )
* (Q
* (1,j))))
* (Q
* (i,1)))
+
|((
Line (Q,i)), (
Base_FinSeq (K,n,j)))|) by
A27,
A150,
A152,
Th35
.= ((
- (((Q
* (1,j))
* (a
" ))
* (Q
* (i,1))))
+
|((
Line (Q,i)), (
Base_FinSeq (K,n,j)))|) by
VECTSP_1: 9
.= ((
- ((Q
* (1,j))
* ((a
" )
* (Q
* (i,1)))))
+
|((
Line (Q,i)), (
Base_FinSeq (K,n,j)))|) by
GROUP_1:def 3
.= ((
- ((Q
* (1,j))
* ((a
" )
* (Q
* (i,1)))))
+ (Q
* (i,j))) by
A119,
A120,
A150,
A151,
Th35;
consider p2 be
FinSequence of K such that
A154: p2
= (Q
. i) and
A155: (Q
* (i,1))
= (p2
. 1) by
A126,
MATRIX_0:def 5;
consider p1 be
FinSequence of K such that
A156: p1
= (Q
. i) and
A157: (Q
* (i,j))
= (p1
. j) by
A130,
MATRIX_0:def 5;
p1
= (
Base_FinSeq (K,n,i)) by
A7,
A117,
A118,
A156;
then
A158: (p1
. j)
= (
0. K) by
A119,
A120,
A121,
Th25;
p2
= (
Base_FinSeq (K,n,i)) by
A7,
A117,
A118,
A154;
hence ((Q
* P)
* (i,j))
= ((
- ((Q
* (1,j))
* ((a
" )
* (
0. K))))
+ (Q
* (i,j))) by
A117,
A148,
A153,
A155,
Th25
.= ((
- ((Q
* (1,j))
* (
0. K)))
+ (Q
* (i,j)))
.= ((
- (
0. K))
+ (Q
* (i,j)))
.= ((
0. K)
+ (
0. K)) by
A157,
A158,
RLVECT_1: 12
.= (
0. K) by
RLVECT_1: 4;
end;
suppose
A159: j
<= 1;
reconsider p = (
Col (P,j)), q = ((a
" )
* (
Base_FinSeq (K,n,1))) as
FinSequence of K;
A160: for k be
Nat st 1
<= k & k
<= n holds (p
. k)
= (q
. k)
proof
let k be
Nat;
assume that
A161: 1
<= k and
A162: k
<= n;
A163: (
len (
Base_FinSeq (K,n,1)))
= n by
Th23;
then
A164: ((
Base_FinSeq (K,n,1))
/. k)
= ((
Base_FinSeq (K,n,1))
. k) by
A161,
A162,
FINSEQ_4: 15;
A165: k
in (
Seg n) by
A161,
A162,
FINSEQ_1: 1;
then k
in (
dom ((a
" )
* (
Base_FinSeq (K,n,1)))) by
A116,
FINSEQ_1:def 3;
then
A166: (((a
" )
* (
Base_FinSeq (K,n,1)))
. k)
= ((a
" )
* ((
Base_FinSeq (K,n,1))
/. k)) by
A164,
FVSUM_1: 50;
k
in (
dom P) by
A10,
A161,
A162,
FINSEQ_3: 25;
then
A167: (p
. k)
= (P
* (k,j)) by
MATRIX_0:def 8;
per cases by
A161,
XXREAL_0: 1;
suppose
A168: 1
= k;
then (q
. k)
= ((a
" )
* (
1. K)) by
A162,
A164,
A166,
Th24
.= (a
" );
hence thesis by
A3,
A119,
A159,
A167,
A168,
XXREAL_0: 1;
end;
suppose
A169: 1
< k;
[k, j]
in (
Indices P) by
A114,
A123,
A165,
ZFMISC_1: 87;
then
A170: ex p2 be
FinSequence of K st p2
= (P
. k) & (P
* (k,j))
= (p2
. j) by
MATRIX_0:def 5;
k
in
NAT by
ORDINAL1:def 12;
then
A171: (p
. k)
= ((
Base_FinSeq (K,n,k))
. j) by
A4,
A162,
A167,
A169,
A170;
now
per cases ;
suppose
A172: k
<> j;
((
Base_FinSeq (K,n,1))
/. k)
= ((
Base_FinSeq (K,n,1))
. k) by
A161,
A162,
A163,
FINSEQ_4: 15;
then ((a
" )
* ((
Base_FinSeq (K,n,1))
/. k))
= ((a
" )
* (
0. K)) by
A162,
A169,
Th25
.= (
0. K);
hence thesis by
A119,
A120,
A166,
A171,
A172,
Th25;
end;
suppose k
= j;
hence thesis by
A159,
A169;
end;
end;
hence thesis;
end;
end;
A173: 1
<= n by
A117,
A118,
XXREAL_0: 2;
A174: (
width Q)
= n by
MATRIX_0: 24;
then
A175: (
len (
Line (Q,i)))
= n by
MATRIX_0:def 7;
then
A176: ((
Line (Q,i))
/. 1)
= ((
Line (Q,i))
. 1) by
A27,
FINSEQ_4: 15
.= (Q
* (i,1)) by
A70,
MATRIX_0:def 7;
A177: ((Q
* P)
* (i,j))
=
|((
Line (Q,i)), (
Col (P,j)))| by
A10,
A122,
A174,
MATRIX_3:def 4
.=
|((
Line (Q,i)), ((a
" )
* (
Base_FinSeq (K,n,1))))| by
A125,
A116,
A160,
FINSEQ_1: 14
.= ((a
" )
*
|((
Line (Q,i)), (
Base_FinSeq (K,n,1)))|) by
A9,
A175,
Th10
.= ((a
" )
* (Q
* (i,1))) by
A27,
A175,
A176,
Th35;
consider p2 be
FinSequence of K such that
A178: p2
= (Q
. i) and
A179: (Q
* (i,1))
= (p2
. 1) by
A126,
MATRIX_0:def 5;
p2
= (
Base_FinSeq (K,n,i)) by
A7,
A117,
A118,
A178;
hence ((Q
* P)
* (i,j))
= ((a
" )
* (
0. K)) by
A117,
A173,
A177,
A179,
Th25
.= (
0. K);
end;
end;
hence thesis;
end;
(
len (
Col (P,1)))
= (
len P) by
MATRIX_0:def 8
.= n by
MATRIX_0: 24;
then
A180: (
Col (P,1))
= ((a
" )
* (
Base_FinSeq (K,n,1))) by
A11,
A12,
FINSEQ_1: 14;
A181: (
Indices (Q
* P))
=
[:(
Seg n), (
Seg n):] by
MATRIX_0: 24;
A182: (
len ((a
" )
* (
Line (Q,1))))
= (
len (
Line (Q,1))) by
MATRIXR1: 16
.= n by
A31,
MATRIX_0:def 7;
(
Indices Q)
=
[:(
Seg n), (
Seg n):] &
[1, 1]
in (
Indices Q) by
A27,
MATRIX_0: 24,
MATRIX_0: 31;
then
A183: ((Q
* P)
* (1,1))
=
|((
Line (Q,1)), (
Col (P,1)))| by
A10,
A31,
A181,
MATRIX_3:def 4
.= ((a
" )
*
|((
Line (Q,1)), (
Base_FinSeq (K,n,1)))|) by
A32,
A9,
A180,
Th10
.= ((a
" )
* ((
Line (Q,1))
/. 1)) by
A32,
A27,
Th35
.= (((a
" )
* (
Line (Q,1)))
/. 1) by
A33,
POLYNOM1:def 1
.= (((a
" )
* (
Line (Q,1)))
. 1) by
A27,
A182,
FINSEQ_4: 15
.= ((a
" )
* (Q
* (1,1))) by
A70,
A30,
MATRIX12: 3
.= (
1. K) by
A2,
A5,
VECTSP_1:def 10;
for i,j be
Nat st
[i, j]
in (
Indices (Q
* P)) holds ((Q
* P)
* (i,j))
= ((
1. (K,n))
* (i,j))
proof
let i,j be
Nat;
reconsider i0 = i, j0 = j as
Element of
NAT by
ORDINAL1:def 12;
assume
A184:
[i, j]
in (
Indices (Q
* P));
then
A185: i
in (
Seg n) by
A181,
ZFMISC_1: 87;
then
A186: 1
<= i by
FINSEQ_1: 1;
A187: i
<= n by
A185,
FINSEQ_1: 1;
A188: j
in (
Seg n) by
A181,
A184,
ZFMISC_1: 87;
then
A189: 1
<= j by
FINSEQ_1: 1;
A190: j
<= n by
A188,
FINSEQ_1: 1;
per cases by
A186,
XXREAL_0: 1;
suppose
A191: 1
< i;
now
per cases ;
suppose
A192: i
<> j;
A193: ((
1. (K,n))
* (i,j))
= ((
Base_FinSeq (K,n,i0))
. j0) by
A186,
A187,
A189,
A190,
Th27
.= (
0. K) by
A189,
A190,
A192,
Th25;
thus ((Q
* P)
* (i,j))
= ((Q
* P)
* (i0,j0))
.= ((
1. (K,n))
* (i,j)) by
A115,
A187,
A189,
A190,
A191,
A192,
A193;
end;
suppose
A194: i
= j;
A195: ((
1. (K,n))
* (i,j))
= ((
Base_FinSeq (K,n,i0))
. j0) by
A186,
A187,
A189,
A190,
Th27
.= (
1. K) by
A189,
A190,
A194,
Th24;
thus ((Q
* P)
* (i,j))
= ((Q
* P)
* (i0,j0))
.= ((
1. (K,n))
* (i,j)) by
A71,
A190,
A191,
A194,
A195;
end;
end;
hence thesis;
end;
suppose
A196: 1
= i;
now
per cases ;
suppose
A197: i
< j;
A198: ((
1. (K,n))
* (i,j))
= ((
Base_FinSeq (K,n,i0))
. j0) by
A186,
A187,
A189,
A190,
Th27
.= (
0. K) by
A189,
A190,
A197,
Th25;
thus ((Q
* P)
* (i,j))
= ((Q
* P)
* (i0,j0))
.= ((
1. (K,n))
* (i,j)) by
A35,
A190,
A196,
A197,
A198;
end;
suppose
A199: i
>= j;
then
A200: i
= j by
A189,
A196,
XXREAL_0: 1;
((
1. (K,n))
* (i,j))
= ((
Base_FinSeq (K,n,i0))
. j0) by
A186,
A187,
A189,
A190,
Th27
.= (
1. K) by
A189,
A190,
A200,
Th24;
hence thesis by
A183,
A189,
A196,
A199,
XXREAL_0: 1;
end;
end;
hence thesis;
end;
end;
then
A201: (Q
* P)
= (
1. (K,n)) by
MATRIX_0: 27;
A202: (
len Q)
= n by
MATRIX_0: 24;
A203: (
len (
Base_FinSeq (K,n,1)))
= n by
Th23;
A204: (
len (a
* (
Base_FinSeq (K,n,1))))
= (
len (
Base_FinSeq (K,n,1))) by
MATRIXR1: 16
.= n by
Th23;
A205: for k be
Nat st 1
<= k & k
<= n holds ((
Col (Q,1))
. k)
= ((a
* (
Base_FinSeq (K,n,1)))
. k)
proof
let k be
Nat;
assume that
A206: 1
<= k and
A207: k
<= n;
A208: ((
Base_FinSeq (K,n,1))
/. k)
= ((
Base_FinSeq (K,n,1))
. k) by
A203,
A206,
A207,
FINSEQ_4: 15;
A209: k
in (
dom (a
* (
Base_FinSeq (K,n,1)))) by
A204,
A206,
A207,
FINSEQ_3: 25;
A210:
now
assume
A211: k
<> 1;
thus ((a
* (
Base_FinSeq (K,n,1)))
. k)
= (a
* ((
Base_FinSeq (K,n,1))
/. k)) by
A208,
A209,
FVSUM_1: 50
.= (a
* (
0. K)) by
A206,
A207,
A208,
A211,
Th25
.= (
0. K);
end;
A212: k
in
NAT by
ORDINAL1:def 12;
k
in (
Seg n) by
A206,
A207,
FINSEQ_1: 1;
then
A213: k
in (
dom Q) by
A202,
FINSEQ_1:def 3;
A214:
now
[k, 1]
in (
Indices Q) by
A8,
A206,
A207,
MATRIX_0: 31;
then
A215: ex p be
FinSequence of K st p
= (Q
. k) & (Q
* (k,1))
= (p
. 1) by
MATRIX_0:def 5;
assume
A216: k
<> 1;
then 1
< k by
A206,
XXREAL_0: 1;
then (Q
* (k,1))
= ((
Base_FinSeq (K,n,k))
. 1) by
A7,
A207,
A212,
A215
.= (
0. K) by
A8,
A216,
Th25;
hence ((
Col (Q,1))
. k)
= (
0. K) by
A213,
MATRIX_0:def 8;
end;
A217:
now
assume
A218: k
= 1;
thus ((a
* (
Base_FinSeq (K,n,1)))
. k)
= (a
* ((
Base_FinSeq (K,n,1))
/. k)) by
A208,
A209,
FVSUM_1: 50
.= (a
* (
1. K)) by
A207,
A208,
A218,
Th24
.= a;
end;
1
<= n by
A206,
A207,
XXREAL_0: 2;
then 1
in (
dom Q) by
A202,
FINSEQ_3: 25;
hence thesis by
A5,
A210,
A217,
A214,
MATRIX_0:def 8;
end;
A219: (
0
+ 1)
<= n by
A1,
NAT_1: 13;
A220: (
len P)
= n by
MATRIX_0: 24;
then
A221: 1
in (
Seg (
len P)) by
A219,
FINSEQ_1: 1;
then
A222: 1
in (
dom P) by
FINSEQ_1:def 3;
A223: (
width P)
= n by
MATRIX_0: 24;
then
A224: (
len (
Line (P,1)))
= n by
MATRIX_0:def 7;
then
A225: 1
in (
dom (
Line (P,1))) by
A220,
A221,
FINSEQ_1:def 3;
A226: 1
in (
Seg (
width P)) by
A223,
A219,
FINSEQ_1: 1;
A227: for j st 1
< j & j
<= n holds ((P
* Q)
* (1,j))
= (
0. K)
proof
let j;
assume that
A228: 1
< j and
A229: j
<= n;
A230: (
len (
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1)))))
= (
len ((
- (a
* (P
* (1,j))))
* (
Base_FinSeq (K,n,1)))) by
Th6
.= (
len (
Base_FinSeq (K,n,1))) by
MATRIXR1: 16
.= n by
Th23;
reconsider p = (
Col (Q,j)), q = ((
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))
+ (
Base_FinSeq (K,n,j))) as
FinSequence of K;
A231: (
len (
Base_FinSeq (K,n,j)))
= n by
Th23;
A232: (
len ((
- (a
* (P
* (1,j))))
* (
Base_FinSeq (K,n,1))))
= (
len (
Base_FinSeq (K,n,1))) by
MATRIXR1: 16
.= n by
Th23;
A233: for k be
Nat st 1
<= k & k
<= n holds (p
. k)
= (q
. k)
proof
let k be
Nat;
assume that
A234: 1
<= k and
A235: k
<= n;
A236: k
in (
dom Q) by
A202,
A234,
A235,
FINSEQ_3: 25;
(
len (
Base_FinSeq (K,n,1)))
= n by
Th23;
then
A237: ((
Base_FinSeq (K,n,1))
/. k)
= ((
Base_FinSeq (K,n,1))
. k) by
A234,
A235,
FINSEQ_4: 15;
A238: k
in (
dom ((
- (a
* (P
* (1,j))))
* (
Base_FinSeq (K,n,1)))) & ((
Base_FinSeq (K,n,1))
/. k)
= ((
Base_FinSeq (K,n,1))
. k) by
A203,
A232,
A234,
A235,
FINSEQ_3: 25,
FINSEQ_4: 15;
A239: ((
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))
. k)
= (((
- (a
* (P
* (1,j))))
* (
Base_FinSeq (K,n,1)))
. k) by
Th6
.= ((
- (a
* (P
* (1,j))))
* ((
Base_FinSeq (K,n,1))
/. k)) by
A238,
FVSUM_1: 50;
per cases by
A234,
XXREAL_0: 1;
suppose
A240: 1
= k;
((
Base_FinSeq (K,n,j))
/. k)
= ((
Base_FinSeq (K,n,j))
. k) by
A231,
A234,
A235,
FINSEQ_4: 15
.= (
0. K) by
A228,
A235,
A240,
Th25;
then (q
. k)
= (((
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))
/. k)
+ (
0. K)) by
A230,
A231,
A234,
A235,
Th5;
then
A241: (q
. k)
= ((
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))
/. k) by
RLVECT_1: 4;
A242: ((
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))
. k)
= ((
- (a
* (P
* (1,j))))
* (
1_ K)) by
A235,
A239,
A237,
A240,
Th24
.= (
- (a
* (P
* (1,j))));
(p
. k)
= (Q
* (1,j)) by
A236,
A240,
MATRIX_0:def 8
.= (
- (a
* (P
* (1,j)))) by
A6,
A228,
A229;
hence thesis by
A230,
A234,
A235,
A242,
A241,
FINSEQ_4: 15;
end;
suppose
A243: 1
< k;
[k, j]
in (
Indices Q) by
A228,
A229,
A234,
A235,
MATRIX_0: 31;
then
consider p2 be
FinSequence of K such that
A244: p2
= (Q
. k) and
A245: (Q
* (k,j))
= (p2
. j) by
MATRIX_0:def 5;
A246: k
in
NAT by
ORDINAL1:def 12;
A247: (p
. k)
= (p2
. j) by
A236,
A245,
MATRIX_0:def 8
.= ((
Base_FinSeq (K,n,k))
. j) by
A7,
A235,
A243,
A244,
A246;
now
per cases ;
suppose
A248: k
<> j;
((
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))
/. k)
= ((
- (a
* (P
* (1,j))))
* ((
Base_FinSeq (K,n,1))
/. k)) by
A230,
A234,
A235,
A239,
FINSEQ_4: 15
.= ((
- (a
* (P
* (1,j))))
* (
0. K)) by
A235,
A237,
A243,
Th25
.= (
0. K);
then (q
. k)
= ((
0. K)
+ ((
Base_FinSeq (K,n,j))
/. k)) by
A230,
A231,
A234,
A235,
Th5
.= ((
Base_FinSeq (K,n,j))
/. k) by
RLVECT_1: 4
.= ((
Base_FinSeq (K,n,j))
. k) by
A231,
A234,
A235,
FINSEQ_4: 15
.= (
0. K) by
A234,
A235,
A248,
Th25;
hence thesis by
A228,
A229,
A247,
A248,
Th25;
end;
suppose
A249: k
= j;
((
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))
/. k)
= ((
- (a
* (P
* (1,j))))
* ((
Base_FinSeq (K,n,1))
/. k)) by
A230,
A234,
A235,
A239,
FINSEQ_4: 15
.= ((
- (a
* (P
* (1,j))))
* (
0. K)) by
A235,
A237,
A243,
Th25
.= (
0. K);
then (q
. k)
= ((
0. K)
+ ((
Base_FinSeq (K,n,j))
/. k)) by
A230,
A231,
A234,
A235,
Th5
.= ((
Base_FinSeq (K,n,j))
/. k) by
RLVECT_1: 4
.= ((
Base_FinSeq (K,n,j))
. k) by
A231,
A234,
A235,
FINSEQ_4: 15
.= (
1. K) by
A234,
A235,
A249,
Th24;
hence thesis by
A234,
A235,
A247,
A249,
Th24;
end;
end;
hence thesis;
end;
end;
A250: (
width P)
= n by
MATRIX_0: 24;
then
A251: (
len (
Line (P,1)))
= n by
MATRIX_0:def 7;
then
A252: ((
Line (P,1))
/. 1)
= ((
Line (P,1))
. 1) by
A219,
FINSEQ_4: 15
.= (a
" ) by
A3,
A226,
MATRIX_0:def 7;
A253: j
in (
Seg n) by
A228,
A229,
FINSEQ_1: 1;
A254: (
len (
Col (Q,j)))
= (
len Q) by
MATRIX_0:def 8
.= n by
MATRIX_0: 24;
(
len ((
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))
+ (
Base_FinSeq (K,n,j))))
= n by
A230,
A231,
Th2;
then
A255: (
Col (Q,j))
= ((
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))
+ (
Base_FinSeq (K,n,j))) by
A254,
A233,
FINSEQ_1: 14;
A256: ((
Line (P,1))
/. j)
= ((
Line (P,1))
. j) by
A228,
A229,
A251,
FINSEQ_4: 15
.= (P
* (1,j)) by
A253,
A250,
MATRIX_0:def 7;
[1, j]
in (
Indices (P
* Q)) by
A219,
A228,
A229,
MATRIX_0: 31;
then ((P
* Q)
* (1,j))
=
|((
Line (P,1)), (
Col (Q,j)))| by
A202,
A250,
MATRIX_3:def 4
.= (
|((
Line (P,1)), (
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1)))))|
+
|((
Line (P,1)), (
Base_FinSeq (K,n,j)))|) by
A224,
A230,
A231,
A255,
Th11
.= (
|((
Line (P,1)), ((
- (a
* (P
* (1,j))))
* (
Base_FinSeq (K,n,1))))|
+
|((
Line (P,1)), (
Base_FinSeq (K,n,j)))|) by
Th6
.= (((
- (a
* (P
* (1,j))))
*
|((
Line (P,1)), (
Base_FinSeq (K,n,1)))|)
+
|((
Line (P,1)), (
Base_FinSeq (K,n,j)))|) by
A224,
A203,
Th10
.= (((
- (a
* (P
* (1,j))))
* (a
" ))
+
|((
Line (P,1)), (
Base_FinSeq (K,n,j)))|) by
A224,
A219,
A252,
Th35
.= ((
- ((a
* (P
* (1,j)))
* (a
" )))
+
|((
Line (P,1)), (
Base_FinSeq (K,n,j)))|) by
VECTSP_1: 9
.= ((
- ((P
* (1,j))
* (a
* (a
" ))))
+
|((
Line (P,1)), (
Base_FinSeq (K,n,j)))|) by
GROUP_1:def 3
.= ((
- ((P
* (1,j))
* (
1_ K)))
+
|((
Line (P,1)), (
Base_FinSeq (K,n,j)))|) by
A2,
VECTSP_1:def 10
.= ((
- ((P
* (1,j))
* (
1. K)))
+ ((
Line (P,1))
/. j)) by
A224,
A228,
A229,
Th35
.= ((
- (P
* (1,j)))
+ (P
* (1,j))) by
A256
.= (
0. K) by
RLVECT_1: 5;
hence thesis;
end;
A257: (
Indices Q)
=
[:(
Seg n), (
Seg n):] by
MATRIX_0: 24;
A258: for i, j st 1
< i & i
<= n & i
= j holds ((P
* Q)
* (i,j))
= (
1. K)
proof
let i, j;
assume that
A259: 1
< i and
A260: i
<= n and
A261: i
= j;
A262: (
len (
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1)))))
= (
len ((
- (a
* (P
* (1,j))))
* (
Base_FinSeq (K,n,1)))) by
Th6
.= (
len (
Base_FinSeq (K,n,1))) by
MATRIXR1: 16
.= n by
Th23;
reconsider p = (
Col (Q,j)), q = ((
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))
+ (
Base_FinSeq (K,n,j))) as
FinSequence of K;
A263: (
len (
Base_FinSeq (K,n,j)))
= n by
Th23;
A264: j
in (
Seg n) by
A259,
A260,
A261,
FINSEQ_1: 1;
A265: for k be
Nat st 1
<= k & k
<= n holds (p
. k)
= (q
. k)
proof
A266: (
len ((
- (a
* (P
* (1,j))))
* (
Base_FinSeq (K,n,1))))
= (
len (
Base_FinSeq (K,n,1))) by
MATRIXR1: 16
.= n by
Th23;
let k be
Nat;
assume that
A267: 1
<= k and
A268: k
<= n;
A269: k
in (
Seg n) by
A267,
A268,
FINSEQ_1: 1;
(
len ((
- (a
* (P
* (1,j))))
* (
Base_FinSeq (K,n,1))))
= (
len (
Base_FinSeq (K,n,1))) by
MATRIXR1: 16
.= n by
Th23;
then
A270: k
in (
dom ((
- (a
* (P
* (1,j))))
* (
Base_FinSeq (K,n,1)))) by
A267,
A268,
FINSEQ_3: 25;
A271: ((
Base_FinSeq (K,n,1))
/. k)
= ((
Base_FinSeq (K,n,1))
. k) by
A203,
A267,
A268,
FINSEQ_4: 15;
(
len (
Base_FinSeq (K,n,1)))
= n by
Th23;
then
A272: ((
Base_FinSeq (K,n,1))
/. k)
= ((
Base_FinSeq (K,n,1))
. k) by
A267,
A268,
FINSEQ_4: 15;
k
in (
dom Q) by
A202,
A267,
A268,
FINSEQ_3: 25;
then
A273: (p
. k)
= (Q
* (k,j)) by
MATRIX_0:def 8;
A274: ((
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))
. k)
= (((
- (a
* (P
* (1,j))))
* (
Base_FinSeq (K,n,1)))
. k) by
Th6
.= ((
- (a
* (P
* (1,j))))
* ((
Base_FinSeq (K,n,1))
/. k)) by
A270,
A271,
FVSUM_1: 50;
per cases by
A267,
XXREAL_0: 1;
suppose
A275: 1
= k;
k
<= (
len (
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))) by
A268,
A266,
Th6;
then
A276: ((
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))
/. k)
= ((
- (a
* (P
* (1,j))))
* ((
Base_FinSeq (K,n,1))
/. k)) by
A267,
A274,
FINSEQ_4: 15
.= ((
- (a
* (P
* (1,j))))
* (
1. K)) by
A219,
A272,
A275,
Th24;
((
Base_FinSeq (K,n,j))
/. k)
= ((
Base_FinSeq (K,n,j))
. k) by
A263,
A267,
A268,
FINSEQ_4: 15
.= (
0. K) by
A259,
A261,
A268,
A275,
Th25;
then (q
. k)
= (((
- (a
* (P
* (1,j))))
* (
1. K))
+ (
0. K)) by
A262,
A263,
A267,
A268,
A276,
Th5
.= ((
- (a
* (P
* (1,j))))
* (
1. K)) by
RLVECT_1: 4
.= (
- (a
* (P
* (1,j))));
hence thesis by
A6,
A259,
A260,
A261,
A273,
A275;
end;
suppose
A277: 1
< k;
[k, j]
in (
Indices Q) by
A257,
A264,
A269,
ZFMISC_1: 87;
then
A278: ex p2 be
FinSequence of K st p2
= (Q
. k) & (Q
* (k,j))
= (p2
. j) by
MATRIX_0:def 5;
k
in
NAT by
ORDINAL1:def 12;
then
A279: (p
. k)
= ((
Base_FinSeq (K,n,k))
. j) by
A7,
A268,
A273,
A277,
A278;
now
per cases ;
suppose
A280: k
<> j;
then
A281: (p
. k)
= (
0. K) by
A259,
A260,
A261,
A279,
Th25;
A282: ((
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))
/. k)
= ((
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))
. k) by
A262,
A267,
A268,
FINSEQ_4: 15;
A283: ((
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))
. k)
= ((
- (a
* (P
* (1,j))))
* (
0. K)) by
A268,
A271,
A274,
A277,
Th25
.= (
0. K);
((
Base_FinSeq (K,n,j))
/. k)
= ((
Base_FinSeq (K,n,j))
. k) by
A263,
A267,
A268,
FINSEQ_4: 15
.= (
0. K) by
A267,
A268,
A280,
Th25;
then (q
. k)
= ((
0. K)
+ (
0. K)) by
A262,
A263,
A267,
A268,
A282,
A283,
Th5;
hence thesis by
A281,
RLVECT_1: 4;
end;
suppose
A284: k
= j;
then
A285: (p
. k)
= (
1. K) by
A267,
A268,
A279,
Th24;
A286: ((
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))
/. k)
= ((
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))
. k) by
A262,
A267,
A268,
FINSEQ_4: 15;
A287: ((
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))
. k)
= ((
- (a
* (P
* (1,j))))
* (
0. K)) by
A268,
A271,
A274,
A277,
Th25
.= (
0. K);
((
Base_FinSeq (K,n,j))
/. k)
= ((
Base_FinSeq (K,n,j))
. k) by
A263,
A267,
A268,
FINSEQ_4: 15
.= (
1. K) by
A259,
A260,
A261,
A284,
Th24;
then (q
. k)
= ((
0. K)
+ (
1. K)) by
A262,
A263,
A267,
A268,
A286,
A287,
Th5;
hence thesis by
A285,
RLVECT_1: 4;
end;
end;
hence thesis;
end;
end;
[i, j]
in (
Indices P) by
A259,
A260,
A261,
MATRIX_0: 31;
then
consider p1 be
FinSequence of K such that
A288: p1
= (P
. i) and
A289: (P
* (i,j))
= (p1
. j) by
MATRIX_0:def 5;
p1
= (
Base_FinSeq (K,n,i)) by
A4,
A259,
A260,
A288;
then
A290: (p1
. j)
= (
1. K) by
A259,
A260,
A261,
Th24;
A291: (
len (
Col (Q,j)))
= (
len Q) by
MATRIX_0:def 8
.= n by
MATRIX_0: 24;
(
len ((
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))
+ (
Base_FinSeq (K,n,j))))
= n by
A262,
A263,
Th2;
then
A292: (
Col (Q,j))
= ((
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))
+ (
Base_FinSeq (K,n,j))) by
A291,
A265,
FINSEQ_1: 14;
A293: (
width P)
= n by
MATRIX_0: 24;
then
A294: (
len (
Line (P,i)))
= n by
MATRIX_0:def 7;
then
A295: ((
Line (P,i))
/. 1)
= ((
Line (P,i))
. 1) by
A219,
FINSEQ_4: 15
.= (P
* (i,1)) by
A226,
MATRIX_0:def 7;
A296: ((
Line (P,i))
/. j)
= ((
Line (P,i))
. j) by
A259,
A260,
A261,
A294,
FINSEQ_4: 15
.= (P
* (i,j)) by
A264,
A293,
MATRIX_0:def 7;
[i, j]
in (
Indices (P
* Q)) by
A259,
A260,
A261,
MATRIX_0: 31;
then
A297: ((P
* Q)
* (i,j))
=
|((
Line (P,i)), (
Col (Q,j)))| by
A202,
A293,
MATRIX_3:def 4
.= (
|((
Line (P,i)), (
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1)))))|
+
|((
Line (P,i)), (
Base_FinSeq (K,n,j)))|) by
A262,
A263,
A292,
A294,
Th11
.= (
|((
Line (P,i)), ((
- (a
* (P
* (1,j))))
* (
Base_FinSeq (K,n,1))))|
+
|((
Line (P,i)), (
Base_FinSeq (K,n,j)))|) by
Th6
.= (((
- (a
* (P
* (1,j))))
*
|((
Line (P,i)), (
Base_FinSeq (K,n,1)))|)
+
|((
Line (P,i)), (
Base_FinSeq (K,n,j)))|) by
A203,
A294,
Th10
.= (((
- (a
* (P
* (1,j))))
* (P
* (i,1)))
+
|((
Line (P,i)), (
Base_FinSeq (K,n,j)))|) by
A219,
A294,
A295,
Th35
.= ((
- ((a
* (P
* (1,j)))
* (P
* (i,1))))
+
|((
Line (P,i)), (
Base_FinSeq (K,n,j)))|) by
VECTSP_1: 9
.= ((
- ((P
* (1,j))
* (a
* (P
* (i,1)))))
+
|((
Line (P,i)), (
Base_FinSeq (K,n,j)))|) by
GROUP_1:def 3
.= ((
- ((P
* (1,j))
* (a
* (P
* (i,1)))))
+ (P
* (i,j))) by
A259,
A260,
A261,
A294,
A296,
Th35;
A298: 1
<= n by
A259,
A260,
XXREAL_0: 2;
[i, 1]
in (
Indices P) by
A8,
A259,
A260,
MATRIX_0: 31;
then
consider p2 be
FinSequence of K such that
A299: p2
= (P
. i) and
A300: (P
* (i,1))
= (p2
. 1) by
MATRIX_0:def 5;
p2
= (
Base_FinSeq (K,n,i)) by
A4,
A259,
A260,
A299;
hence ((P
* Q)
* (i,j))
= ((
- ((P
* (1,j))
* (a
* (
0. K))))
+ (P
* (i,j))) by
A259,
A298,
A297,
A300,
Th25
.= ((
- ((P
* (1,j))
* (
0. K)))
+ (P
* (i,j)))
.= ((
- (
0. K))
+ (P
* (i,j)))
.= ((
0. K)
+ (
1. K)) by
A289,
A290,
RLVECT_1: 12
.= (
1. K) by
RLVECT_1: 4;
end;
(
len (
Col (Q,1)))
= (
len Q) by
MATRIX_0:def 8
.= n by
MATRIX_0: 24;
then
A301: (
Col (Q,1))
= (a
* (
Base_FinSeq (K,n,1))) by
A204,
A205,
FINSEQ_1: 14;
A302: (
Indices (P
* Q))
=
[:(
Seg n), (
Seg n):] by
MATRIX_0: 24;
A303: for i, j st 1
< i & i
<= n & 1
<= j & j
<= n & i
<> j holds ((P
* Q)
* (i,j))
= (
0. K)
proof
A304: (
len (a
* (
Base_FinSeq (K,n,1))))
= (
len (
Base_FinSeq (K,n,1))) by
MATRIXR1: 16
.= n by
Th23;
let i, j;
assume that
A305: 1
< i and
A306: i
<= n and
A307: 1
<= j and
A308: j
<= n and
A309: i
<> j;
A310:
[i, j]
in (
Indices (P
* Q)) by
A305,
A306,
A307,
A308,
MATRIX_0: 31;
A311: j
in (
Seg n) by
A307,
A308,
FINSEQ_1: 1;
A312: (
len (
Col (Q,j)))
= (
len Q) by
MATRIX_0:def 8
.= n by
MATRIX_0: 24;
A313:
[i, 1]
in (
Indices P) by
A8,
A305,
A306,
MATRIX_0: 31;
A314: (
len (
Base_FinSeq (K,n,j)))
= n by
Th23;
A315: (
len (
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1)))))
= (
len ((
- (a
* (P
* (1,j))))
* (
Base_FinSeq (K,n,1)))) by
Th6
.= (
len (
Base_FinSeq (K,n,1))) by
MATRIXR1: 16
.= n by
Th23;
then
A316: (
len ((
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))
+ (
Base_FinSeq (K,n,j))))
= n by
A314,
Th2;
A317:
[i, j]
in (
Indices P) by
A305,
A306,
A307,
A308,
MATRIX_0: 31;
now
per cases ;
suppose
A318: j
> 1;
reconsider p = (
Col (Q,j)), q = ((
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))
+ (
Base_FinSeq (K,n,j))) as
FinSequence of K;
for k be
Nat st 1
<= k & k
<= n holds (p
. k)
= (q
. k)
proof
let k be
Nat;
assume that
A319: 1
<= k and
A320: k
<= n;
A321: ((
Base_FinSeq (K,n,1))
/. k)
= ((
Base_FinSeq (K,n,1))
. k) by
A203,
A319,
A320,
FINSEQ_4: 15;
A322: (
len ((
- (a
* (P
* (1,j))))
* (
Base_FinSeq (K,n,1))))
= (
len (
Base_FinSeq (K,n,1))) by
MATRIXR1: 16
.= n by
Th23;
then
A323: k
in (
dom ((
- (a
* (P
* (1,j))))
* (
Base_FinSeq (K,n,1)))) by
A319,
A320,
FINSEQ_3: 25;
A324: ((
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))
. k)
= (((
- (a
* (P
* (1,j))))
* (
Base_FinSeq (K,n,1)))
. k) by
Th6
.= ((
- (a
* (P
* (1,j))))
* ((
Base_FinSeq (K,n,1))
/. k)) by
A323,
A321,
FVSUM_1: 50;
(
len (
Base_FinSeq (K,n,1)))
= n by
Th23;
then
A325: ((
Base_FinSeq (K,n,1))
/. k)
= ((
Base_FinSeq (K,n,1))
. k) by
A319,
A320,
FINSEQ_4: 15;
k
in (
dom Q) by
A202,
A319,
A320,
FINSEQ_3: 25;
then
A326: (p
. k)
= (Q
* (k,j)) by
MATRIX_0:def 8;
per cases by
A319,
XXREAL_0: 1;
suppose
A327: 1
= k;
k
<= (
len (
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))) by
A320,
A322,
Th6;
then
A328: ((
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))
/. k)
= ((
- (a
* (P
* (1,j))))
* ((
Base_FinSeq (K,n,1))
/. k)) by
A319,
A324,
FINSEQ_4: 15
.= ((
- (a
* (P
* (1,j))))
* (
1. K)) by
A219,
A325,
A327,
Th24;
((
Base_FinSeq (K,n,j))
/. k)
= ((
Base_FinSeq (K,n,j))
. k) by
A314,
A319,
A320,
FINSEQ_4: 15
.= (
0. K) by
A318,
A320,
A327,
Th25;
then (q
. k)
= (((
- (a
* (P
* (1,j))))
* (
1. K))
+ (
0. K)) by
A315,
A314,
A319,
A320,
A328,
Th5
.= ((
- (a
* (P
* (1,j))))
* (
1_ K)) by
RLVECT_1: 4
.= (
- (a
* (P
* (1,j))));
hence thesis by
A6,
A308,
A318,
A326,
A327;
end;
suppose
A329: 1
< k;
[k, j]
in (
Indices Q) by
A307,
A308,
A319,
A320,
MATRIX_0: 31;
then
A330: ex p2 be
FinSequence of K st p2
= (Q
. k) & (Q
* (k,j))
= (p2
. j) by
MATRIX_0:def 5;
k
in
NAT by
ORDINAL1:def 12;
then
A331: (p
. k)
= ((
Base_FinSeq (K,n,k))
. j) by
A7,
A320,
A326,
A329,
A330;
A332: k
<= (
len (
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))) by
A320,
A322,
Th6;
now
per cases ;
suppose
A333: k
<> j;
((
Base_FinSeq (K,n,j))
/. k)
= ((
Base_FinSeq (K,n,j))
. k) by
A314,
A319,
A320,
FINSEQ_4: 15
.= (
0. K) by
A319,
A320,
A333,
Th25;
then (q
. k)
= (((
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))
/. k)
+ (
0. K)) by
A315,
A314,
A319,
A320,
Th5;
then
A334: (q
. k)
= ((
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))
/. k) by
RLVECT_1: 4
.= ((
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))
. k) by
A319,
A332,
FINSEQ_4: 15;
((
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))
. k)
= ((
- (a
* (P
* (1,j))))
* (
0. K)) by
A320,
A324,
A325,
A329,
Th25
.= (
0. K);
hence thesis by
A307,
A308,
A331,
A333,
A334,
Th25;
end;
suppose
A335: k
= j;
then
A336: (p
. k)
= (
1. K) by
A319,
A320,
A331,
Th24;
A337: ((
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))
/. k)
= ((
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))
. k) by
A315,
A319,
A320,
FINSEQ_4: 15;
A338: ((
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))
. k)
= ((
- (a
* (P
* (1,j))))
* (
0. K)) by
A320,
A321,
A324,
A329,
Th25
.= (
0. K);
((
Base_FinSeq (K,n,j))
/. k)
= ((
Base_FinSeq (K,n,j))
. k) by
A314,
A319,
A320,
FINSEQ_4: 15
.= (
1. K) by
A319,
A320,
A335,
Th24;
then (q
. k)
= ((
0. K)
+ (
1. K)) by
A315,
A314,
A319,
A320,
A337,
A338,
Th5;
hence thesis by
A336,
RLVECT_1: 4;
end;
end;
hence thesis;
end;
end;
then
A339: (
Col (Q,j))
= ((
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1))))
+ (
Base_FinSeq (K,n,j))) by
A312,
A316,
FINSEQ_1: 14;
A340: 1
<= n by
A305,
A306,
XXREAL_0: 2;
A341: (
width P)
= n by
MATRIX_0: 24;
then
A342: (
len (
Line (P,i)))
= n by
MATRIX_0:def 7;
then
A343: ((
Line (P,i))
/. j)
= ((
Line (P,i))
. j) by
A307,
A308,
FINSEQ_4: 15
.= (P
* (i,j)) by
A311,
A341,
MATRIX_0:def 7;
A344: ((
Line (P,i))
/. 1)
= ((
Line (P,i))
. 1) by
A219,
A342,
FINSEQ_4: 15
.= (P
* (i,1)) by
A226,
MATRIX_0:def 7;
A345: ((P
* Q)
* (i,j))
=
|((
Line (P,i)), (
Col (Q,j)))| by
A202,
A310,
A341,
MATRIX_3:def 4
.= (
|((
Line (P,i)), (
- ((a
* (P
* (1,j)))
* (
Base_FinSeq (K,n,1)))))|
+
|((
Line (P,i)), (
Base_FinSeq (K,n,j)))|) by
A315,
A314,
A339,
A342,
Th11
.= (
|((
Line (P,i)), ((
- (a
* (P
* (1,j))))
* (
Base_FinSeq (K,n,1))))|
+
|((
Line (P,i)), (
Base_FinSeq (K,n,j)))|) by
Th6
.= (((
- (a
* (P
* (1,j))))
*
|((
Line (P,i)), (
Base_FinSeq (K,n,1)))|)
+
|((
Line (P,i)), (
Base_FinSeq (K,n,j)))|) by
A203,
A342,
Th10
.= (((
- (a
* (P
* (1,j))))
* (P
* (i,1)))
+
|((
Line (P,i)), (
Base_FinSeq (K,n,j)))|) by
A219,
A342,
A344,
Th35
.= ((
- ((a
* (P
* (1,j)))
* (P
* (i,1))))
+
|((
Line (P,i)), (
Base_FinSeq (K,n,j)))|) by
VECTSP_1: 9
.= ((
- ((P
* (1,j))
* (a
* (P
* (i,1)))))
+
|((
Line (P,i)), (
Base_FinSeq (K,n,j)))|) by
GROUP_1:def 3
.= ((
- ((P
* (1,j))
* (a
* (P
* (i,1)))))
+ (P
* (i,j))) by
A307,
A308,
A342,
A343,
Th35;
consider p2 be
FinSequence of K such that
A346: p2
= (P
. i) and
A347: (P
* (i,1))
= (p2
. 1) by
A313,
MATRIX_0:def 5;
consider p1 be
FinSequence of K such that
A348: p1
= (P
. i) and
A349: (P
* (i,j))
= (p1
. j) by
A317,
MATRIX_0:def 5;
p1
= (
Base_FinSeq (K,n,i)) by
A4,
A305,
A306,
A348;
then
A350: (p1
. j)
= (
0. K) by
A307,
A308,
A309,
Th25;
p2
= (
Base_FinSeq (K,n,i)) by
A4,
A305,
A306,
A346;
then ((P
* Q)
* (i,j))
= ((
- ((P
* (1,j))
* (a
* (
0. K))))
+ (P
* (i,j))) by
A305,
A340,
A345,
A347,
Th25
.= ((
- ((P
* (1,j))
* (
0. K)))
+ (P
* (i,j)))
.= ((
- (
0. K))
+ (P
* (i,j)))
.= ((
0. K)
+ (
0. K)) by
A349,
A350,
RLVECT_1: 12
.= (
0. K) by
RLVECT_1: 4;
hence thesis;
end;
suppose
A351: j
<= 1;
reconsider p = (
Col (Q,j)), q = (a
* (
Base_FinSeq (K,n,1))) as
FinSequence of K;
A352: for k be
Nat st 1
<= k & k
<= n holds (p
. k)
= (q
. k)
proof
let k be
Nat;
assume that
A353: 1
<= k and
A354: k
<= n;
A355: k
in (
dom Q) by
A202,
A353,
A354,
FINSEQ_3: 25;
A356: (
len (
Base_FinSeq (K,n,1)))
= n by
Th23;
then
A357: ((
Base_FinSeq (K,n,1))
/. k)
= ((
Base_FinSeq (K,n,1))
. k) by
A353,
A354,
FINSEQ_4: 15;
k
in (
dom (a
* (
Base_FinSeq (K,n,1)))) by
A204,
A353,
A354,
FINSEQ_3: 25;
then
A358: ((a
* (
Base_FinSeq (K,n,1)))
. k)
= (a
* ((
Base_FinSeq (K,n,1))
/. k)) by
A357,
FVSUM_1: 50;
per cases by
A353,
XXREAL_0: 1;
suppose
A359: 1
= k;
then
A360: (q
. k)
= (a
* (
1. K)) by
A354,
A357,
A358,
Th24
.= a;
(p
. k)
= (Q
* (1,j)) by
A355,
A359,
MATRIX_0:def 8
.= a by
A5,
A307,
A351,
XXREAL_0: 1;
hence thesis by
A360;
end;
suppose
A361: 1
< k;
[k, j]
in (
Indices Q) by
A307,
A308,
A353,
A354,
MATRIX_0: 31;
then
A362: ex p2 be
FinSequence of K st p2
= (Q
. k) & (Q
* (k,j))
= (p2
. j) by
MATRIX_0:def 5;
A363: k
in
NAT by
ORDINAL1:def 12;
A364: (p
. k)
= (Q
* (k,j)) by
A355,
MATRIX_0:def 8
.= ((
Base_FinSeq (K,n,k))
. j) by
A7,
A354,
A361,
A362,
A363;
now
per cases ;
suppose
A365: k
<> j;
((
Base_FinSeq (K,n,1))
/. k)
= ((
Base_FinSeq (K,n,1))
. k) by
A353,
A354,
A356,
FINSEQ_4: 15;
then (a
* ((
Base_FinSeq (K,n,1))
/. k))
= (a
* (
0. K)) by
A354,
A361,
Th25
.= (
0. K);
hence thesis by
A307,
A308,
A358,
A364,
A365,
Th25;
end;
suppose k
= j;
hence thesis by
A351,
A361;
end;
end;
hence thesis;
end;
end;
A366: 1
<= n by
A305,
A306,
XXREAL_0: 2;
A367: (
len (
Line (P,i)))
= n by
A223,
MATRIX_0:def 7;
then
A368: ((
Line (P,i))
/. 1)
= ((
Line (P,i))
. 1) by
A219,
FINSEQ_4: 15
.= (P
* (i,1)) by
A226,
MATRIX_0:def 7;
A369: ((P
* Q)
* (i,j))
=
|((
Line (P,i)), (
Col (Q,j)))| by
A202,
A223,
A310,
MATRIX_3:def 4
.=
|((
Line (P,i)), (a
* (
Base_FinSeq (K,n,1))))| by
A312,
A304,
A352,
FINSEQ_1: 14
.= (a
*
|((
Line (P,i)), (
Base_FinSeq (K,n,1)))|) by
A203,
A367,
Th10
.= (a
* (P
* (i,1))) by
A219,
A367,
A368,
Th35;
consider p2 be
FinSequence of K such that
A370: p2
= (P
. i) and
A371: (P
* (i,1))
= (p2
. 1) by
A313,
MATRIX_0:def 5;
p2
= (
Base_FinSeq (K,n,i)) by
A4,
A305,
A306,
A370;
hence ((P
* Q)
* (i,j))
= (a
* (
0. K)) by
A305,
A366,
A369,
A371,
Th25
.= (
0. K);
end;
end;
hence thesis;
end;
A372: (
len (a
* (
Line (P,1))))
= (
len (
Line (P,1))) by
MATRIXR1: 16
.= n by
A223,
MATRIX_0:def 7;
(
Indices P)
=
[:(
Seg n), (
Seg n):] &
[1, 1]
in (
Indices P) by
A219,
MATRIX_0: 24,
MATRIX_0: 31;
then
A373: ((P
* Q)
* (1,1))
=
|((
Line (P,1)), (
Col (Q,1)))| by
A202,
A223,
A302,
MATRIX_3:def 4
.= (a
*
|((
Line (P,1)), (
Base_FinSeq (K,n,1)))|) by
A224,
A203,
A301,
Th10
.= (a
* ((
Line (P,1))
/. 1)) by
A224,
A219,
Th35
.= ((a
* (
Line (P,1)))
/. 1) by
A225,
POLYNOM1:def 1
.= ((a
* (
Line (P,1)))
. 1) by
A219,
A372,
FINSEQ_4: 15
.= (a
* (P
* (1,1))) by
A226,
A222,
MATRIX12: 3
.= (
1. K) by
A2,
A3,
VECTSP_1:def 10;
for i,j be
Nat st
[i, j]
in (
Indices (P
* Q)) holds ((P
* Q)
* (i,j))
= ((
1. (K,n))
* (i,j))
proof
let i,j be
Nat;
reconsider i0 = i, j0 = j as
Element of
NAT by
ORDINAL1:def 12;
assume
A374:
[i, j]
in (
Indices (P
* Q));
then
A375: i
in (
Seg n) by
A302,
ZFMISC_1: 87;
then
A376: 1
<= i by
FINSEQ_1: 1;
A377: i
<= n by
A375,
FINSEQ_1: 1;
A378: j
in (
Seg n) by
A302,
A374,
ZFMISC_1: 87;
then
A379: 1
<= j by
FINSEQ_1: 1;
A380: j
<= n by
A378,
FINSEQ_1: 1;
per cases by
A376,
XXREAL_0: 1;
suppose
A381: 1
< i;
now
per cases ;
suppose
A382: i
<> j;
A383: ((
1. (K,n))
* (i,j))
= ((
Base_FinSeq (K,n,i0))
. j0) by
A376,
A377,
A379,
A380,
Th27
.= (
0. K) by
A379,
A380,
A382,
Th25;
thus ((P
* Q)
* (i,j))
= ((P
* Q)
* (i0,j0))
.= ((
1. (K,n))
* (i,j)) by
A303,
A377,
A379,
A380,
A381,
A382,
A383;
end;
suppose
A384: i
= j;
A385: ((
1. (K,n))
* (i,j))
= ((
Base_FinSeq (K,n,i0))
. j0) by
A376,
A377,
A379,
A380,
Th27
.= (
1. K) by
A379,
A380,
A384,
Th24;
thus ((P
* Q)
* (i,j))
= ((P
* Q)
* (i0,j0))
.= ((
1. (K,n))
* (i,j)) by
A258,
A380,
A381,
A384,
A385;
end;
end;
hence thesis;
end;
suppose
A386: 1
= i;
now
per cases ;
suppose
A387: i
< j;
A388: ((
1. (K,n))
* (i,j))
= ((
Base_FinSeq (K,n,i0))
. j0) by
A376,
A377,
A379,
A380,
Th27
.= (
0. K) by
A379,
A380,
A387,
Th25;
thus ((P
* Q)
* (i,j))
= ((P
* Q)
* (i0,j0))
.= ((
1. (K,n))
* (i,j)) by
A227,
A380,
A386,
A387,
A388;
end;
suppose
A389: i
>= j;
then
A390: i
= j by
A379,
A386,
XXREAL_0: 1;
((
1. (K,n))
* (i,j))
= ((
Base_FinSeq (K,n,i0))
. j0) by
A376,
A377,
A379,
A380,
Th27
.= (
1. K) by
A379,
A380,
A390,
Th24;
hence thesis by
A373,
A379,
A386,
A389,
XXREAL_0: 1;
end;
end;
hence thesis;
end;
end;
then
A391: (P
* Q)
= (
1. (K,n)) by
MATRIX_0: 27;
hence P is
invertible by
A201,
Th19;
thus thesis by
A391,
A201,
Th18;
end;
theorem ::
MATRIX14:38
Th38: for a be
Element of K, P be
Matrix of n, K st n
>
0 & a
<> (
0. K) & (P
* (1,1))
= (a
" ) & (for i st 1
< i & i
<= n holds (P
. i)
= (
Base_FinSeq (K,n,i))) holds P is
invertible
proof
let a be
Element of K, P be
Matrix of n, K;
assume that
A1: n
>
0 and
A2: a
<> (
0. K) & (P
* (1,1))
= (a
" ) & for i st 1
< i & i
<= n holds (P
. i)
= (
Base_FinSeq (K,n,i));
defpred
P[
Nat,
Nat,
Element of K] means ($1
= 1 implies (($2
= 1 implies $3
= a) & ($2
<> 1 implies $3
= (
- (a
* (P
* (1,$2))))))) & ($1
<> 1 implies for i0 be
Element of
NAT st i0
= $1 holds $3
= ((
Base_FinSeq (K,n,i0))
. $2));
A3: for i,j be
Nat st
[i, j]
in
[:(
Seg n), (
Seg n):] holds ex x be
Element of K st
P[i, j, x]
proof
let i,j be
Nat;
reconsider i0 = i, j0 = j as
Element of
NAT by
ORDINAL1:def 12;
assume
[i, j]
in
[:(
Seg n), (
Seg n):];
then j0
in (
Seg n) by
ZFMISC_1: 87;
then
A4: 1
<= j0 & j0
<= n by
FINSEQ_1: 1;
per cases ;
suppose
A5: i
= 1;
now
per cases ;
case
A6: j
= 1;
set x1 = a;
thus (i
= 1 implies (j
= 1 implies x1
= a) & (j
<> 1 implies x1
= (
- (a
* (P
* (1,j)))))) & (i
<> 1 implies for i1 be
Element of
NAT st i1
= i holds x1
= ((
Base_FinSeq (K,n,i1))
. j)) by
A5,
A6;
end;
case
A7: j
<> 1;
set x1 = (
- (a
* (P
* (1,j))));
thus (i
= 1 implies (j
= 1 implies x1
= a) & (j
<> 1 implies x1
= (
- (a
* (P
* (1,j)))))) & (i
<> 1 implies for i1 be
Element of
NAT st i1
= i holds x1
= ((
Base_FinSeq (K,n,i1))
. j)) by
A5,
A7;
end;
end;
hence thesis;
end;
suppose
A8: i
<> 1;
(
len (
Base_FinSeq (K,n,i0)))
= n by
Th23;
then ((
Base_FinSeq (K,n,i0))
/. j0)
= ((
Base_FinSeq (K,n,i0))
. j0) by
A4,
FINSEQ_4: 15;
then
reconsider x1 = ((
Base_FinSeq (K,n,i0))
. j0) as
Element of K;
i
<> 1 implies for i1 be
Element of
NAT st i1
= i holds x1
= ((
Base_FinSeq (K,n,i1))
. j);
hence thesis by
A8;
end;
end;
consider Q0 be
Matrix of n, n, K such that
A9: for i,j be
Nat st
[i, j]
in (
Indices Q0) holds
P[i, j, (Q0
* (i,j))] from
MATRIX_0:sch 2(
A3);
A10: (
0
+ 1)
<= n by
A1,
NAT_1: 13;
A11: for j st 1
< j & j
<= n holds (Q0
* (1,j))
= (
- (a
* (P
* (1,j))))
proof
let j;
assume that
A12: 1
< j and
A13: j
<= n;
[1, j]
in (
Indices Q0) by
A10,
A12,
A13,
MATRIX_0: 31;
hence thesis by
A9,
A12;
end;
A14: (
Indices Q0)
=
[:(
Seg n), (
Seg n):] & 1
in (
Seg n) by
A10,
FINSEQ_1: 1,
MATRIX_0: 24;
A15: for i st 1
< i & i
<= n holds (Q0
. i)
= (
Base_FinSeq (K,n,i))
proof
let i;
assume that
A16: 1
< i and
A17: i
<= n;
i
in (
Seg n) by
A16,
A17,
FINSEQ_1: 1;
then
[i, 1]
in (
Indices Q0) by
A14,
ZFMISC_1: 87;
then
consider p be
FinSequence of K such that
A18: p
= (Q0
. i) and (Q0
* (i,1))
= (p
. 1) by
MATRIX_0:def 5;
A19: for j be
Nat st 1
<= j & j
<= n holds (p
. j)
= ((
Base_FinSeq (K,n,i))
. j)
proof
let j be
Nat;
assume 1
<= j & j
<= n;
then
A20:
[i, j]
in (
Indices Q0) by
A16,
A17,
MATRIX_0: 31;
then ex p2 be
FinSequence of K st p2
= (Q0
. i) & (Q0
* (i,j))
= (p2
. j) by
MATRIX_0:def 5;
hence thesis by
A9,
A16,
A18,
A20;
end;
(
len Q0)
= n by
MATRIX_0:def 2;
then i
in (
Seg (
len Q0)) by
A16,
A17,
FINSEQ_1: 1;
then i
in (
dom Q0) by
FINSEQ_1:def 3;
then p
in (
rng Q0) by
A18,
FUNCT_1:def 3;
then
A21: (
len p)
= n by
MATRIX_0:def 2;
(
len (
Base_FinSeq (K,n,i)))
= n by
Th23;
hence thesis by
A18,
A21,
A19,
FINSEQ_1: 14;
end;
[1, 1]
in (
Indices Q0) by
A10,
MATRIX_0: 31;
then (Q0
* (1,1))
= a by
A9;
hence thesis by
A1,
A2,
A11,
A15,
Th37;
end;
theorem ::
MATRIX14:39
Th39: for A be
Matrix of n, K st n
>
0 & (A
* (1,1))
<> (
0. K) holds ex P be
Matrix of n, K st P is
invertible & ((A
* P)
* (1,1))
= (
1. K) & (for j st 1
< j & j
<= n holds ((A
* P)
* (1,j))
= (
0. K)) & for i st 1
< i & i
<= n & (A
* (i,1))
= (
0. K) holds ((A
* P)
* (i,1))
= (
0. K)
proof
let A be
Matrix of n, K;
assume that
A1: n
>
0 and
A2: (A
* (1,1))
<> (
0. K);
A3: (
0
+ 1)
<= n by
A1,
NAT_1: 13;
set a = (A
* (1,1));
defpred
P[
Nat,
Nat,
Element of K] means ($1
= 1 implies (($2
= 1 implies $3
= (a
" )) & ($2
<> 1 implies $3
= (
- ((a
" )
* (A
* (1,$2))))))) & ($1
<> 1 implies for i0 be
Element of
NAT st i0
= $1 holds $3
= ((
Base_FinSeq (K,n,i0))
. $2));
A4: for i,j be
Nat st
[i, j]
in
[:(
Seg n), (
Seg n):] holds ex x be
Element of K st
P[i, j, x]
proof
let i,j be
Nat;
reconsider i0 = i, j0 = j as
Element of
NAT by
ORDINAL1:def 12;
assume
[i, j]
in
[:(
Seg n), (
Seg n):];
then j0
in (
Seg n) by
ZFMISC_1: 87;
then
A5: 1
<= j0 & j0
<= n by
FINSEQ_1: 1;
per cases ;
suppose
A6: i
= 1;
per cases ;
suppose j
= 1;
hence thesis by
A6;
end;
suppose j
<> 1;
hence thesis by
A6;
end;
end;
suppose
A7: i
<> 1;
set x1 = ((
Base_FinSeq (K,n,i0))
/. j0);
(
len (
Base_FinSeq (K,n,i0)))
= n by
Th23;
then for i1 be
Element of
NAT st i1
= i holds x1
= ((
Base_FinSeq (K,n,i1))
. j) by
A5,
FINSEQ_4: 15;
hence thesis by
A7;
end;
end;
consider P0 be
Matrix of n, n, K such that
A8: for i,j be
Nat st
[i, j]
in (
Indices P0) holds
P[i, j, (P0
* (i,j))] from
MATRIX_0:sch 2(
A4);
A9: (
0
+ 1)
<= n by
A1,
NAT_1: 13;
A10: for i st 1
< i & i
<= n holds (P0
. i)
= (
Base_FinSeq (K,n,i))
proof
let i;
assume that
A11: 1
< i and
A12: i
<= n;
[i, 1]
in (
Indices P0) by
A9,
A11,
A12,
MATRIX_0: 31;
then
consider p be
FinSequence of K such that
A13: p
= (P0
. i) and (P0
* (i,1))
= (p
. 1) by
MATRIX_0:def 5;
A14: for j be
Nat st 1
<= j & j
<= n holds (p
. j)
= ((
Base_FinSeq (K,n,i))
. j)
proof
let j be
Nat;
assume 1
<= j & j
<= n;
then
A15:
[i, j]
in (
Indices P0) by
A11,
A12,
MATRIX_0: 31;
then ex p2 be
FinSequence of K st p2
= (P0
. i) & (P0
* (i,j))
= (p2
. j) by
MATRIX_0:def 5;
hence thesis by
A8,
A11,
A13,
A15;
end;
(
len P0)
= n by
MATRIX_0:def 2;
then i
in (
Seg (
len P0)) by
A11,
A12,
FINSEQ_1: 1;
then i
in (
dom P0) by
FINSEQ_1:def 3;
then p
in (
rng P0) by
A13,
FUNCT_1:def 3;
then
A16: (
len p)
= n by
MATRIX_0:def 2;
(
len (
Base_FinSeq (K,n,i)))
= n by
Th23;
hence thesis by
A13,
A16,
A14,
FINSEQ_1: 14;
end;
A17: (
len ((a
" )
* (
Base_FinSeq (K,n,1))))
= (
len (
Base_FinSeq (K,n,1))) by
MATRIXR1: 16
.= n by
Th23;
A18: (
Indices P0)
=
[:(
Seg n), (
Seg n):] by
MATRIX_0: 24;
A19: (
len (
Base_FinSeq (K,n,1)))
= n by
Th23;
A20:
[1, 1]
in (
Indices P0) by
A9,
MATRIX_0: 31;
then
A21: (P0
* (1,1))
= (a
" ) by
A8;
then
A22: P0 is
invertible by
A1,
A2,
A10,
Th38;
A23: (
len P0)
= n by
MATRIX_0: 24;
then
A24: 1
in (
Seg (
len P0)) by
A9,
FINSEQ_1: 1;
A25: for k be
Nat st 1
<= k & k
<= n holds ((
Col (P0,1))
. k)
= (((a
" )
* (
Base_FinSeq (K,n,1)))
. k)
proof
let k be
Nat;
assume that
A26: 1
<= k and
A27: k
<= n;
A28: ((
Base_FinSeq (K,n,1))
/. k)
= ((
Base_FinSeq (K,n,1))
. k) by
A19,
A26,
A27,
FINSEQ_4: 15;
k
in (
Seg n) by
A26,
A27,
FINSEQ_1: 1;
then
A29: k
in (
dom ((a
" )
* (
Base_FinSeq (K,n,1)))) by
A17,
FINSEQ_1:def 3;
A30:
now
assume
A31: k
<> 1;
thus (((a
" )
* (
Base_FinSeq (K,n,1)))
. k)
= ((a
" )
* ((
Base_FinSeq (K,n,1))
/. k)) by
A29,
A28,
FVSUM_1: 50
.= ((a
" )
* (
0. K)) by
A26,
A27,
A28,
A31,
Th25
.= (
0. K);
end;
k
in (
Seg n) by
A26,
A27,
FINSEQ_1: 1;
then
A32: k
in (
dom P0) by
A23,
FINSEQ_1:def 3;
A33:
now
k
in (
Seg n) by
A26,
A27,
FINSEQ_1: 1;
then
[k, 1]
in (
Indices P0) by
A23,
A24,
A18,
ZFMISC_1: 87;
then
A34: ex p be
FinSequence of K st p
= (P0
. k) & (P0
* (k,1))
= (p
. 1) by
MATRIX_0:def 5;
assume
A35: k
<> 1;
then k
in
NAT & 1
< k by
A26,
ORDINAL1:def 12,
XXREAL_0: 1;
then (P0
* (k,1))
= ((
Base_FinSeq (K,n,k))
. 1) by
A10,
A27,
A34
.= (
0. K) by
A9,
A35,
Th25;
hence ((
Col (P0,1))
. k)
= (
0. K) by
A32,
MATRIX_0:def 8;
end;
A36:
now
assume
A37: k
= 1;
hence (((a
" )
* (
Base_FinSeq (K,n,1)))
. k)
= ((a
" )
* ((
Base_FinSeq (K,n,1))
/. 1)) by
A29,
A28,
FVSUM_1: 50
.= ((a
" )
* (
1. K)) by
A27,
A28,
A37,
Th24
.= (a
" );
end;
1
<= n by
A26,
A27,
XXREAL_0: 2;
then 1
in (
dom P0) by
A23,
FINSEQ_3: 25;
hence thesis by
A21,
A30,
A36,
A33,
MATRIX_0:def 8;
end;
A38: (
len A)
= n by
MATRIX_0: 24;
then
A39: 1
in (
Seg (
len A)) by
A3,
FINSEQ_1: 1;
then
A40: 1
in (
dom A) by
FINSEQ_1:def 3;
A41: (
width A)
= n by
MATRIX_0: 24;
then
A42: (
len (
Line (A,1)))
= n by
MATRIX_0:def 7;
then
A43: 1
in (
dom (
Line (A,1))) by
A38,
A39,
FINSEQ_1:def 3;
A44: 1
in (
Seg (
width A)) by
A41,
A3,
FINSEQ_1: 1;
A45: for i st 1
< i & i
<= n & (A
* (i,1))
= (
0. K) holds ((A
* P0)
* (i,1))
= (
0. K)
proof
set Q = A, P = P0;
let i;
assume that
A46: 1
< i & i
<= n and
A47: (A
* (i,1))
= (
0. K);
A48: 1
<= n by
A46,
XXREAL_0: 2;
reconsider p = (
Col (P,1)), q = ((a
" )
* (
Base_FinSeq (K,n,1))) as
FinSequence of K;
A49: (
len (
Col (P,1)))
= (
len P) by
MATRIX_0:def 8
.= n by
MATRIX_0: 24;
A50: (
len ((a
" )
* (
Base_FinSeq (K,n,1))))
= (
len (
Base_FinSeq (K,n,1))) by
MATRIXR1: 16
.= n by
Th23;
A51: for k be
Nat st 1
<= k & k
<= n holds (p
. k)
= (q
. k)
proof
let k be
Nat;
assume that
A52: 1
<= k and
A53: k
<= n;
A54: (
len (
Base_FinSeq (K,n,1)))
= n by
Th23;
then
A55: ((
Base_FinSeq (K,n,1))
/. k)
= ((
Base_FinSeq (K,n,1))
. k) by
A52,
A53,
FINSEQ_4: 15;
k
in (
dom P) by
A23,
A52,
A53,
FINSEQ_3: 25;
then
A56: (p
. k)
= (P
* (k,1)) by
MATRIX_0:def 8;
k
in (
dom ((a
" )
* (
Base_FinSeq (K,n,1)))) by
A50,
A52,
A53,
FINSEQ_3: 25;
then
A57: (((a
" )
* (
Base_FinSeq (K,n,1)))
. k)
= ((a
" )
* ((
Base_FinSeq (K,n,1))
/. k)) by
A55,
FVSUM_1: 50;
per cases by
A52,
XXREAL_0: 1;
suppose
A58: 1
= k;
then (q
. k)
= ((a
" )
* (
1. K)) by
A53,
A55,
A57,
Th24
.= (a
" );
hence thesis by
A8,
A20,
A56,
A58;
end;
suppose
A59: 1
< k;
((
Base_FinSeq (K,n,1))
/. k)
= ((
Base_FinSeq (K,n,1))
. k) by
A52,
A53,
A54,
FINSEQ_4: 15;
then
A60: ((a
" )
* ((
Base_FinSeq (K,n,1))
/. k))
= ((a
" )
* (
0. K)) by
A53,
A59,
Th25
.= (
0. K);
[k, 1]
in (
Indices P) by
A48,
A52,
A53,
MATRIX_0: 31;
then
A61: ex p2 be
FinSequence of K st p2
= (P
. k) & (P
* (k,1))
= (p2
. 1) by
MATRIX_0:def 5;
k
in
NAT by
ORDINAL1:def 12;
then (p
. k)
= ((
Base_FinSeq (K,n,k))
. 1) by
A10,
A53,
A56,
A59,
A61;
hence thesis by
A48,
A57,
A59,
A60,
Th25;
end;
end;
A62: (
width Q)
= n by
MATRIX_0: 24;
then
A63: (
len (
Line (Q,i)))
= n by
MATRIX_0:def 7;
then
A64: ((
Line (Q,i))
/. 1)
= ((
Line (Q,i))
. 1) by
A3,
FINSEQ_4: 15
.= (Q
* (i,1)) by
A44,
MATRIX_0:def 7;
[i, 1]
in (
Indices (Q
* P)) by
A46,
A48,
MATRIX_0: 31;
hence ((Q
* P)
* (i,1))
=
|((
Line (Q,i)), (
Col (P,1)))| by
A23,
A62,
MATRIX_3:def 4
.=
|((
Line (Q,i)), ((a
" )
* (
Base_FinSeq (K,n,1))))| by
A49,
A50,
A51,
FINSEQ_1: 14
.= ((a
" )
*
|((
Line (Q,i)), (
Base_FinSeq (K,n,1)))|) by
A19,
A63,
Th10
.= ((a
" )
* (Q
* (i,1))) by
A3,
A63,
A64,
Th35
.= (
0. K) by
A47;
end;
A65: for j st 1
< j & j
<= n holds ((A
* P0)
* (1,j))
= (
0. K)
proof
let j;
assume that
A66: 1
< j and
A67: j
<= n;
A68: (
len (
Base_FinSeq (K,n,j)))
= n by
Th23;
reconsider p = (
Col (P0,j)), q = ((
- (((a
" )
* (A
* (1,j)))
* (
Base_FinSeq (K,n,1))))
+ (
Base_FinSeq (K,n,j))) as
FinSequence of K;
A69: (
len ((
- ((a
" )
* (A
* (1,j))))
* (
Base_FinSeq (K,n,1))))
= (
len (
Base_FinSeq (K,n,1))) by
MATRIXR1: 16
.= n by
Th23;
A70: (
len (
- (((a
" )
* (A
* (1,j)))
* (
Base_FinSeq (K,n,1)))))
= (
len ((
- ((a
" )
* (A
* (1,j))))
* (
Base_FinSeq (K,n,1)))) by
Th6
.= (
len (
Base_FinSeq (K,n,1))) by
MATRIXR1: 16
.= n by
Th23;
A71:
[1, j]
in (
Indices P0) by
A9,
A66,
A67,
MATRIX_0: 31;
A72: for k be
Nat st 1
<= k & k
<= n holds (p
. k)
= (q
. k)
proof
A73: (
len ((
- ((a
" )
* (A
* (1,j))))
* (
Base_FinSeq (K,n,1))))
= (
len (
Base_FinSeq (K,n,1))) by
MATRIXR1: 16
.= n by
Th23;
let k be
Nat;
assume that
A74: 1
<= k and
A75: k
<= n;
k
in (
Seg n) by
A74,
A75,
FINSEQ_1: 1;
then
A76: k
in (
dom ((
- ((a
" )
* (A
* (1,j))))
* (
Base_FinSeq (K,n,1)))) by
A69,
FINSEQ_1:def 3;
(
len (
Base_FinSeq (K,n,1)))
= n by
Th23;
then
A77: ((
Base_FinSeq (K,n,1))
/. k)
= ((
Base_FinSeq (K,n,1))
. k) by
A74,
A75,
FINSEQ_4: 15;
A78: ((
- (((a
" )
* (A
* (1,j)))
* (
Base_FinSeq (K,n,1))))
. k)
= (((
- ((a
" )
* (A
* (1,j))))
* (
Base_FinSeq (K,n,1)))
. k) by
Th6
.= ((
- ((a
" )
* (A
* (1,j))))
* ((
Base_FinSeq (K,n,1))
/. k)) by
A76,
A77,
FVSUM_1: 50;
(
len (
Base_FinSeq (K,n,1)))
= n by
Th23;
then
A79: ((
Base_FinSeq (K,n,1))
/. k)
= ((
Base_FinSeq (K,n,1))
. k) by
A74,
A75,
FINSEQ_4: 15;
k
in (
dom P0) by
A23,
A74,
A75,
FINSEQ_3: 25;
then
A80: (p
. k)
= (P0
* (k,j)) by
MATRIX_0:def 8;
per cases by
A74,
XXREAL_0: 1;
suppose
A81: 1
= k;
k
<= (
len (
- (((a
" )
* (A
* (1,j)))
* (
Base_FinSeq (K,n,1))))) by
A75,
A73,
Th6;
then
A82: ((
- (((a
" )
* (A
* (1,j)))
* (
Base_FinSeq (K,n,1))))
/. k)
= ((
- ((a
" )
* (A
* (1,j))))
* ((
Base_FinSeq (K,n,1))
/. k)) by
A74,
A78,
FINSEQ_4: 15
.= ((
- ((a
" )
* (A
* (1,j))))
* (
1. K)) by
A75,
A79,
A81,
Th24
.= (
- ((a
" )
* (A
* (1,j))));
A83: (p
. k)
= (
- ((a
" )
* (A
* (1,j)))) by
A8,
A66,
A71,
A80,
A81;
((
Base_FinSeq (K,n,j))
/. k)
= ((
Base_FinSeq (K,n,j))
. k) by
A68,
A74,
A75,
FINSEQ_4: 15
.= (
0. K) by
A66,
A75,
A81,
Th25;
then (q
. k)
= ((
- ((a
" )
* (A
* (1,j))))
+ (
0. K)) by
A70,
A68,
A74,
A75,
A82,
Th5;
hence thesis by
A83,
RLVECT_1: 4;
end;
suppose
A84: 1
< k;
[k, j]
in (
Indices P0) & k
in
NAT by
A66,
A67,
A74,
A75,
MATRIX_0: 31,
ORDINAL1:def 12;
then
A85: (p
. k)
= ((
Base_FinSeq (K,n,k))
. j) by
A8,
A80,
A84;
per cases ;
suppose
A86: k
<> j;
(
len (
Base_FinSeq (K,n,1)))
= n by
Th23;
then ((
Base_FinSeq (K,n,1))
/. k)
= ((
Base_FinSeq (K,n,1))
. k) by
A74,
A75,
FINSEQ_4: 15;
then
A87: ((
- (((a
" )
* (A
* (1,j)))
* (
Base_FinSeq (K,n,1))))
. k)
= ((
- ((a
" )
* (A
* (1,j))))
* (
0. K)) by
A75,
A78,
A84,
Th25
.= (
0. K);
A88: ((
- (((a
" )
* (A
* (1,j)))
* (
Base_FinSeq (K,n,1))))
/. k)
= ((
- (((a
" )
* (A
* (1,j)))
* (
Base_FinSeq (K,n,1))))
. k) by
A70,
A74,
A75,
FINSEQ_4: 15;
A89: (p
. k)
= (
0. K) by
A66,
A67,
A85,
A86,
Th25;
((
Base_FinSeq (K,n,j))
/. k)
= ((
Base_FinSeq (K,n,j))
. k) by
A68,
A74,
A75,
FINSEQ_4: 15
.= (
0. K) by
A74,
A75,
A86,
Th25;
then (q
. k)
= ((
0. K)
+ (
0. K)) by
A70,
A68,
A74,
A75,
A88,
A87,
Th5;
hence thesis by
A89,
RLVECT_1: 4;
end;
suppose
A90: k
= j;
(
len (
Base_FinSeq (K,n,1)))
= n by
Th23;
then ((
Base_FinSeq (K,n,1))
/. k)
= ((
Base_FinSeq (K,n,1))
. k) by
A74,
A75,
FINSEQ_4: 15;
then
A91: ((
- (((a
" )
* (A
* (1,j)))
* (
Base_FinSeq (K,n,1))))
. k)
= ((
- ((a
" )
* (A
* (1,j))))
* (
0. K)) by
A75,
A78,
A84,
Th25
.= (
0. K);
A92: ((
- (((a
" )
* (A
* (1,j)))
* (
Base_FinSeq (K,n,1))))
/. k)
= ((
- (((a
" )
* (A
* (1,j)))
* (
Base_FinSeq (K,n,1))))
. k) by
A70,
A74,
A75,
FINSEQ_4: 15;
A93: (p
. k)
= (
1. K) by
A74,
A75,
A85,
A90,
Th24;
((
Base_FinSeq (K,n,j))
/. k)
= ((
Base_FinSeq (K,n,j))
. k) by
A68,
A74,
A75,
FINSEQ_4: 15
.= (
1. K) by
A74,
A75,
A90,
Th24;
then (q
. k)
= ((
0. K)
+ (
1. K)) by
A70,
A68,
A74,
A75,
A92,
A91,
Th5;
hence thesis by
A93,
RLVECT_1: 4;
end;
end;
end;
A94: (
width A)
= n by
MATRIX_0: 24;
then
A95: (
len (
Line (A,1)))
= n by
MATRIX_0:def 7;
then
A96: ((
Line (A,1))
/. 1)
= ((
Line (A,1))
. 1) by
A3,
FINSEQ_4: 15
.= a by
A44,
MATRIX_0:def 7;
A97: j
in (
Seg n) by
A66,
A67,
FINSEQ_1: 1;
A98: (
len (
Col (P0,j)))
= (
len P0) by
MATRIX_0:def 8
.= n by
MATRIX_0: 24;
(
len ((
- (((a
" )
* (A
* (1,j)))
* (
Base_FinSeq (K,n,1))))
+ (
Base_FinSeq (K,n,j))))
= n by
A70,
A68,
Th2;
then
A99: (
Col (P0,j))
= ((
- (((a
" )
* (A
* (1,j)))
* (
Base_FinSeq (K,n,1))))
+ (
Base_FinSeq (K,n,j))) by
A98,
A72,
FINSEQ_1: 14;
A100: ((
Line (A,1))
/. j)
= ((
Line (A,1))
. j) by
A66,
A67,
A95,
FINSEQ_4: 15
.= (A
* (1,j)) by
A97,
A94,
MATRIX_0:def 7;
[1, j]
in (
Indices (A
* P0)) by
A9,
A66,
A67,
MATRIX_0: 31;
then ((A
* P0)
* (1,j))
=
|((
Line (A,1)), (
Col (P0,j)))| by
A23,
A94,
MATRIX_3:def 4
.= (
|((
Line (A,1)), (
- (((a
" )
* (A
* (1,j)))
* (
Base_FinSeq (K,n,1)))))|
+
|((
Line (A,1)), (
Base_FinSeq (K,n,j)))|) by
A42,
A70,
A68,
A99,
Th11
.= (
|((
Line (A,1)), ((
- ((a
" )
* (A
* (1,j))))
* (
Base_FinSeq (K,n,1))))|
+
|((
Line (A,1)), (
Base_FinSeq (K,n,j)))|) by
Th6
.= (((
- ((a
" )
* (A
* (1,j))))
*
|((
Line (A,1)), (
Base_FinSeq (K,n,1)))|)
+
|((
Line (A,1)), (
Base_FinSeq (K,n,j)))|) by
A42,
A19,
Th10
.= (((
- ((a
" )
* (A
* (1,j))))
* a)
+
|((
Line (A,1)), (
Base_FinSeq (K,n,j)))|) by
A42,
A3,
A96,
Th35
.= ((
- (((a
" )
* (A
* (1,j)))
* a))
+
|((
Line (A,1)), (
Base_FinSeq (K,n,j)))|) by
VECTSP_1: 9
.= ((
- ((A
* (1,j))
* ((a
" )
* a)))
+
|((
Line (A,1)), (
Base_FinSeq (K,n,j)))|) by
GROUP_1:def 3
.= ((
- ((A
* (1,j))
* (
1. K)))
+
|((
Line (A,1)), (
Base_FinSeq (K,n,j)))|) by
A2,
VECTSP_1:def 10
.= ((
- ((A
* (1,j))
* (
1. K)))
+ ((
Line (A,1))
/. j)) by
A42,
A66,
A67,
Th35
.= ((
- (A
* (1,j)))
+ (A
* (1,j))) by
A100
.= (
0. K) by
RLVECT_1: 5;
hence thesis;
end;
A101: (
Indices A)
=
[:(
Seg n), (
Seg n):] & (
Indices (A
* P0))
=
[:(
Seg n), (
Seg n):] by
MATRIX_0: 24;
A102: (
len (
Col (P0,1)))
= (
len P0) by
MATRIX_0:def 8
.= n by
MATRIX_0: 24;
(
len ((a
" )
* (
Base_FinSeq (K,n,1))))
= (
len (
Base_FinSeq (K,n,1))) by
MATRIXR1: 16
.= n by
Th23;
then
A103: (
Col (P0,1))
= ((a
" )
* (
Base_FinSeq (K,n,1))) by
A102,
A25,
FINSEQ_1: 14;
A104: (
len ((a
" )
* (
Line (A,1))))
= (
len (
Line (A,1))) by
MATRIXR1: 16
.= n by
A41,
MATRIX_0:def 7;
[1, 1]
in (
Indices A) by
A3,
MATRIX_0: 31;
then ((A
* P0)
* (1,1))
=
|((
Line (A,1)), (
Col (P0,1)))| by
A23,
A41,
A101,
MATRIX_3:def 4
.= ((a
" )
*
|((
Line (A,1)), (
Base_FinSeq (K,n,1)))|) by
A42,
A19,
A103,
Th10
.= ((a
" )
* ((
Line (A,1))
/. 1)) by
A42,
A3,
Th35
.= (((a
" )
* (
Line (A,1)))
/. 1) by
A43,
POLYNOM1:def 1
.= (((a
" )
* (
Line (A,1)))
. 1) by
A3,
A104,
FINSEQ_4: 15
.= ((a
" )
* (A
* (1,1))) by
A44,
A40,
MATRIX12: 3
.= (
1. K) by
A2,
VECTSP_1:def 10;
hence thesis by
A22,
A65,
A45;
end;
theorem ::
MATRIX14:40
Th40: for A be
Matrix of n, K st n
>
0 & (A
* (1,1))
<> (
0. K) holds ex P be
Matrix of n, K st P is
invertible & ((P
* A)
* (1,1))
= (
1. K) & (for i st 1
< i & i
<= n holds ((P
* A)
* (i,1))
= (
0. K)) & for j st 1
< j & j
<= n & (A
* (1,j))
= (
0. K) holds ((P
* A)
* (1,j))
= (
0. K)
proof
let A be
Matrix of n, K;
assume that
A1: n
>
0 and
A2: (A
* (1,1))
<> (
0. K);
set B = (A
@ );
A3: (
0
+ 1)
<= n by
A1,
NAT_1: 13;
then
[1, 1]
in (
Indices A) by
MATRIX_0: 31;
then (B
* (1,1))
= (A
* (1,1)) by
MATRIX_0:def 6;
then
consider P0 be
Matrix of n, K such that
A4: P0 is
invertible and
A5: ((B
* P0)
* (1,1))
= (
1. K) and
A6: for i st 1
< i & i
<= n holds ((B
* P0)
* (1,i))
= (
0. K) and
A7: for j st 1
< j & j
<= n & (B
* (j,1))
= (
0. K) holds ((B
* P0)
* (j,1))
= (
0. K) by
A1,
A2,
Th39;
A8:
[1, 1]
in (
Indices (B
* P0)) by
A3,
MATRIX_0: 31;
A9: for j st 1
< j & j
<= n & (A
* (1,j))
= (
0. K) holds (((P0
@ )
* A)
* (1,j))
= (
0. K)
proof
let j;
assume that
A10: 1
< j & j
<= n and
A11: (A
* (1,j))
= (
0. K);
[1, j]
in (
Indices A) by
A3,
A10,
MATRIX_0: 31;
then (B
* (j,1))
= (A
* (1,j)) by
MATRIX_0:def 6;
then
A12: ((B
* P0)
* (j,1))
= (
0. K) by
A7,
A10,
A11;
[j, 1]
in (
Indices (B
* P0)) by
A3,
A10,
MATRIX_0: 31;
then (((B
* P0)
@ )
* (1,j))
= (
0. K) by
A12,
MATRIX_0:def 6;
then (((P0
@ )
* (B
@ ))
* (1,j))
= (
0. K) by
Th30;
hence thesis by
MATRIXR2: 29;
end;
A13: for i st 1
< i & i
<= n holds (((P0
@ )
* A)
* (i,1))
= (
0. K)
proof
let i;
assume 1
< i & i
<= n;
then
A14:
[1, i]
in (
Indices (B
* P0)) & ((B
* P0)
* (1,i))
= (
0. K) by
A3,
A6,
MATRIX_0: 31;
((B
* P0)
@ )
= ((P0
@ )
* (B
@ )) by
Th30
.= ((P0
@ )
* A) by
MATRIXR2: 29;
hence thesis by
A14,
MATRIX_0:def 6;
end;
A15: (P0
@ ) is
invertible by
A4;
(((P0
@ )
* A)
* (1,1))
= (((P0
@ )
* (B
@ ))
* (1,1)) by
MATRIXR2: 29
.= (((B
* P0)
@ )
* (1,1)) by
Th30
.= (
1. K) by
A5,
A8,
MATRIX_0:def 6;
hence thesis by
A13,
A15,
A9;
end;
theorem ::
MATRIX14:41
Th41: for A be
Matrix of n, K st n
>
0 & (A
* (1,1))
<> (
0. K) holds ex P,Q be
Matrix of n, K st P is
invertible & Q is
invertible & (((P
* A)
* Q)
* (1,1))
= (
1. K) & (for i st 1
< i & i
<= n holds (((P
* A)
* Q)
* (i,1))
= (
0. K)) & for j st 1
< j & j
<= n holds (((P
* A)
* Q)
* (1,j))
= (
0. K)
proof
let A be
Matrix of n, K;
assume that
A1: n
>
0 and
A2: (A
* (1,1))
<> (
0. K);
consider P be
Matrix of n, K such that
A3: P is
invertible and
A4: ((P
* A)
* (1,1))
= (
1. K) and
A5: for i st 1
< i & i
<= n holds ((P
* A)
* (i,1))
= (
0. K) and for j st 1
< j & j
<= n & (A
* (1,j))
= (
0. K) holds ((P
* A)
* (1,j))
= (
0. K) by
A1,
A2,
Th40;
consider Q be
Matrix of n, K such that
A6: Q is
invertible & (((P
* A)
* Q)
* (1,1))
= (
1. K) & for j st 1
< j & j
<= n holds (((P
* A)
* Q)
* (1,j))
= (
0. K) and
A7: for i st 1
< i & i
<= n & ((P
* A)
* (i,1))
= (
0. K) holds (((P
* A)
* Q)
* (i,1))
= (
0. K) by
A1,
A4,
Th39;
for i st 1
< i & i
<= n holds (((P
* A)
* Q)
* (i,1))
= (
0. K)
proof
let i;
assume
A8: 1
< i & i
<= n;
then ((P
* A)
* (i,1))
= (
0. K) by
A5;
hence thesis by
A7,
A8;
end;
hence thesis by
A3,
A6;
end;
begin
theorem ::
MATRIX14:42
Th42: for D be non
empty
set, m,n,i,j be
Element of
NAT , A be
Matrix of m, n, D holds (
Swap (A,i,j)) is
Matrix of m, n, D
proof
let D be non
empty
set, m,n,i,j be
Element of
NAT , A be
Matrix of m, n, D;
A1: for p be
FinSequence of D st p
in (
rng (
Swap (A,i,j))) holds (
len p)
= n
proof
let p be
FinSequence of D;
A2: (
rng (
Swap (A,i,j)))
= (
rng A) by
FINSEQ_7: 22;
assume p
in (
rng (
Swap (A,i,j)));
hence thesis by
A2,
MATRIX_0:def 2;
end;
(
rng (
Swap (A,i,j)))
= (
rng A) by
FINSEQ_7: 22;
then ex n3 be
Nat st for x be
object st x
in (
rng (
Swap (A,i,j))) holds ex p be
FinSequence of D st x
= p & (
len p)
= n3 by
MATRIX_0: 9;
then
A3: (
Swap (A,i,j)) is
Matrix of D by
MATRIX_0: 9;
(
len A)
= m & (
len (
Swap (A,i,j)))
= (
len A) by
FINSEQ_7: 18,
MATRIX_0:def 2;
hence thesis by
A3,
A1,
MATRIX_0:def 2;
end;
definition
let K;
let n be
Element of
NAT , i0 be
Nat;
::
MATRIX14:def3
func
SwapDiagonal (K,n,i0) ->
Matrix of n, K equals (
Swap ((
1. (K,n)),1,i0));
correctness
proof
i0
in
NAT by
ORDINAL1:def 12;
hence thesis by
Th42;
end;
end
theorem ::
MATRIX14:43
Th43: for n be
Element of
NAT , i0 be
Nat, A be
Matrix of n, K st 1
<= i0 & i0
<= n & A
= (
SwapDiagonal (K,n,i0)) holds for i,j be
Nat st 1
<= i & i
<= n & 1
<= j & j
<= n holds (i0
<> 1 implies (i
= 1 & j
= i0 implies (A
* (i,j))
= (
1. K)) & (i
= i0 & j
= 1 implies (A
* (i,j))
= (
1. K)) & (i
= 1 & j
= 1 implies (A
* (i,j))
= (
0. K)) & (i
= i0 & j
= i0 implies (A
* (i,j))
= (
0. K)) & ( not ((i
= 1 or i
= i0) & (j
= 1 or j
= i0)) implies (i
= j implies (A
* (i,j))
= (
1. K)) & (i
<> j implies (A
* (i,j))
= (
0. K))))
proof
let n be
Element of
NAT , i0 be
Nat, A be
Matrix of n, K;
assume
A1: 1
<= i0 & i0
<= n;
assume
A2: A
= (
SwapDiagonal (K,n,i0));
let i,j be
Nat;
assume that
A3: 1
<= i and
A4: i
<= n and
A5: 1
<= j and
A6: j
<= n;
A7:
[i, j]
in (
Indices A) by
A3,
A4,
A5,
A6,
MATRIX_0: 31;
assume
A8: i0
<> 1;
thus i
= 1 & j
= i0 implies (A
* (i,j))
= (
1. K)
proof
reconsider j0 = (i0
-' 2) as
Element of
NAT ;
reconsider f = (
1. (K,n)) as
FinSequence of (the
carrier of K
* );
assume that
A9: i
= 1 and
A10: j
= i0;
reconsider qq = (f
/. i0) as
FinSequence of the
carrier of K by
FINSEQ_1:def 11;
i0
<= (
len f) by
A6,
A10,
MATRIX_0:def 2;
then (f
/. i0)
= (f
. i0) by
A5,
A10,
FINSEQ_4: 15
.= (
Base_FinSeq (K,n,i0)) by
A5,
A6,
A10,
Th26;
then
A11: (qq
. j)
= (
1. K) by
A5,
A6,
A10,
Th24;
reconsider g = (f
/^ 1) as
FinSequence of (the
carrier of K
* );
A12: (
len f)
= n by
MATRIX_0:def 2;
reconsider h = (g
| j0) as
FinSequence of (the
carrier of K
* );
(
len (
<*(f
/. i0)*>
^ h))
= ((
len
<*(f
/. i0)*>)
+ (
len h)) by
FINSEQ_1: 22
.= (1
+ (
len h)) by
FINSEQ_1: 39;
then
A13: 1
<= (
len (
<*(f
/. i0)*>
^ h)) by
NAT_1: 11;
A14: 1
= (
len
<*(f
/. i0)*>) by
FINSEQ_1: 39;
1
< i0 by
A5,
A8,
A10,
XXREAL_0: 1;
then (A
. i)
= ((((
<*(f
/. i0)*>
^ h)
^
<*(f
/. 1)*>)
^ (f
/^ i0))
. i) by
A2,
A6,
A10,
A12,
FINSEQ_7: 28
.= (((
<*(f
/. i0)*>
^ h)
^ (
<*(f
/. 1)*>
^ (f
/^ i0)))
. i) by
FINSEQ_1: 32
.= ((
<*(f
/. i0)*>
^ h)
. 1) by
A9,
A13,
FINSEQ_1: 64
.= (
<*(f
/. i0)*>
. 1) by
A14,
FINSEQ_1: 64
.= (f
/. i0) by
FINSEQ_1:def 8;
hence thesis by
A7,
A11,
MATRIX_0:def 5;
end;
A15: (
len A)
= n by
MATRIX_0: 24;
A16: 1
<= n by
A3,
A4,
XXREAL_0: 2;
thus i
= i0 & j
= 1 implies (A
* (i,j))
= (
1. K)
proof
reconsider f = (
1. (K,n)) as
FinSequence of (the
carrier of K
* );
assume that
A17: i
= i0 and
A18: j
= 1;
reconsider qq = (f
/. 1) as
FinSequence of the
carrier of K by
FINSEQ_1:def 11;
A19: (
len f)
= n by
MATRIX_0:def 2;
then (f
/. 1)
= (f
. 1) by
A16,
FINSEQ_4: 15
.= (
Base_FinSeq (K,n,1)) by
A16,
Th26;
then
A20: (qq
. j)
= (
1. K) by
A6,
A18,
Th24;
(A
. i)
= (A
/. i) by
A15,
A3,
A4,
FINSEQ_4: 15
.= (f
/. 1) by
A2,
A3,
A4,
A6,
A17,
A18,
A19,
FINSEQ_7: 31;
hence thesis by
A7,
A20,
MATRIX_0:def 5;
end;
thus i
= 1 & j
= 1 implies (A
* (i,j))
= (
0. K)
proof
reconsider f = (
1. (K,n)) as
FinSequence of (the
carrier of K
* );
assume that
A21: i
= 1 and
A22: j
= 1;
reconsider qq = (f
/. i0) as
FinSequence of the
carrier of K by
FINSEQ_1:def 11;
A23: (
len f)
= n by
MATRIX_0:def 2;
then (f
/. i0)
= (f
. i0) by
A1,
FINSEQ_4: 15
.= (
Base_FinSeq (K,n,i0)) by
A1,
Th26;
then
A24: (qq
. j)
= (
0. K) by
A4,
A8,
A21,
A22,
Th25;
(A
. i)
= (A
/. i) by
A15,
A3,
A4,
FINSEQ_4: 15
.= (f
/. i0) by
A1,
A2,
A4,
A21,
A23,
FINSEQ_7: 31;
hence thesis by
A7,
A24,
MATRIX_0:def 5;
end;
thus i
= i0 & j
= i0 implies (A
* (i,j))
= (
0. K)
proof
reconsider f = (
1. (K,n)) as
FinSequence of (the
carrier of K
* );
assume that
A25: i
= i0 and
A26: j
= i0;
reconsider qq = (f
/. 1) as
FinSequence of the
carrier of K by
FINSEQ_1:def 11;
A27: (
len f)
= n by
MATRIX_0:def 2;
then (f
/. 1)
= (f
. 1) by
A16,
FINSEQ_4: 15
.= (
Base_FinSeq (K,n,1)) by
A16,
Th26;
then
A28: (qq
. j)
= (
0. K) by
A1,
A8,
A26,
Th25;
(A
. i)
= (A
/. i) by
A15,
A3,
A4,
FINSEQ_4: 15
.= (f
/. 1) by
A2,
A3,
A4,
A16,
A25,
A27,
FINSEQ_7: 31;
hence thesis by
A7,
A28,
MATRIX_0:def 5;
end;
assume
A29: not ((i
= 1 or i
= i0) & (j
= 1 or j
= i0));
per cases by
A29;
suppose
A30: i
<> 1 & i
<> i0;
thus i
= j implies (A
* (i,j))
= (
1. K)
proof
reconsider f = (
1. (K,n)) as
FinSequence of (the
carrier of K
* );
assume
A31: i
= j;
reconsider qq = (f
/. i) as
FinSequence of the
carrier of K by
FINSEQ_1:def 11;
j
<= (
len f) by
A6,
MATRIX_0:def 2;
then (f
/. i)
= (f
. i) by
A5,
A31,
FINSEQ_4: 15
.= (
Base_FinSeq (K,n,i)) by
A3,
A4,
Th26;
then
A32: (qq
. j)
= (
1. K) by
A3,
A4,
A31,
Th24;
A33: (
len f)
= n by
MATRIX_0:def 2;
(A
. i)
= (A
/. i) by
A15,
A3,
A4,
FINSEQ_4: 15
.= (f
/. i) by
A2,
A3,
A4,
A30,
A33,
FINSEQ_7: 30;
hence thesis by
A7,
A32,
MATRIX_0:def 5;
end;
thus i
<> j implies (A
* (i,j))
= (
0. K)
proof
reconsider f = (
1. (K,n)) as
FinSequence of (the
carrier of K
* );
assume
A34: i
<> j;
reconsider qq = (f
/. i) as
FinSequence of the
carrier of K by
FINSEQ_1:def 11;
A35: (
len f)
= n by
MATRIX_0:def 2;
then (f
/. i)
= (f
. i) by
A3,
A4,
FINSEQ_4: 15
.= (
Base_FinSeq (K,n,i)) by
A3,
A4,
Th26;
then
A36: (qq
. j)
= (
0. K) by
A5,
A6,
A34,
Th25;
(A
. i)
= (A
/. i) by
A15,
A3,
A4,
FINSEQ_4: 15
.= (f
/. i) by
A2,
A3,
A4,
A30,
A35,
FINSEQ_7: 30;
hence thesis by
A7,
A36,
MATRIX_0:def 5;
end;
end;
suppose
A37: j
<> 1 & j
<> i0;
thus i
= j implies (A
* (i,j))
= (
1. K)
proof
reconsider f = (
1. (K,n)) as
FinSequence of (the
carrier of K
* );
assume
A38: i
= j;
reconsider qq = (f
/. i) as
FinSequence of the
carrier of K by
FINSEQ_1:def 11;
j
<= (
len f) by
A6,
MATRIX_0:def 2;
then (f
/. i)
= (f
. i) by
A5,
A38,
FINSEQ_4: 15
.= (
Base_FinSeq (K,n,i)) by
A3,
A4,
Th26;
then
A39: (qq
. j)
= (
1. K) by
A3,
A4,
A38,
Th24;
A40: (
len f)
= n by
MATRIX_0:def 2;
(A
. i)
= (A
/. i) by
A15,
A3,
A4,
FINSEQ_4: 15
.= (f
/. i) by
A2,
A3,
A4,
A37,
A38,
A40,
FINSEQ_7: 30;
hence thesis by
A7,
A39,
MATRIX_0:def 5;
end;
thus i
<> j implies (A
* (i,j))
= (
0. K)
proof
assume
A41: i
<> j;
per cases ;
suppose
A42: not (i
= 1 or i
= i0);
reconsider f = (
1. (K,n)) as
FinSequence of (the
carrier of K
* );
reconsider qq = (f
/. i) as
FinSequence of the
carrier of K by
FINSEQ_1:def 11;
A43: (
len f)
= n by
MATRIX_0:def 2;
then (f
/. i)
= (f
. i) by
A3,
A4,
FINSEQ_4: 15
.= (
Base_FinSeq (K,n,i)) by
A3,
A4,
Th26;
then
A44: (qq
. j)
= (
0. K) by
A5,
A6,
A41,
Th25;
(A
. i)
= (A
/. i) by
A15,
A3,
A4,
FINSEQ_4: 15
.= (f
/. i) by
A2,
A3,
A4,
A42,
A43,
FINSEQ_7: 30;
hence thesis by
A7,
A44,
MATRIX_0:def 5;
end;
suppose
A45: i
= 1 or i
= i0;
per cases by
A45;
suppose
A46: i
= 1;
reconsider f = (
1. (K,n)) as
FinSequence of (the
carrier of K
* );
reconsider qq = (f
/. i0) as
FinSequence of the
carrier of K by
FINSEQ_1:def 11;
A47: (
len f)
= n by
MATRIX_0:def 2;
then (f
/. i0)
= (f
. i0) by
A1,
FINSEQ_4: 15
.= (
Base_FinSeq (K,n,i0)) by
A1,
Th26;
then
A48: (qq
. j)
= (
0. K) by
A5,
A6,
A37,
Th25;
(A
. i)
= (A
/. i) by
A15,
A3,
A4,
FINSEQ_4: 15
.= (f
/. i0) by
A1,
A2,
A4,
A46,
A47,
FINSEQ_7: 31;
hence thesis by
A7,
A48,
MATRIX_0:def 5;
end;
suppose
A49: i
= i0;
reconsider f = (
1. (K,n)) as
FinSequence of (the
carrier of K
* );
reconsider qq = (f
/. 1) as
FinSequence of the
carrier of K by
FINSEQ_1:def 11;
A50: (
len f)
= n by
MATRIX_0:def 2;
then (f
/. 1)
= (f
. 1) by
A16,
FINSEQ_4: 15
.= (
Base_FinSeq (K,n,1)) by
A16,
Th26;
then
A51: (qq
. j)
= (
0. K) by
A5,
A6,
A37,
Th25;
(A
. i)
= (A
/. i) by
A15,
A3,
A4,
FINSEQ_4: 15
.= (f
/. 1) by
A2,
A3,
A4,
A16,
A49,
A50,
FINSEQ_7: 31;
hence thesis by
A7,
A51,
MATRIX_0:def 5;
end;
end;
end;
end;
end;
theorem ::
MATRIX14:44
Th44: for n be
Element of
NAT , A be
Matrix of n, K holds for i be
Nat st 1
<= i & i
<= n holds ((
SwapDiagonal (K,n,1))
* (i,i))
= (
1. K)
proof
let n be
Element of
NAT , A be
Matrix of n, K;
set A = (
SwapDiagonal (K,n,1));
let i be
Nat;
assume 1
<= i & i
<= n;
then A
= (
1. (K,n)) &
[i, i]
in (
Indices A) by
FINSEQ_7: 19,
MATRIX_0: 31;
hence thesis by
MATRIX_1:def 3;
end;
theorem ::
MATRIX14:45
Th45: for n be
Element of
NAT , A be
Matrix of n, K holds for i,j be
Nat st 1
<= i & i
<= n & 1
<= j & j
<= n holds (i
<> j implies ((
SwapDiagonal (K,n,1))
* (i,j))
= (
0. K))
proof
let n be
Element of
NAT , A be
Matrix of n, K;
set A = (
SwapDiagonal (K,n,1));
let i,j be
Nat;
assume 1
<= i & i
<= n & 1
<= j & j
<= n;
then
A1:
[i, j]
in (
Indices A) by
MATRIX_0: 31;
A
= (
1. (K,n)) by
FINSEQ_7: 19;
hence thesis by
A1,
MATRIX_1:def 3;
end;
theorem ::
MATRIX14:46
Th46: for K holds for n,i0 be
Element of
NAT , A be
Matrix of n, K st i0
= 1 & for i,j be
Nat st 1
<= i & i
<= n & 1
<= j & j
<= n holds (i
= j implies (A
* (i,j))
= (
1. K)) & (i
<> j implies (A
* (i,j))
= (
0. K)) holds A
= (
SwapDiagonal (K,n,i0))
proof
let K;
let n,i0 be
Element of
NAT , A be
Matrix of n, K;
assume
A1: i0
= 1;
assume
A2: for i,j be
Nat st 1
<= i & i
<= n & 1
<= j & j
<= n holds (i
= j implies (A
* (i,j))
= (
1. K)) & (i
<> j implies (A
* (i,j))
= (
0. K));
for i,j be
Nat st
[i, j]
in (
Indices A) holds (A
* (i,j))
= ((
SwapDiagonal (K,n,i0))
* (i,j))
proof
let i,j be
Nat;
assume
A3:
[i, j]
in (
Indices A);
(
Indices A)
=
[:(
Seg n), (
Seg n):] by
MATRIX_0: 24;
then i
in (
Seg n) by
A3,
ZFMISC_1: 87;
then
A4: 1
<= i & i
<= n by
FINSEQ_1: 1;
then
A5: i
= j implies (A
* (i,j))
= (
1. K) by
A2;
(
width A)
= n by
MATRIX_0: 24;
then j
in (
Seg n) by
A3,
ZFMISC_1: 87;
then
A6: 1
<= j & j
<= n by
FINSEQ_1: 1;
then i
<> j implies (A
* (i,j))
= (
0. K) by
A2,
A4;
hence thesis by
A1,
A4,
A6,
A5,
Th44,
Th45;
end;
hence thesis by
MATRIX_0: 27;
end;
theorem ::
MATRIX14:47
Th47: for K holds for n,i0 be
Element of
NAT , A be
Matrix of n, K st 1
<= i0 & i0
<= n & i0
<> 1 & for i,j be
Nat st 1
<= i & i
<= n & 1
<= j & j
<= n holds (i
= 1 & j
= i0 implies (A
* (i,j))
= (
1. K)) & (i
= i0 & j
= 1 implies (A
* (i,j))
= (
1. K)) & (i
= 1 & j
= 1 implies (A
* (i,j))
= (
0. K)) & (i
= i0 & j
= i0 implies (A
* (i,j))
= (
0. K)) & ( not ((i
= 1 or i
= i0) & (j
= 1 or j
= i0)) implies (i
= j implies (A
* (i,j))
= (
1. K)) & (i
<> j implies (A
* (i,j))
= (
0. K))) holds A
= (
SwapDiagonal (K,n,i0))
proof
let K;
let n,i0 be
Element of
NAT , A be
Matrix of n, K;
assume
A1: 1
<= i0 & i0
<= n & i0
<> 1;
assume
A2: for i,j be
Nat st 1
<= i & i
<= n & 1
<= j & j
<= n holds (i
= 1 & j
= i0 implies (A
* (i,j))
= (
1. K)) & (i
= i0 & j
= 1 implies (A
* (i,j))
= (
1. K)) & (i
= 1 & j
= 1 implies (A
* (i,j))
= (
0. K)) & (i
= i0 & j
= i0 implies (A
* (i,j))
= (
0. K)) & ( not ((i
= 1 or i
= i0) & (j
= 1 or j
= i0)) implies (i
= j implies (A
* (i,j))
= (
1. K)) & (i
<> j implies (A
* (i,j))
= (
0. K)));
for i,j be
Nat st
[i, j]
in (
Indices A) holds (A
* (i,j))
= ((
SwapDiagonal (K,n,i0))
* (i,j))
proof
let i,j be
Nat;
assume
A3:
[i, j]
in (
Indices A);
(
Indices A)
=
[:(
Seg n), (
Seg n):] by
MATRIX_0: 24;
then
A4: i
in (
Seg n) by
A3,
ZFMISC_1: 87;
then
A5: 1
<= i by
FINSEQ_1: 1;
A6: i
= i0 & j
= i0 implies ((
SwapDiagonal (K,n,i0))
* (i,j))
= (
0. K) by
A1,
Th43;
(
width A)
= n by
MATRIX_0: 24;
then
A7: j
in (
Seg n) by
A3,
ZFMISC_1: 87;
then
A8: 1
<= j by
FINSEQ_1: 1;
A9: i
<= n by
A4,
FINSEQ_1: 1;
then
A10: i
= i0 & j
= i0 implies (A
* (i,j))
= (
0. K) by
A2,
A5;
A11: j
<= n by
A7,
FINSEQ_1: 1;
then
A12: i
= 1 & j
= i0 implies (A
* (i,j))
= (
1. K) by
A2,
A9,
A8;
A13: i
= 1 & j
= 1 implies ((
SwapDiagonal (K,n,i0))
* (i,j))
= (
0. K) by
A1,
A9,
Th43;
A14: i
= 1 & j
= 1 implies (A
* (i,j))
= (
0. K) by
A2,
A9;
A15: i
= i0 & j
= 1 implies (A
* (i,j))
= (
1. K) by
A2,
A5,
A9,
A11;
not ((i
= 1 or i
= i0) & (j
= 1 or j
= i0)) implies (i
= j implies (A
* (i,j))
= (
1. K)) & (i
<> j implies (A
* (i,j))
= (
0. K)) by
A2,
A5,
A9,
A8,
A11;
hence thesis by
A1,
A5,
A9,
A8,
A11,
A12,
A15,
A14,
A10,
A13,
A6,
Th43;
end;
hence thesis by
MATRIX_0: 27;
end;
theorem ::
MATRIX14:48
Th48: for A be
Matrix of n, K, i0 be
Element of
NAT st 1
<= i0 & i0
<= n holds (for j st 1
<= j & j
<= n holds (((
SwapDiagonal (K,n,i0))
* A)
* (i0,j))
= (A
* (1,j)) & (((
SwapDiagonal (K,n,i0))
* A)
* (1,j))
= (A
* (i0,j))) & (for i, j st i
<> 1 & i
<> i0 & 1
<= i & i
<= n & 1
<= j & j
<= n holds (((
SwapDiagonal (K,n,i0))
* A)
* (i,j))
= (A
* (i,j)))
proof
let A be
Matrix of n, K, i0 be
Element of
NAT ;
assume that
A1: 1
<= i0 and
A2: i0
<= n;
thus for j st 1
<= j & j
<= n holds (((
SwapDiagonal (K,n,i0))
* A)
* (i0,j))
= (A
* (1,j)) & (((
SwapDiagonal (K,n,i0))
* A)
* (1,j))
= (A
* (i0,j))
proof
set Q = (
SwapDiagonal (K,n,i0)), P = A;
let j;
A3: (
width Q)
= n by
MATRIX_0: 24;
A4: 1
<= n by
A1,
A2,
XXREAL_0: 2;
A5: for j2 be
Nat st j2
in (
Seg (
width Q)) holds ((
Base_FinSeq (K,n,i0))
. j2)
= (Q
* (1,j2))
proof
let j2 be
Nat;
reconsider j3 = j2 as
Element of
NAT by
ORDINAL1:def 12;
assume
A6: j2
in (
Seg (
width Q));
then
A7: 1
<= j2 by
FINSEQ_1: 1;
A8: j2
<= n by
A3,
A6,
FINSEQ_1: 1;
now
per cases ;
suppose
A9: i0
<> 1;
now
per cases ;
suppose i0
= 1 & j2
= i0;
hence thesis by
A9;
end;
suppose
A10: i0
= i0 & j2
= 1;
then ((
SwapDiagonal (K,n,i0))
* (1,j3))
= (
0. K) by
A1,
A2,
A8,
A9,
Th43;
hence thesis by
A4,
A9,
A10,
Th25;
end;
suppose i0
= 1 & j2
= 1;
hence thesis by
A9;
end;
suppose
A11: i0
= i0 & j2
= i0;
then ((
SwapDiagonal (K,n,i0))
* (1,j3))
= (
1. K) by
A1,
A2,
A4,
A9,
Th43;
hence thesis by
A7,
A8,
A11,
Th24;
end;
suppose
A12: not ((i0
= 1 or i0
= i0) & (j2
= 1 or j2
= i0));
now
per cases ;
suppose i0
= j2;
hence thesis by
A12;
end;
suppose
A13: i0
<> j2;
((
SwapDiagonal (K,n,i0))
* (1,j3))
= (
0. K) by
A1,
A2,
A4,
A7,
A8,
A9,
A12,
Th43;
hence thesis by
A7,
A8,
A13,
Th25;
end;
end;
hence thesis;
end;
end;
hence thesis;
end;
suppose
A14: i0
= 1;
now
per cases ;
suppose
A15: i0
= j2;
then ((
SwapDiagonal (K,n,i0))
* (1,j3))
= (
1. K) by
A8,
A14,
Th44;
hence thesis by
A7,
A8,
A15,
Th24;
end;
suppose
A16: i0
<> j2;
then ((
SwapDiagonal (K,n,i0))
* (1,j3))
= (
0. K) by
A2,
A7,
A8,
A14,
Th45;
hence thesis by
A7,
A8,
A16,
Th25;
end;
end;
hence thesis;
end;
end;
hence thesis;
end;
assume
A17: 1
<= j & j
<= n;
then 1
<= n by
XXREAL_0: 2;
then
A18: (
Indices (Q
* P))
=
[:(
Seg n), (
Seg n):] & 1
in (
Seg n) by
FINSEQ_1: 1,
MATRIX_0: 24;
A19: 1
<= n by
A1,
A2,
XXREAL_0: 2;
A20: for j2 be
Nat st j2
in (
Seg (
width Q)) holds ((
Base_FinSeq (K,n,1))
. j2)
= (Q
* (i0,j2))
proof
let j2 be
Nat;
reconsider j3 = j2 as
Element of
NAT by
ORDINAL1:def 12;
assume
A21: j2
in (
Seg (
width Q));
then
A22: 1
<= j2 by
FINSEQ_1: 1;
A23: j2
<= n by
A3,
A21,
FINSEQ_1: 1;
now
per cases ;
suppose
A24: i0
<> 1;
now
per cases ;
suppose i0
= 1 & j2
= i0;
hence thesis by
A24;
end;
suppose
A25: i0
= i0 & j2
= 1;
then ((
SwapDiagonal (K,n,i0))
* (i0,j3))
= (
1. K) by
A1,
A2,
A19,
A24,
Th43;
hence thesis by
A23,
A25,
Th24;
end;
suppose i0
= 1 & j2
= 1;
hence thesis by
A24;
end;
suppose
A26: i0
= i0 & j2
= i0;
then ((
SwapDiagonal (K,n,i0))
* (i0,j3))
= (
0. K) by
A22,
A23,
A24,
Th43;
hence thesis by
A1,
A2,
A24,
A26,
Th25;
end;
suppose
A27: not ((i0
= 1 or i0
= i0) & (j2
= 1 or j2
= i0));
now
((
SwapDiagonal (K,n,i0))
* (i0,j3))
= (
0. K) by
A1,
A2,
A22,
A23,
A24,
A27,
Th43;
hence thesis by
A22,
A23,
A27,
Th25;
end;
hence thesis;
end;
end;
hence thesis;
end;
suppose
A28: i0
= 1;
now
per cases ;
suppose
A29: i0
= j2;
then ((
SwapDiagonal (K,n,i0))
* (i0,j3))
= (
1. K) by
A23,
A28,
Th44;
hence thesis by
A23,
A28,
A29,
Th24;
end;
suppose
A30: i0
<> j2;
then ((
SwapDiagonal (K,n,1))
* (i0,j3))
= (
0. K) by
A1,
A2,
A22,
A23,
Th45;
hence thesis by
A22,
A23,
A28,
A30,
Th25;
end;
end;
hence thesis;
end;
end;
hence thesis;
end;
(
len (
Base_FinSeq (K,n,1)))
= n by
Th23
.= (
width Q) by
MATRIX_0: 24;
then
A31: (
Line (Q,i0))
= (
Base_FinSeq (K,n,1)) by
A20,
MATRIX_0:def 7;
A32: (
len P)
= n by
MATRIX_0: 24;
then
A33: (
len (
Col (P,j)))
= n by
MATRIX_0:def 8;
A34: 1
<= n by
A17,
XXREAL_0: 2;
then 1
in (
Seg n) by
FINSEQ_1: 1;
then
A35: 1
in (
dom P) by
A32,
FINSEQ_1:def 3;
j
in (
Seg n) by
A17,
FINSEQ_1: 1;
then
A36:
[1, j]
in (
Indices (Q
* P)) by
A18,
ZFMISC_1: 87;
[i0, j]
in (
Indices (Q
* P)) by
A1,
A2,
A17,
MATRIX_0: 31;
hence (((
SwapDiagonal (K,n,i0))
* A)
* (i0,j))
=
|((
Base_FinSeq (K,n,1)), (
Col (P,j)))| by
A3,
A32,
A31,
MATRIX_3:def 4
.=
|((
Col (P,j)), (
Base_FinSeq (K,n,1)))| by
FVSUM_1: 90
.= ((
Col (P,j))
. 1) by
A34,
A33,
Th35
.= (A
* (1,j)) by
A35,
MATRIX_0:def 8;
i0
in (
Seg n) by
A1,
A2,
FINSEQ_1: 1;
then
A37: i0
in (
dom P) by
A32,
FINSEQ_1:def 3;
(
len (
Base_FinSeq (K,n,i0)))
= n by
Th23
.= (
width Q) by
MATRIX_0: 24;
then (
Line (Q,1))
= (
Base_FinSeq (K,n,i0)) by
A5,
MATRIX_0:def 7;
hence (((
SwapDiagonal (K,n,i0))
* A)
* (1,j))
=
|((
Base_FinSeq (K,n,i0)), (
Col (P,j)))| by
A3,
A32,
A36,
MATRIX_3:def 4
.=
|((
Col (P,j)), (
Base_FinSeq (K,n,i0)))| by
FVSUM_1: 90
.= ((
Col (P,j))
. i0) by
A1,
A2,
A33,
Th35
.= (A
* (i0,j)) by
A37,
MATRIX_0:def 8;
end;
thus for i, j st i
<> 1 & i
<> i0 & 1
<= i & i
<= n & 1
<= j & j
<= n holds (((
SwapDiagonal (K,n,i0))
* A)
* (i,j))
= (A
* (i,j))
proof
set Q = (
SwapDiagonal (K,n,i0)), P = A;
let i, j;
assume that
A38: i
<> 1 and
A39: i
<> i0 and
A40: 1
<= i & i
<= n and
A41: 1
<= j & j
<= n;
A42: (
len P)
= n by
MATRIX_0: 24;
then
A43: (
len (
Col (P,j)))
= n by
MATRIX_0:def 8;
A44: (
width Q)
= n by
MATRIX_0: 24;
A45: for j2 be
Nat st j2
in (
Seg (
width Q)) holds ((
Base_FinSeq (K,n,i))
. j2)
= (Q
* (i,j2))
proof
let j2 be
Nat;
reconsider j3 = j2 as
Element of
NAT by
ORDINAL1:def 12;
assume j2
in (
Seg (
width Q));
then
A46: 1
<= j2 & j2
<= n by
A44,
FINSEQ_1: 1;
now
per cases ;
suppose
A47: i0
<> 1;
now
per cases ;
suppose i
= 1 & j2
= i0;
hence thesis by
A38;
end;
suppose i
= i0 & j2
= 1;
hence thesis by
A39;
end;
suppose i
= 1 & j2
= 1;
hence thesis by
A38;
end;
suppose i
= i0 & j2
= i0;
hence thesis by
A39;
end;
suppose
A48: not ((i
= 1 or i
= i0) & (j2
= 1 or j2
= i0));
now
per cases ;
suppose
A49: i
= j2;
then ((
SwapDiagonal (K,n,i0))
* (i,j3))
= (
1. K) by
A1,
A2,
A46,
A47,
A48,
Th43;
hence thesis by
A40,
A49,
Th24;
end;
suppose
A50: i
<> j2;
then ((
SwapDiagonal (K,n,i0))
* (i,j3))
= (
0. K) by
A1,
A2,
A38,
A39,
A40,
A46,
A47,
Th43;
hence thesis by
A46,
A50,
Th25;
end;
end;
hence thesis;
end;
end;
hence thesis;
end;
suppose
A51: i0
= 1;
now
per cases ;
suppose
A52: i
= j2;
then ((
SwapDiagonal (K,n,i0))
* (i,j3))
= (
1. K) by
A46,
A51,
Th44;
hence thesis by
A46,
A52,
Th24;
end;
suppose
A53: i
<> j2;
then ((
SwapDiagonal (K,n,i0))
* (i,j3))
= (
0. K) by
A40,
A46,
A51,
Th45;
hence thesis by
A46,
A53,
Th25;
end;
end;
hence thesis;
end;
end;
hence thesis;
end;
i
in (
Seg n) by
A40,
FINSEQ_1: 1;
then
A54: i
in (
dom P) by
A42,
FINSEQ_1:def 3;
(
len (
Base_FinSeq (K,n,i)))
= n by
Th23
.= (
width Q) by
MATRIX_0: 24;
then
A55: (
Line (Q,i))
= (
Base_FinSeq (K,n,i)) by
A45,
MATRIX_0:def 7;
[i, j]
in (
Indices (Q
* P)) by
A40,
A41,
MATRIX_0: 31;
hence (((
SwapDiagonal (K,n,i0))
* A)
* (i,j))
=
|((
Base_FinSeq (K,n,i)), (
Col (P,j)))| by
A44,
A42,
A55,
MATRIX_3:def 4
.=
|((
Col (P,j)), (
Base_FinSeq (K,n,i)))| by
FVSUM_1: 90
.= ((
Col (P,j))
. i) by
A40,
A43,
Th35
.= (A
* (i,j)) by
A54,
MATRIX_0:def 8;
end;
end;
theorem ::
MATRIX14:49
Th49: for i0 be
Element of
NAT st 1
<= i0 & i0
<= n holds (
SwapDiagonal (K,n,i0)) is
invertible & ((
SwapDiagonal (K,n,i0))
~ )
= (
SwapDiagonal (K,n,i0))
proof
let i0 be
Element of
NAT ;
assume that
A1: 1
<= i0 and
A2: i0
<= n;
A3: 1
<= n by
A1,
A2,
XXREAL_0: 2;
set R = ((
SwapDiagonal (K,n,i0))
* (
SwapDiagonal (K,n,i0)));
A4: (
Indices R)
=
[:(
Seg n), (
Seg n):] by
MATRIX_0: 24;
A5: (
width R)
= n by
MATRIX_0: 24;
A6: for i4,j4 be
Nat st
[i4, j4]
in (
Indices R) holds (R
* (i4,j4))
= ((
1. (K,n))
* (i4,j4))
proof
let i4,j4 be
Nat;
reconsider i = i4, j = j4 as
Element of
NAT by
ORDINAL1:def 12;
assume
A7:
[i4, j4]
in (
Indices R);
then
A8:
[i, j]
in (
Indices (
1. (K,n))) by
A4,
MATRIX_0: 24;
j
in (
Seg n) by
A5,
A7,
ZFMISC_1: 87;
then
A9: 1
<= j & j
<= n by
FINSEQ_1: 1;
A10: i
in (
Seg n) by
A4,
A7,
ZFMISC_1: 87;
then
A11: 1
<= i by
FINSEQ_1: 1;
A12: i
<= n by
A10,
FINSEQ_1: 1;
per cases by
A11,
XXREAL_0: 1;
suppose
A13: 1
< i;
now
per cases ;
suppose
A14: i
<> i0;
now
per cases ;
suppose
A15: i
= j;
A16:
now
per cases ;
suppose i0
<> 1;
hence ((
SwapDiagonal (K,n,i0))
* (i,j))
= (
1. K) by
A1,
A2,
A12,
A13,
A14,
A15,
Th43;
end;
suppose i0
= 1;
hence ((
SwapDiagonal (K,n,i0))
* (i,j))
= (
1. K) by
A11,
A12,
A15,
Th44;
end;
end;
((
1. (K,n))
* (i,j))
= (
1. K) by
A8,
A15,
MATRIX_1:def 3;
hence (R
* (i,j))
= ((
1. (K,n))
* (i,j)) by
A1,
A2,
A12,
A9,
A13,
A14,
A16,
Th48;
end;
suppose
A17: i
<> j;
A18:
now
per cases ;
suppose i0
= 1;
hence ((
SwapDiagonal (K,n,i0))
* (i,j))
= (
0. K) by
A11,
A12,
A9,
A17,
Th45;
end;
suppose i0
<> 1;
hence ((
SwapDiagonal (K,n,i0))
* (i,j))
= (
0. K) by
A1,
A2,
A12,
A9,
A13,
A14,
A17,
Th43;
end;
end;
((
1. (K,n))
* (i,j))
= (
0. K) by
A8,
A17,
MATRIX_1:def 3;
hence (R
* (i,j))
= ((
1. (K,n))
* (i,j)) by
A1,
A2,
A12,
A9,
A13,
A14,
A18,
Th48;
end;
end;
hence (R
* (i,j))
= ((
1. (K,n))
* (i,j));
end;
suppose
A19: i
= i0;
now
per cases ;
suppose
A20: i
= j;
A21:
now
per cases ;
suppose i0
= 1;
hence ((
SwapDiagonal (K,n,i0))
* (1,i0))
= (
1. K) by
A13,
A19;
end;
suppose i0
<> 1;
hence ((
SwapDiagonal (K,n,i0))
* (1,i0))
= (
1. K) by
A1,
A2,
A3,
Th43;
end;
end;
((
1. (K,n))
* (i,j))
= (
1. K) by
A8,
A20,
MATRIX_1:def 3;
hence (R
* (i,j))
= ((
1. (K,n))
* (i,j)) by
A1,
A2,
A19,
A20,
A21,
Th48;
end;
suppose
A22: i
<> j;
A23:
now
now
per cases ;
suppose j
= 1;
hence ((
SwapDiagonal (K,n,i0))
* (1,j))
= (
0. K) by
A2,
A3,
A13,
A19,
Th43;
end;
suppose j
<> 1;
hence ((
SwapDiagonal (K,n,i0))
* (1,j))
= (
0. K) by
A3,
A12,
A9,
A13,
A19,
A22,
Th43;
end;
end;
hence ((
SwapDiagonal (K,n,i0))
* (1,j))
= (
0. K);
end;
((
1. (K,n))
* (i,j))
= (
0. K) by
A8,
A22,
MATRIX_1:def 3;
hence (R
* (i,j))
= ((
1. (K,n))
* (i,j)) by
A11,
A12,
A9,
A19,
A23,
Th48;
end;
end;
hence (R
* (i,j))
= ((
1. (K,n))
* (i,j));
end;
end;
hence thesis;
end;
suppose
A24: 1
= i;
now
per cases ;
suppose
A25: i0
<> 1;
per cases ;
suppose
A26: j
<> 1;
A27:
now
per cases ;
suppose j
= i0;
hence ((
SwapDiagonal (K,n,i0))
* (i0,j))
= (
0. K) by
A9,
A26,
Th43;
end;
suppose j
<> i0;
hence ((
SwapDiagonal (K,n,i0))
* (i0,j))
= (
0. K) by
A1,
A2,
A9,
A25,
A26,
Th43;
end;
end;
((
1. (K,n))
* (i,j))
= (
0. K) by
A8,
A24,
A26,
MATRIX_1:def 3;
hence (R
* (i,j))
= ((
1. (K,n))
* (i,j)) by
A1,
A2,
A9,
A24,
A27,
Th48;
end;
suppose j
= 1;
then ((
1. (K,n))
* (i,j))
= (
1. K) & ((
SwapDiagonal (K,n,i0))
* (i0,j))
= (
1. K) by
A1,
A2,
A3,
A8,
A24,
A25,
Th43,
MATRIX_1:def 3;
hence (R
* (i,j))
= ((
1. (K,n))
* (i,j)) by
A1,
A2,
A9,
A24,
Th48;
end;
end;
suppose
A28: i0
= 1;
now
per cases ;
suppose i
<> j;
then ((
1. (K,n))
* (i,j))
= (
0. K) & ((
SwapDiagonal (K,n,1))
* (1,j))
= (
0. K) by
A12,
A9,
A8,
A24,
Th45,
MATRIX_1:def 3;
hence (R
* (i,j))
= ((
1. (K,n))
* (i,j)) by
A12,
A9,
A24,
A28,
Th48;
end;
suppose
A29: i
= j;
then
A30: ((
1. (K,n))
* (j,j))
= (
1. K) by
A8,
MATRIX_1:def 3;
(((
SwapDiagonal (K,n,i0))
* (
SwapDiagonal (K,n,i0)))
* (1,j))
= ((
SwapDiagonal (K,n,i0))
* (i0,j)) by
A1,
A2,
A9,
Th48;
hence (R
* (i,j))
= ((
1. (K,n))
* (i,j)) by
A2,
A24,
A28,
A29,
A30,
Th44;
end;
end;
hence (R
* (i,j))
= ((
1. (K,n))
* (i,j));
end;
end;
hence thesis;
end;
end;
(
width (
1. (K,n)))
= n by
MATRIX_0: 24;
then
A31: (
width R)
= (
width (
1. (K,n))) by
MATRIX_0: 24;
(
len (
1. (K,n)))
= n by
MATRIX_0: 24;
then (
len R)
= (
len (
1. (K,n))) by
MATRIX_0: 24;
then
A32: ((
SwapDiagonal (K,n,i0))
* (
SwapDiagonal (K,n,i0)))
= (
1. (K,n)) by
A31,
A6,
MATRIX_0: 21;
hence (
SwapDiagonal (K,n,i0)) is
invertible by
Th19;
thus thesis by
A32,
Th18;
end;
theorem ::
MATRIX14:50
Th50: for i0 be
Element of
NAT st 1
<= i0 & i0
<= n holds ((
SwapDiagonal (K,n,i0))
@ )
= (
SwapDiagonal (K,n,i0))
proof
let i0 be
Element of
NAT ;
assume
A1: 1
<= i0 & i0
<= n;
per cases ;
suppose
A2: i0
<> 1;
for i,j be
Nat st 1
<= i & i
<= n & 1
<= j & j
<= n holds (i
= 1 & j
= i0 implies (((
SwapDiagonal (K,n,i0))
@ )
* (i,j))
= (
1. K)) & (i
= i0 & j
= 1 implies (((
SwapDiagonal (K,n,i0))
@ )
* (i,j))
= (
1. K)) & (i
= 1 & j
= 1 implies (((
SwapDiagonal (K,n,i0))
@ )
* (i,j))
= (
0. K)) & (i
= i0 & j
= i0 implies (((
SwapDiagonal (K,n,i0))
@ )
* (i,j))
= (
0. K)) & ( not ((i
= 1 or i
= i0) & (j
= 1 or j
= i0)) implies (i
= j implies (((
SwapDiagonal (K,n,i0))
@ )
* (i,j))
= (
1. K)) & (i
<> j implies (((
SwapDiagonal (K,n,i0))
@ )
* (i,j))
= (
0. K)))
proof
A3: (
Indices (
SwapDiagonal (K,n,i0)))
=
[:(
Seg n), (
Seg n):] by
MATRIX_0: 24;
let i,j be
Nat;
assume that
A4: 1
<= i and
A5: i
<= n and
A6: 1
<= j and
A7: j
<= n;
A8: i
in (
Seg n) & j
in (
Seg n) by
A4,
A5,
A6,
A7,
FINSEQ_1: 1;
hereby
assume
A9: i
= 1 & j
= i0;
[j, i]
in (
Indices (
SwapDiagonal (K,n,i0))) by
A8,
A3,
ZFMISC_1: 87;
hence (((
SwapDiagonal (K,n,i0))
@ )
* (i,j))
= ((
SwapDiagonal (K,n,i0))
* (j,i)) by
MATRIX_0:def 6
.= (
1. K) by
A2,
A5,
A6,
A7,
A9,
Th43;
end;
hereby
assume
A10: i
= i0 & j
= 1;
[j, i]
in (
Indices (
SwapDiagonal (K,n,i0))) by
A8,
A3,
ZFMISC_1: 87;
hence (((
SwapDiagonal (K,n,i0))
@ )
* (i,j))
= ((
SwapDiagonal (K,n,i0))
* (j,i)) by
MATRIX_0:def 6
.= (
1. K) by
A2,
A4,
A5,
A7,
A10,
Th43;
end;
hereby
assume
A11: i
= 1 & j
= 1;
[j, i]
in (
Indices (
SwapDiagonal (K,n,i0))) by
A8,
A3,
ZFMISC_1: 87;
hence (((
SwapDiagonal (K,n,i0))
@ )
* (i,j))
= ((
SwapDiagonal (K,n,i0))
* (j,i)) by
MATRIX_0:def 6
.= (
0. K) by
A1,
A2,
A5,
A11,
Th43;
end;
hereby
assume
A12: i
= i0 & j
= i0;
[j, i]
in (
Indices (
SwapDiagonal (K,n,i0))) by
A8,
A3,
ZFMISC_1: 87;
hence (((
SwapDiagonal (K,n,i0))
@ )
* (i,j))
= ((
SwapDiagonal (K,n,i0))
* (j,i)) by
MATRIX_0:def 6
.= (
0. K) by
A2,
A4,
A5,
A12,
Th43;
end;
hereby
assume
A13: not ((i
= 1 or i
= i0) & (j
= 1 or j
= i0));
A14:
[j, i]
in (
Indices (
SwapDiagonal (K,n,i0))) by
A8,
A3,
ZFMISC_1: 87;
A15:
now
assume
A16: i
= j;
thus (((
SwapDiagonal (K,n,i0))
@ )
* (i,j))
= ((
SwapDiagonal (K,n,i0))
* (j,i)) by
A14,
MATRIX_0:def 6
.= (
1. K) by
A1,
A2,
A4,
A5,
A13,
A16,
Th43;
end;
now
assume
A17: i
<> j;
thus (((
SwapDiagonal (K,n,i0))
@ )
* (i,j))
= ((
SwapDiagonal (K,n,i0))
* (j,i)) by
A14,
MATRIX_0:def 6
.= (
0. K) by
A1,
A2,
A4,
A5,
A6,
A7,
A13,
A17,
Th43;
end;
hence (i
= j implies (((
SwapDiagonal (K,n,i0))
@ )
* (i,j))
= (
1. K)) & (i
<> j implies (((
SwapDiagonal (K,n,i0))
@ )
* (i,j))
= (
0. K)) by
A15;
end;
end;
hence thesis by
A1,
A2,
Th47;
end;
suppose
A18: i0
= 1;
for i,j be
Nat st 1
<= i & i
<= n & 1
<= j & j
<= n holds (i
= j implies (((
SwapDiagonal (K,n,i0))
@ )
* (i,j))
= (
1. K)) & (i
<> j implies (((
SwapDiagonal (K,n,i0))
@ )
* (i,j))
= (
0. K))
proof
A19: (
Indices (
SwapDiagonal (K,n,i0)))
=
[:(
Seg n), (
Seg n):] by
MATRIX_0: 24;
let i,j be
Nat;
assume that
A20: 1
<= i & i
<= n and
A21: 1
<= j & j
<= n;
i
in (
Seg n) & j
in (
Seg n) by
A20,
A21,
FINSEQ_1: 1;
then
A22:
[j, i]
in (
Indices (
SwapDiagonal (K,n,i0))) by
A19,
ZFMISC_1: 87;
hereby
assume
A23: i
= j;
thus (((
SwapDiagonal (K,n,i0))
@ )
* (i,j))
= ((
SwapDiagonal (K,n,i0))
* (j,i)) by
A22,
MATRIX_0:def 6
.= (
1. K) by
A18,
A20,
A23,
Th44;
end;
hereby
assume
A24: i
<> j;
thus (((
SwapDiagonal (K,n,i0))
@ )
* (i,j))
= ((
SwapDiagonal (K,n,i0))
* (j,i)) by
A22,
MATRIX_0:def 6
.= (
0. K) by
A18,
A20,
A21,
A24,
Th45;
end;
end;
hence thesis by
A18,
Th46;
end;
end;
theorem ::
MATRIX14:51
Th51: for A be
Matrix of n, K, j0 be
Element of
NAT st 1
<= j0 & j0
<= n holds (for i st 1
<= i & i
<= n holds ((A
* (
SwapDiagonal (K,n,j0)))
* (i,j0))
= (A
* (i,1)) & ((A
* (
SwapDiagonal (K,n,j0)))
* (i,1))
= (A
* (i,j0))) & (for i, j st j
<> 1 & j
<> j0 & 1
<= i & i
<= n & 1
<= j & j
<= n holds ((A
* (
SwapDiagonal (K,n,j0)))
* (i,j))
= (A
* (i,j)))
proof
let A be
Matrix of n, K, j0 be
Element of
NAT ;
assume
A1: 1
<= j0 & j0
<= n;
A2: (((
SwapDiagonal (K,n,j0))
* (A
@ ))
@ )
= (((A
@ )
@ )
* ((
SwapDiagonal (K,n,j0))
@ )) by
Th30
.= (A
* ((
SwapDiagonal (K,n,j0))
@ )) by
MATRIXR2: 29
.= (A
* (
SwapDiagonal (K,n,j0))) by
A1,
Th50;
A3: for i st 1
<= i & i
<= n holds ((A
* (
SwapDiagonal (K,n,j0)))
* (i,j0))
= (A
* (i,1)) & ((A
* (
SwapDiagonal (K,n,j0)))
* (i,1))
= (A
* (i,j0))
proof
let i;
assume
A4: 1
<= i & i
<= n;
then
A5: 1
<= n by
XXREAL_0: 2;
then
A6:
[i, 1]
in (
Indices A) by
A4,
MATRIX_0: 31;
[j0, i]
in (
Indices ((
SwapDiagonal (K,n,j0))
* (A
@ ))) by
A1,
A4,
MATRIX_0: 31;
hence ((A
* (
SwapDiagonal (K,n,j0)))
* (i,j0))
= (((
SwapDiagonal (K,n,j0))
* (A
@ ))
* (j0,i)) by
A2,
MATRIX_0:def 6
.= ((A
@ )
* (1,i)) by
A1,
A4,
Th48
.= (A
* (i,1)) by
A6,
MATRIX_0:def 6;
A7:
[i, j0]
in (
Indices A) by
A1,
A4,
MATRIX_0: 31;
[1, i]
in (
Indices ((
SwapDiagonal (K,n,j0))
* (A
@ ))) by
A4,
A5,
MATRIX_0: 31;
hence ((A
* (
SwapDiagonal (K,n,j0)))
* (i,1))
= (((
SwapDiagonal (K,n,j0))
* (A
@ ))
* (1,i)) by
A2,
MATRIX_0:def 6
.= ((A
@ )
* (j0,i)) by
A1,
A4,
Th48
.= (A
* (i,j0)) by
A7,
MATRIX_0:def 6;
end;
for i, j st j
<> 1 & j
<> j0 & 1
<= i & i
<= n & 1
<= j & j
<= n holds ((A
* (
SwapDiagonal (K,n,j0)))
* (i,j))
= (A
* (i,j))
proof
let i, j;
assume that
A8: j
<> 1 & j
<> j0 and
A9: 1
<= i & i
<= n & 1
<= j & j
<= n;
A10:
[i, j]
in (
Indices A) by
A9,
MATRIX_0: 31;
[j, i]
in (
Indices ((
SwapDiagonal (K,n,j0))
* (A
@ ))) by
A9,
MATRIX_0: 31;
hence ((A
* (
SwapDiagonal (K,n,j0)))
* (i,j))
= (((
SwapDiagonal (K,n,j0))
* (A
@ ))
* (j,i)) by
A2,
MATRIX_0:def 6
.= ((A
@ )
* (j,i)) by
A1,
A8,
A9,
Th48
.= (A
* (i,j)) by
A10,
MATRIX_0:def 6;
end;
hence thesis by
A3;
end;
theorem ::
MATRIX14:52
Th52: for A be
Matrix of n, K holds A
= (
0. (K,n)) iff for i, j st 1
<= i & i
<= n & 1
<= j & j
<= n holds (A
* (i,j))
= (
0. K)
proof
let A be
Matrix of n, K;
A1: (
width A)
= n by
MATRIX_0: 24;
thus A
= (
0. (K,n)) implies for i, j st 1
<= i & i
<= n & 1
<= j & j
<= n holds (A
* (i,j))
= (
0. K)
proof
assume A
= (
0. (K,n));
then
A2: A
= (
0. (K,n,n)) by
MATRIX_3:def 1;
thus for i, j st 1
<= i & i
<= n & 1
<= j & j
<= n holds (A
* (i,j))
= (
0. K)
proof
let i, j;
assume 1
<= i & i
<= n & 1
<= j & j
<= n;
then
[i, j]
in (
Indices A) by
MATRIX_0: 31;
hence thesis by
A2,
MATRIX_3: 1;
end;
end;
assume
A3: for i, j st 1
<= i & i
<= n & 1
<= j & j
<= n holds (A
* (i,j))
= (
0. K);
A4: (
Indices A)
=
[:(
Seg n), (
Seg n):] by
MATRIX_0: 24;
A5: for i,j be
Nat st
[i, j]
in (
Indices A) holds (A
* (i,j))
= ((A
+ A)
* (i,j))
proof
let i,j be
Nat;
reconsider i0 = i, j0 = j as
Element of
NAT by
ORDINAL1:def 12;
assume
A6:
[i, j]
in (
Indices A);
then j
in (
Seg n) by
A1,
ZFMISC_1: 87;
then
A7: 1
<= j & j
<= n by
FINSEQ_1: 1;
i
in (
Seg n) by
A4,
A6,
ZFMISC_1: 87;
then 1
<= i & i
<= n by
FINSEQ_1: 1;
then (A
* (i0,j0))
= (
0. K) by
A3,
A7;
then ((A
+ A)
* (i,j))
= ((
0. K)
+ (A
* (i,j))) by
A6,
MATRIX_3:def 3
.= (A
* (i,j)) by
RLVECT_1: 4;
hence thesis;
end;
(
len A)
= n by
MATRIX_0: 24;
then A
= (
0. (K,n,n)) by
A1,
A5,
MATRIX_0: 27,
MATRIX_4: 6;
hence thesis by
MATRIX_3:def 1;
end;
begin
theorem ::
MATRIX14:53
Th53: for A be
Matrix of n, K st A
<> (
0. (K,n)) holds ex B,C be
Matrix of n, K st B is
invertible & C is
invertible & (((B
* A)
* C)
* (1,1))
= (
1. K) & (for i st 1
< i & i
<= n holds (((B
* A)
* C)
* (i,1))
= (
0. K)) & for j st 1
< j & j
<= n holds (((B
* A)
* C)
* (1,j))
= (
0. K)
proof
let A be
Matrix of n, K;
assume A
<> (
0. (K,n));
then
consider i0,j0 be
Element of
NAT such that
A1: 1
<= i0 & i0
<= n and
A2: 1
<= j0 & j0
<= n and
A3: (A
* (i0,j0))
<> (
0. K) by
Th52;
set A3 = (((
SwapDiagonal (K,n,i0))
* A)
* (
SwapDiagonal (K,n,j0)));
set A2 = ((
SwapDiagonal (K,n,i0))
* A);
1
<= n by
A1,
XXREAL_0: 2;
then ((((
SwapDiagonal (K,n,i0))
* A)
* (
SwapDiagonal (K,n,j0)))
* (1,1))
= (A2
* (1,j0)) by
A2,
Th51
.= (A
* (i0,j0)) by
A1,
A2,
Th48;
then
consider P,Q be
Matrix of n, K such that
A4: P is
invertible and
A5: Q is
invertible and
A6: ((((P
* A3)
* Q)
* (1,1))
= (
1. K) & for i st 1
< i & i
<= n holds (((P
* A3)
* Q)
* (i,1))
= (
0. K)) & for j st 1
< j & j
<= n holds (((P
* A3)
* Q)
* (1,j))
= (
0. K) by
A1,
A3,
Th41;
set B0 = (P
* (
SwapDiagonal (K,n,i0))), C0 = ((
SwapDiagonal (K,n,j0))
* Q);
(
SwapDiagonal (K,n,i0)) is
invertible by
A1,
Th49;
then
A7: B0 is
invertible by
A4,
MATRIX_6: 36;
(
SwapDiagonal (K,n,j0)) is
invertible by
A2,
Th49;
then
A8: C0 is
invertible by
A5,
MATRIX_6: 36;
((B0
* A)
* C0)
= ((P
* ((
SwapDiagonal (K,n,i0))
* A))
* ((
SwapDiagonal (K,n,j0))
* Q)) by
Th17
.= (((P
* ((
SwapDiagonal (K,n,i0))
* A))
* (
SwapDiagonal (K,n,j0)))
* Q) by
Th17
.= ((P
* A3)
* Q) by
Th17;
hence thesis by
A6,
A7,
A8;
end;
theorem ::
MATRIX14:54
Th54: for A,B be
Matrix of n, K st (B
* A)
= (
1. (K,n)) holds ex B2 be
Matrix of n, K st (A
* B2)
= (
1. (K,n))
proof
let A,B be
Matrix of n, K;
thus (B
* A)
= (
1. (K,n)) implies ex B2 be
Matrix of n, K st (A
* B2)
= (
1. (K,n))
proof
defpred
P[
Nat] means for D,B3 be
Matrix of $1, K st (B3
* D)
= (
1. (K,$1)) holds ex B4 be
Matrix of $1, K st (D
* B4)
= (
1. (K,$1));
assume
A1: (B
* A)
= (
1. (K,n));
A2: for k be
Nat st
P[k] holds
P[(k
+ 1)]
proof
let k be
Nat;
assume
A3:
P[k];
for A2,B3 be
Matrix of (k
+ 1), K st (B3
* A2)
= (
1. (K,(k
+ 1))) holds ex B4 be
Matrix of (k
+ 1), K st (A2
* B4)
= (
1. (K,(k
+ 1)))
proof
let A2,B2 be
Matrix of (k
+ 1), K;
A4: (
Indices (
1. (K,(k
+ 1))))
=
[:(
Seg (k
+ 1)), (
Seg (k
+ 1)):] by
MATRIX_0: 24;
assume
A5: (B2
* A2)
= (
1. (K,(k
+ 1)));
then
A6: ((
Det B2)
* (
Det A2))
= (
Det (
1. (K,(k
+ 1)))) by
MATRIXR2: 45;
now
assume A2
= (
0. (K,(k
+ 1)));
then A2
= (
0. (K,(k
+ 1),(k
+ 1))) by
MATRIX_3:def 1;
then (
Det A2)
= (
0. K) by
MATRIX_7: 15,
NAT_1: 12;
then
A7: ((
Det B2)
* (
Det A2))
= (
0. K);
not (
0. K)
= (
1_ K);
hence contradiction by
A6,
A7,
MATRIX_7: 16,
NAT_1: 12;
end;
then
consider B,C be
Matrix of (k
+ 1), K such that
A8: B is
invertible and
A9: C is
invertible and
A10: (((B
* A2)
* C)
* (1,1))
= (
1. K) and
A11: for i st 1
< i & i
<= (k
+ 1) holds (((B
* A2)
* C)
* (i,1))
= (
0. K) and
A12: for j st 1
< j & j
<= (k
+ 1) holds (((B
* A2)
* C)
* (1,j))
= (
0. K) by
Th53;
set A3 = ((B
* A2)
* C), B3 = (((C
~ )
* B2)
* (B
~ ));
A13: (
width B3)
= (k
+ 1) by
MATRIX_0: 24;
A14: (
width A3)
= (k
+ 1) by
MATRIX_0: 24;
A15: for j be
Nat st 1
<= j & j
<= (
len (
Line (A3,1))) holds ((
Line (A3,1))
. j)
= ((
Base_FinSeq (K,(k
+ 1),1))
. j)
proof
let j be
Nat;
assume that
A16: 1
<= j and
A17: j
<= (
len (
Line (A3,1)));
A18: j
<= (k
+ 1) by
A14,
A17,
MATRIX_0:def 7;
(
len (
Line (A3,1)))
= (
width A3) by
MATRIX_0:def 7;
then
A19: j
in (
Seg (
width A3)) by
A16,
A17,
FINSEQ_1: 1;
per cases by
A16,
XXREAL_0: 1;
suppose
A20: 1
= j;
then ((
Line (A3,1))
. j)
= (
1. K) by
A10,
A19,
MATRIX_0:def 7;
hence thesis by
A18,
A20,
Th24;
end;
suppose
A21: 1
< j;
A22: j
in
NAT by
ORDINAL1:def 12;
((
Line (A3,1))
. j)
= (A3
* (1,j)) by
A19,
MATRIX_0:def 7
.= (
0. K) by
A12,
A18,
A21,
A22;
hence thesis by
A18,
A21,
Th25;
end;
end;
A23: (
len
<*(
0. K)*>)
= 1 by
FINSEQ_1: 40;
deffunc
f(
Nat,
Nat) = (A3
* (($1
+ 1),($2
+ 1)));
A24: (
len (A2
* C))
= (k
+ 1) by
MATRIX_0: 24;
consider F be
Matrix of k, k, K such that
A25: for i,j be
Nat st
[i, j]
in (
Indices F) holds (F
* (i,j))
=
f(i,j) from
MATRIX_0:sch 1;
A26: (
len F)
= k by
MATRIX_0: 24;
deffunc
g(
Nat,
Nat) = (B3
* (($1
+ 1),($2
+ 1)));
A27: (
len C)
= (k
+ 1) by
MATRIX_0: 24;
consider G be
Matrix of k, k, K such that
A28: for i,j be
Nat st
[i, j]
in (
Indices G) holds (G
* (i,j))
=
g(i,j) from
MATRIX_0:sch 1;
A29: (
len A3)
= (k
+ 1) by
MATRIX_0: 24;
A30: (B3
* A3)
= ((((C
~ )
* B2)
* (B
~ ))
* (B
* (A2
* C))) by
Th17
.= (((((
Inv C)
* B2)
* (
Inv B))
* B)
* (A2
* C)) by
Th17
.= ((((
Inv C)
* B2)
* ((
Inv B)
* B))
* (A2
* C)) by
Th17
.= ((((
Inv C)
* B2)
* (
1. (K,(k
+ 1))))
* (A2
* C)) by
A8,
Th18
.= (((
Inv C)
* B2)
* ((
1. (K,(k
+ 1)))
* (A2
* C))) by
Th17
.= (((
Inv C)
* B2)
* (A2
* C)) by
A24,
MATRIXR2: 68
.= ((((
Inv C)
* B2)
* A2)
* C) by
Th17
.= (((
Inv C)
* (
1. (K,(k
+ 1))))
* C) by
A5,
Th17
.= ((
Inv C)
* ((
1. (K,(k
+ 1)))
* C)) by
Th17
.= ((
Inv C)
* C) by
A27,
MATRIXR2: 68
.= (
1. (K,(k
+ 1))) by
A9,
Th18;
A31: for i be
Nat st 1
< i & i
<= (k
+ 1) holds (B3
* (i,1))
= ((
1. (K,(k
+ 1)))
* (i,1))
proof
A32: (
len (
Base_FinSeq (K,(k
+ 1),1)))
= (k
+ 1) by
Th23;
let i be
Nat;
A33: (
len (
Col (A3,1)))
= (
len A3) by
MATRIX_0:def 8
.= (k
+ 1) by
MATRIX_0: 24;
A34: (
len A3)
= (k
+ 1) by
MATRIX_0: 24;
A35: for k2 be
Nat st 1
<= k2 & k2
<= (
len (
Col (A3,1))) holds ((
Col (A3,1))
. k2)
= ((
Base_FinSeq (K,(k
+ 1),1))
. k2)
proof
let k2 be
Nat;
assume that
A36: 1
<= k2 and
A37: k2
<= (
len (
Col (A3,1)));
A38: k2
in
NAT by
ORDINAL1:def 12;
A39:
now
per cases by
A36,
XXREAL_0: 1;
suppose k2
= 1;
hence (A3
* (k2,1))
= ((
Base_FinSeq (K,(k
+ 1),1))
. k2) by
A10,
A33,
A37,
Th24;
end;
suppose
A40: 1
< k2;
hence (A3
* (k2,1))
= (
0. K) by
A11,
A33,
A38,
A37
.= ((
Base_FinSeq (K,(k
+ 1),1))
. k2) by
A33,
A37,
A40,
Th25;
end;
end;
k2
in (
Seg (
len A3)) by
A34,
A33,
A36,
A37,
FINSEQ_1: 1;
then k2
in (
dom A3) by
FINSEQ_1:def 3;
hence thesis by
A39,
MATRIX_0:def 8;
end;
A41: (
len (
Line (B3,i)))
= (
width B3) by
MATRIX_0:def 7
.= (k
+ 1) by
MATRIX_0: 24;
assume
A42: 1
< i & i
<= (k
+ 1);
then
A43: 1
<= (k
+ 1) by
XXREAL_0: 2;
A44: (
width B3)
= (k
+ 1) by
MATRIX_0: 24;
then
A45: 1
in (
Seg (
width B3)) by
A43,
FINSEQ_1: 1;
[i, 1]
in (
Indices (B3
* A3)) by
A42,
A43,
MATRIX_0: 31;
then ((B3
* A3)
* (i,1))
=
|((
Line (B3,i)), (
Col (A3,1)))| by
A44,
A34,
MATRIX_3:def 4
.=
|((
Line (B3,i)), (
Base_FinSeq (K,(k
+ 1),1)))| by
A33,
A32,
A35,
FINSEQ_1: 14
.= ((
Line (B3,i))
. 1) by
A43,
A41,
Th35
.= (B3
* (i,1)) by
A45,
MATRIX_0:def 7;
hence thesis by
A30;
end;
A46: k
in
NAT by
ORDINAL1:def 12;
for i,j be
Nat st 1
<= i & i
<= k & 1
<= j & j
<= k holds ((G
* F)
* (i,j))
= (
IFEQ (i,j,(
1. K),(
0. K)))
proof
let i,j be
Nat;
assume that
A47: 1
<= i and
A48: i
<= k and
A49: 1
<= j and
A50: j
<= k;
A51:
[i, j]
in (
Indices (G
* F)) by
A47,
A48,
A49,
A50,
MATRIX_0: 31;
A52: for k2 be
Nat st k2
in (
dom
<*(
0. K)*>) holds ((
Col (A3,(j
+ 1)))
. k2)
= (
<*(
0. K)*>
. k2)
proof
(j
+ 1)
<= (k
+ 1) & 1
< (j
+ 1) by
A49,
A50,
NAT_1: 13,
XREAL_1: 7;
then
A53: (A3
* (1,(j
+ 1)))
= (
0. K) by
A12;
let k2 be
Nat;
assume k2
in (
dom
<*(
0. K)*>);
then k2
in (
Seg (
len
<*(
0. K)*>)) by
FINSEQ_1:def 3;
then k2
in
{1} by
FINSEQ_1: 2,
FINSEQ_1: 40;
then
A54: k2
= 1 by
TARSKI:def 1;
1
<= (k
+ 1) by
NAT_1: 11;
then k2
in (
Seg (
len A3)) by
A29,
A54,
FINSEQ_1: 1;
then k2
in (
dom A3) by
FINSEQ_1:def 3;
then ((
Col (A3,(j
+ 1)))
. k2)
= (
0. K) by
A54,
A53,
MATRIX_0:def 8;
hence thesis by
A54,
FINSEQ_1: 40;
end;
A55: (
len (
Col (F,j)))
= (
len F) by
MATRIX_0:def 8
.= k by
MATRIX_0: 24;
A56: (i
+ 1)
<= (k
+ 1) by
A48,
XREAL_1: 7;
A57: for k2 be
Nat st k2
in (
dom
<*(
0. K)*>) holds ((
Line (B3,(i
+ 1)))
. k2)
= (
<*(
0. K)*>
. k2)
proof
let k2 be
Nat;
A58: 1
< (i
+ 1) by
A47,
NAT_1: 13;
1
<= (1
+ k) by
NAT_1: 11;
then
A59:
[(i
+ 1), 1]
in (
Indices (
1. (K,(k
+ 1)))) by
A56,
A58,
MATRIX_0: 31;
A60: (B3
* ((i
+ 1),1))
= ((
1. (K,(k
+ 1)))
* ((i
+ 1),1)) by
A31,
A56,
A58
.= (
0. K) by
A58,
A59,
MATRIX_1:def 3;
assume k2
in (
dom
<*(
0. K)*>);
then k2
in (
Seg (
len
<*(
0. K)*>)) by
FINSEQ_1:def 3;
then k2
in
{1} by
FINSEQ_1: 2,
FINSEQ_1: 40;
then
A61: k2
= 1 by
TARSKI:def 1;
1
<= (k
+ 1) by
NAT_1: 11;
then k2
in (
Seg (
width B3)) by
A13,
A61,
FINSEQ_1: 1;
then ((
Line (B3,(i
+ 1)))
. k2)
= (
0. K) by
A61,
A60,
MATRIX_0:def 7;
hence thesis by
A61,
FINSEQ_1: 40;
end;
A62: for k2 be
Nat st k2
in (
dom (
Col (F,j))) holds ((
Col (A3,(j
+ 1)))
. ((
len
<*(
0. K)*>)
+ k2))
= ((
Col (F,j))
. k2)
proof
reconsider j0 = (j
+ 1) as
Element of
NAT ;
let k2 be
Nat;
A63: (
len (
Col (F,(j0
-' 1))))
= (
len F) by
MATRIX_0:def 8;
A64: (j0
-' 1)
= j by
NAT_D: 34;
assume
A65: k2
in (
dom (
Col (F,j)));
then
A66: k2
in (
Seg (
len (
Col (F,(j0
-' 1))))) by
A64,
FINSEQ_1:def 3;
then
A67: k2
<= k by
A26,
A63,
FINSEQ_1: 1;
then 1
<= (k2
+ 1) & (k2
+ 1)
<= (k
+ 1) by
NAT_1: 11,
XREAL_1: 7;
then
A68: (k2
+ 1)
in (
dom A3) by
A29,
FINSEQ_3: 25;
1
<= k2 by
A66,
FINSEQ_1: 1;
then
[k2, j]
in (
Indices F) by
A49,
A50,
A67,
MATRIX_0: 31;
then
[k2, (j0
-' 1)]
in (
Indices F) by
NAT_D: 34;
then
A69: (A3
* ((k2
+ 1),((j0
-' 1)
+ 1)))
= (F
* (k2,(j0
-' 1))) by
A25;
k2
in (
Seg k) by
A26,
A65,
A63,
A64,
FINSEQ_1:def 3;
then k2
in (
dom F) by
A26,
FINSEQ_1:def 3;
then (A3
* ((k2
+ 1),((j0
-' 1)
+ 1)))
= ((
Col (F,(j0
-' 1)))
. k2) by
A69,
MATRIX_0:def 8;
hence thesis by
A23,
A64,
A68,
MATRIX_0:def 8;
end;
A70: (
len (
Line (G,i)))
= (
width G) by
MATRIX_0:def 7
.= k by
MATRIX_0: 24;
A71: (k
+ 1)
= ((
len
<*(
0. K)*>)
+ k) by
FINSEQ_1: 39;
A72: for k2 be
Nat st k2
in (
dom (
Line (G,i))) holds ((
Line (B3,(i
+ 1)))
. ((
len
<*(
0. K)*>)
+ k2))
= ((
Line (G,i))
. k2)
proof
let k2 be
Nat;
A73: (
width B3)
= (k
+ 1) & 1
<= (k2
+ 1) by
MATRIX_0: 24,
NAT_1: 11;
assume
A74: k2
in (
dom (
Line (G,i)));
then
A75: k2
in (
Seg (
len (
Line (G,i)))) by
FINSEQ_1:def 3;
A76: (
len (
Line (G,i)))
= (
width G) by
MATRIX_0:def 7
.= k by
MATRIX_0: 24;
then
A77: k2
<= k by
A75,
FINSEQ_1: 1;
1
<= k2 by
A75,
FINSEQ_1: 1;
then
[i, k2]
in (
Indices G) by
A47,
A48,
A77,
MATRIX_0: 31;
then
A78: (B3
* ((i
+ 1),(k2
+ 1)))
= (G
* (i,k2)) by
A28;
k2
in (
Seg k) by
A74,
A76,
FINSEQ_1:def 3;
then k2
in (
Seg (
width G)) by
MATRIX_0: 24;
then
A79: (B3
* ((i
+ 1),(k2
+ 1)))
= ((
Line (G,i))
. k2) by
A78,
MATRIX_0:def 7;
(k2
+ 1)
<= (k
+ 1) by
A77,
XREAL_1: 7;
then (k2
+ 1)
in (
Seg (
width B3)) by
A73,
FINSEQ_1: 1;
then ((
Line (B3,(i
+ 1)))
. (k2
+ 1))
= ((
Line (G,i))
. k2) by
A79,
MATRIX_0:def 7;
hence thesis by
FINSEQ_1: 40;
end;
A80: (
width G)
= k by
MATRIX_0: 24;
(
len (
Line (B3,(i
+ 1))))
= (
width B3) & (
len (
Line (G,i)))
= (
width G) by
MATRIX_0:def 7;
then (
dom (
Line (B3,(i
+ 1))))
= (
Seg ((
len
<*(
0. K)*>)
+ (
len (
Line (G,i))))) by
A13,
A80,
A71,
FINSEQ_1:def 3;
then
A81: (
<*(
0. K)*>
^ (
Line (G,i)))
= (
Line (B3,(i
+ 1))) by
A57,
A72,
FINSEQ_1:def 7;
A82: 1
<= (i
+ 1) & 1
<= (j
+ 1) by
NAT_1: 11;
A83: (j
+ 1)
<= (k
+ 1) by
A50,
XREAL_1: 7;
A84:
now
per cases ;
suppose
A85: i
= j;
[(i
+ 1), (j
+ 1)]
in (
Indices (
1. (K,(k
+ 1)))) by
A82,
A56,
A83,
MATRIX_0: 31;
then ((
1. (K,(k
+ 1)))
* ((i
+ 1),(j
+ 1)))
= (
1. K) by
A85,
MATRIX_1:def 3;
hence ((
1. (K,(k
+ 1)))
* ((i
+ 1),(j
+ 1)))
= (
IFEQ (i,j,(
1. K),(
0. K))) by
A85,
FUNCOP_1:def 8;
end;
suppose
A86: i
<> j;
[(i
+ 1), (j
+ 1)]
in (
Indices (
1. (K,(k
+ 1)))) by
A82,
A56,
A83,
MATRIX_0: 31;
then (i
+ 1)
<> (j
+ 1) implies ((
1. (K,(k
+ 1)))
* ((i
+ 1),(j
+ 1)))
= (
0. K) by
MATRIX_1:def 3;
hence ((
1. (K,(k
+ 1)))
* ((i
+ 1),(j
+ 1)))
= (
IFEQ (i,j,(
1. K),(
0. K))) by
A86,
FUNCOP_1:def 8;
end;
end;
(
len (
Col (A3,(j
+ 1))))
= (
len A3) & (
len (
Col (F,j)))
= (
len F) by
MATRIX_0:def 8;
then (
dom (
Col (A3,(j
+ 1))))
= (
Seg ((
len
<*(
0. K)*>)
+ (
len (
Col (F,j))))) by
A29,
A26,
A71,
FINSEQ_1:def 3;
then
A87: (
<*(
0. K)*>
^ (
Col (F,j)))
= (
Col (A3,(j
+ 1))) by
A52,
A62,
FINSEQ_1:def 7;
[(i
+ 1), (j
+ 1)]
in (
Indices (B3
* A3)) by
A82,
A56,
A83,
MATRIX_0: 31;
then ((B3
* A3)
* ((i
+ 1),(j
+ 1)))
=
|((
Line (B3,(i
+ 1))), (
Col (A3,(j
+ 1))))| by
A13,
A29,
MATRIX_3:def 4
.= (
|(
<*(
0. K)*>,
<*(
0. K)*>)|
+
|((
Line (G,i)), (
Col (F,j)))|) by
A23,
A81,
A87,
A70,
A55,
Th12
.= ((
0. K)
+
|((
Line (G,i)), (
Col (F,j)))|) by
Th22
.=
|((
Line (G,i)), (
Col (F,j)))| by
RLVECT_1: 4;
hence thesis by
A30,
A26,
A51,
A80,
A84,
MATRIX_3:def 4;
end;
then (G
* F)
= (
1. (K,k)) by
Th29,
A46;
then
consider G2 be
Matrix of k, K such that
A88: (F
* G2)
= (
1. (K,k)) by
A3;
deffunc
h(
Nat,
Nat) = (
IFEQ ($1,1,(
IFEQ ($2,1,(
1. K),(
0. K))),(
IFEQ ($2,1,(
0. K),(G2
* (($1
-' 1),($2
-' 1)))))));
A89: (
len G2)
= k by
MATRIX_0: 24;
consider B4 be
Matrix of (k
+ 1), (k
+ 1), K such that
A90: for i,j be
Nat st
[i, j]
in (
Indices B4) holds (B4
* (i,j))
=
h(i,j) from
MATRIX_0:sch 1;
A91: (
len B4)
= (k
+ 1) by
MATRIX_0: 24;
A92: (
width B4)
= (k
+ 1) by
MATRIX_0: 24;
A93: for j be
Nat st 1
<= j & j
<= (
len (
Col (B4,1))) holds ((
Col (B4,1))
. j)
= ((
Base_FinSeq (K,(k
+ 1),1))
. j)
proof
let j be
Nat;
assume that
A94: 1
<= j and
A95: j
<= (
len (
Col (B4,1)));
A96: j
<= (k
+ 1) by
A91,
A95,
MATRIX_0:def 8;
then 1
<= (k
+ 1) by
A94,
XXREAL_0: 2;
then
A97:
[j, 1]
in (
Indices B4) by
A94,
A96,
MATRIX_0: 31;
(
len (
Col (B4,1)))
= (
len B4) by
MATRIX_0:def 8;
then j
in (
Seg (
width B4)) by
A91,
A92,
A94,
A95,
FINSEQ_1: 1;
then
A98: j
in (
dom B4) by
A91,
A92,
FINSEQ_1:def 3;
per cases by
A94,
XXREAL_0: 1;
suppose
A99: 1
= j;
((
Col (B4,1))
. j)
= (B4
* (j,1)) by
A98,
MATRIX_0:def 8
.= (
IFEQ (j,1,(
IFEQ (1,1,(
1. K),(
0. K))),(
IFEQ (1,1,(
0. K),(G2
* ((j
-' 1),(1
-' 1))))))) by
A90,
A97
.= (
IFEQ (1,1,(
1. K),(
0. K))) by
A99,
FUNCOP_1:def 8
.= (
1. K) by
FUNCOP_1:def 8;
hence thesis by
A96,
A99,
Th24;
end;
suppose
A100: 1
< j;
((
Col (B4,1))
. j)
= (B4
* (j,1)) by
A98,
MATRIX_0:def 8
.= (
IFEQ (j,1,(
IFEQ (1,1,(
1. K),(
0. K))),(
IFEQ (1,1,(
0. K),(G2
* ((j
-' 1),(1
-' 1))))))) by
A90,
A97
.= (
IFEQ (1,1,(
0. K),(G2
* ((j
-' 1),(1
-' 1))))) by
A100,
FUNCOP_1:def 8
.= (
0. K) by
FUNCOP_1:def 8;
hence thesis by
A96,
A100,
Th25;
end;
end;
A101: (
width (A3
* B4))
= (k
+ 1) by
MATRIX_0: 24;
A102: (
Indices (A3
* B4))
=
[:(
Seg (k
+ 1)), (
Seg (k
+ 1)):] by
MATRIX_0: 24;
(
len (
Line (A3,1)))
= (
width A3) by
MATRIX_0:def 7
.= (k
+ 1) by
MATRIX_0: 24;
then
A103: (
len (
Line (A3,1)))
= (
len (
Base_FinSeq (K,(k
+ 1),1))) by
Th23;
then
A104: (
Line (A3,1))
= (
Base_FinSeq (K,(k
+ 1),1)) by
A15,
FINSEQ_1: 14;
A105: (
width F)
= k by
MATRIX_0: 24;
A106: 1
<= (k
+ 1) by
NAT_1: 11;
(
len (
Col (B4,1)))
= (
len B4) by
MATRIX_0:def 8
.= (k
+ 1) by
MATRIX_0: 24;
then
A107: (
len (
Col (B4,1)))
= (
len (
Base_FinSeq (K,(k
+ 1),1))) by
Th23;
then
A108: (
Col (B4,1))
= (
Base_FinSeq (K,(k
+ 1),1)) by
A93,
FINSEQ_1: 14;
for i,j be
Nat st
[i, j]
in (
Indices (A3
* B4)) holds ((A3
* B4)
* (i,j))
= ((
1. (K,(k
+ 1)))
* (i,j))
proof
let i,j be
Nat;
reconsider i0 = i, j0 = j as
Element of
NAT by
ORDINAL1:def 12;
A109: (
len (
Line (F,(i
-' 1))))
= (
width F) by
MATRIX_0:def 7
.= k by
MATRIX_0: 24;
A110: (
len (
Col (G2,(j
-' 1))))
= (
len G2) by
MATRIX_0:def 8
.= k by
MATRIX_0: 24;
A111: (
len (
Line (A3,i)))
= (
width A3) by
MATRIX_0:def 7
.= (k
+ 1) by
MATRIX_0: 24;
A112: (
len (
Col (B4,j)))
= (
len B4) by
MATRIX_0:def 8
.= (k
+ 1) by
MATRIX_0: 24;
assume
A113:
[i, j]
in (
Indices (A3
* B4));
then
A114:
[i, j]
in
[:(
Seg (k
+ 1)), (
Seg (k
+ 1)):] by
MATRIX_0: 24;
then
A115:
[i, j]
in (
Indices (
1. (K,(k
+ 1)))) by
MATRIX_0: 24;
A116: i
in (
Seg (k
+ 1)) by
A102,
A113,
ZFMISC_1: 87;
then
A117: 1
<= i by
FINSEQ_1: 1;
A118: i
<= (k
+ 1) by
A116,
FINSEQ_1: 1;
A119: j
in (
Seg (k
+ 1)) by
A101,
A113,
ZFMISC_1: 87;
then
A120: 1
<= j by
FINSEQ_1: 1;
A121: (
len B4)
= (k
+ 1) by
MATRIX_0: 24;
A122: (
width A3)
= (k
+ 1) by
MATRIX_0: 24;
A123: j
<= (k
+ 1) by
A119,
FINSEQ_1: 1;
A124:
[i, j]
in (
Indices B4) by
A102,
A113,
MATRIX_0: 24;
now
per cases by
A117,
XXREAL_0: 1;
suppose
A125: i
= 1;
now
per cases by
A120,
XXREAL_0: 1;
suppose
A126: j
= 1;
((A3
* B4)
* (i,j))
=
|((
Line (A3,i0)), (
Col (B4,j0)))| by
A113,
A121,
A122,
MATRIX_3:def 4
.= (
1. K) by
A104,
A108,
A106,
A125,
A126,
Th36;
hence thesis by
A115,
A125,
A126,
MATRIX_1:def 3;
end;
suppose
A127: j
> 1;
1
<= (
len B4) by
A106,
MATRIX_0: 24;
then
A128: 1
in (
dom B4) by
FINSEQ_3: 25;
((A3
* B4)
* (i,j))
=
|((
Line (A3,i0)), (
Col (B4,j0)))| by
A113,
A121,
A122,
MATRIX_3:def 4
.=
|((
Base_FinSeq (K,(k
+ 1),1)), (
Col (B4,j0)))| by
A103,
A15,
A125,
FINSEQ_1: 14
.=
|((
Col (B4,j0)), (
Base_FinSeq (K,(k
+ 1),1)))| by
FVSUM_1: 90
.= ((
Col (B4,j0))
. 1) by
A106,
A112,
Th35
.= (B4
* (1,j)) by
A128,
MATRIX_0:def 8
.= (
IFEQ (i,1,(
IFEQ (j,1,(
1. K),(
0. K))),(
IFEQ (j,1,(
0. K),(G2
* ((i
-' 1),(j
-' 1))))))) by
A90,
A124,
A125
.= (
IFEQ (j,1,(
1. K),(
0. K))) by
A125,
FUNCOP_1:def 8
.= (
0. K) by
A127,
FUNCOP_1:def 8;
hence thesis by
A4,
A114,
A125,
A127,
MATRIX_1:def 3;
end;
end;
hence thesis;
end;
suppose
A129: 1
< i;
then
A130: (1
+ 1)
<= i by
NAT_1: 13;
now
per cases by
A120,
XXREAL_0: 1;
suppose
A131: j
= 1;
A132: 1
in (
Seg (
width A3)) by
A14,
A106,
FINSEQ_1: 1;
A133: (
len (
Line (A3,i)))
= (
width A3) by
MATRIX_0:def 7
.= (k
+ 1) by
MATRIX_0: 24;
((A3
* B4)
* (i,j))
=
|((
Line (A3,i0)), (
Col (B4,j0)))| by
A113,
A121,
A122,
MATRIX_3:def 4
.=
|((
Line (A3,i)), (
Base_FinSeq (K,(k
+ 1),1)))| by
A107,
A93,
A131,
FINSEQ_1: 14
.= ((
Line (A3,i))
. 1) by
A106,
A133,
Th35
.= (((B
* A2)
* C)
* (i0,1)) by
A132,
MATRIX_0:def 7
.= (
0. K) by
A11,
A118,
A129;
hence thesis by
A115,
A129,
A131,
MATRIX_1:def 3;
end;
suppose
A134: j
> 1;
then (1
+ 1)
<= j by
NAT_1: 13;
then
A135: 1
<= (j
- 1) by
XREAL_1: 19;
A136: (i
-' 1)
= (i
- 1) by
A129,
XREAL_1: 233;
then
A137: (i
-' 1)
<= k by
A118,
XREAL_1: 20;
A138: 1
<= (i
- 1) by
A130,
XREAL_1: 19;
then
A139: (i
-' 1)
in (
Seg k) by
A136,
A137,
FINSEQ_1: 1;
A140: (
len (
Line (F,(i
-' 1))))
= (
width F) by
MATRIX_0:def 7
.= k by
MATRIX_0: 24;
A141: for k2 be
Nat st k2
in (
dom (
Line (F,(i
-' 1)))) holds ((
Line (A3,((i
-' 1)
+ 1)))
. ((
len
<*(
0. K)*>)
+ k2))
= ((
Line (F,(i
-' 1)))
. k2)
proof
let k2 be
Nat;
assume
A142: k2
in (
dom (
Line (F,(i
-' 1))));
then
A143: k2
in (
Seg (
len (
Line (F,(i
-' 1))))) by
FINSEQ_1:def 3;
then
A144: k2
<= k by
A140,
FINSEQ_1: 1;
then 1
<= (k2
+ 1) & (k2
+ 1)
<= (k
+ 1) by
NAT_1: 11,
XREAL_1: 7;
then
A145: (k2
+ 1)
in (
Seg (
width A3)) by
A122,
FINSEQ_1: 1;
1
<= k2 by
A143,
FINSEQ_1: 1;
then
[(i
-' 1), k2]
in (
Indices F) by
A136,
A138,
A137,
A144,
MATRIX_0: 31;
then
A146: (A3
* (((i
-' 1)
+ 1),(k2
+ 1)))
= (F
* ((i
-' 1),k2)) by
A25;
k2
in (
Seg (
width F)) by
A105,
A140,
A142,
FINSEQ_1:def 3;
then (A3
* (((i
-' 1)
+ 1),(k2
+ 1)))
= ((
Line (F,(i
-' 1)))
. k2) by
A146,
MATRIX_0:def 7;
then ((
Line (A3,((i
-' 1)
+ 1)))
. (k2
+ 1))
= ((
Line (F,(i
-' 1)))
. k2) by
A145,
MATRIX_0:def 7;
hence thesis by
FINSEQ_1: 40;
end;
A147: for k2 be
Nat st k2
in (
dom
<*(
0. K)*>) holds ((
Line (A3,((i
-' 1)
+ 1)))
. k2)
= (
<*(
0. K)*>
. k2)
proof
let k2 be
Nat;
assume k2
in (
dom
<*(
0. K)*>);
then k2
in (
Seg (
len
<*(
0. K)*>)) by
FINSEQ_1:def 3;
then k2
in
{1} by
FINSEQ_1: 2,
FINSEQ_1: 40;
then
A148: k2
= 1 by
TARSKI:def 1;
A149: (A3
* (i0,1))
= (
0. K) by
A11,
A118,
A129;
1
<= (k
+ 1) by
NAT_1: 11;
then k2
in (
Seg (
width A3)) by
A122,
A148,
FINSEQ_1: 1;
then ((
Line (A3,i))
. k2)
= (
0. K) by
A148,
A149,
MATRIX_0:def 7;
hence thesis by
A136,
A148,
FINSEQ_1: 40;
end;
(
dom (
Line (A3,((i
-' 1)
+ 1))))
= (
Seg (k
+ 1)) by
A111,
A136,
FINSEQ_1:def 3
.= (
Seg ((
len
<*(
0. K)*>)
+ (
len (
Line (F,(i
-' 1)))))) by
A140,
FINSEQ_1: 39;
then
A150: (
<*(
0. K)*>
^ (
Line (F,(i
-' 1))))
= (
Line (A3,((i
-' 1)
+ 1))) by
A147,
A141,
FINSEQ_1:def 7;
A151: ((j
-' 1)
+ 1)
= ((j
- 1)
+ 1) by
A134,
XREAL_1: 233
.= j;
A152: (j
-' 1)
= (j
- 1) by
A134,
XREAL_1: 233;
then (j
-' 1)
<= k by
A123,
XREAL_1: 20;
then (j
-' 1)
in (
Seg k) by
A152,
A135,
FINSEQ_1: 1;
then
A153:
[(i
-' 1), (j
-' 1)]
in
[:(
Seg k), (
Seg k):] by
A139,
ZFMISC_1: 87;
then
A154:
[(i
-' 1), (j
-' 1)]
in (
Indices (F
* G2)) by
MATRIX_0: 24;
A155: for k2 be
Nat st k2
in (
dom
<*(
0. K)*>) holds ((
Col (B4,((j
-' 1)
+ 1)))
. k2)
= (
<*(
0. K)*>
. k2)
proof
1
<= (1
+ k) by
NAT_1: 11;
then
[1, j]
in (
Indices B4) by
A120,
A123,
MATRIX_0: 31;
then (B4
* (1,j))
= (
IFEQ (1,1,(
IFEQ (j,1,(
1. K),(
0. K))),(
IFEQ (j,1,(
0. K),(G2
* ((1
-' 1),(j
-' 1))))))) by
A90;
then
A156: (B4
* (1,j))
= (
IFEQ (j,1,(
1. K),(
0. K))) by
FUNCOP_1:def 8
.= (
0. K) by
A134,
FUNCOP_1:def 8;
let k2 be
Nat;
assume k2
in (
dom
<*(
0. K)*>);
then k2
in (
Seg (
len
<*(
0. K)*>)) by
FINSEQ_1:def 3;
then k2
in
{1} by
FINSEQ_1: 2,
FINSEQ_1: 40;
then
A157: k2
= 1 by
TARSKI:def 1;
1
<= (k
+ 1) by
NAT_1: 11;
then k2
in (
Seg (
len B4)) by
A121,
A157,
FINSEQ_1: 1;
then k2
in (
dom B4) by
FINSEQ_1:def 3;
then ((
Col (B4,j))
. k2)
= (
0. K) by
A157,
A156,
MATRIX_0:def 8;
hence thesis by
A152,
A157,
FINSEQ_1: 40;
end;
A158: (
len (
Col (G2,(j
-' 1))))
= (
len G2) by
MATRIX_0:def 8
.= k by
MATRIX_0: 24;
A159: for k2 be
Nat st k2
in (
dom (
Col (G2,(j
-' 1)))) holds ((
Col (B4,((j
-' 1)
+ 1)))
. ((
len
<*(
0. K)*>)
+ k2))
= ((
Col (G2,(j
-' 1)))
. k2)
proof
let k2 be
Nat;
assume
A160: k2
in (
dom (
Col (G2,(j
-' 1))));
then 1
<= k2 by
FINSEQ_3: 25;
then
A161: 1
< (k2
+ 1) by
NAT_1: 13;
k2
in (
Seg k) by
A158,
A160,
FINSEQ_1:def 3;
then
A162: k2
in (
dom G2) by
A89,
FINSEQ_1:def 3;
k2
<= k by
A158,
A160,
FINSEQ_3: 25;
then
A163: 1
<= (k2
+ 1) & (k2
+ 1)
<= (k
+ 1) by
NAT_1: 11,
XREAL_1: 7;
then
[(k2
+ 1), j]
in (
Indices B4) by
A120,
A123,
MATRIX_0: 31;
then (B4
* ((k2
+ 1),j))
= (
IFEQ ((k2
+ 1),1,(
IFEQ (j,1,(
1. K),(
0. K))),(
IFEQ (j,1,(
0. K),(G2
* (((k2
+ 1)
-' 1),(j
-' 1))))))) by
A90;
then (B4
* ((k2
+ 1),j))
= (
IFEQ (j,1,(
0. K),(G2
* (((k2
+ 1)
-' 1),(j
-' 1))))) by
A161,
FUNCOP_1:def 8
.= (G2
* (((k2
+ 1)
-' 1),(j
-' 1))) by
A134,
FUNCOP_1:def 8
.= (G2
* (k2,(j
-' 1))) by
NAT_D: 34;
then
A164: (B4
* ((k2
+ 1),((j
-' 1)
+ 1)))
= ((
Col (G2,(j
-' 1)))
. k2) by
A152,
A162,
MATRIX_0:def 8;
(k2
+ 1)
in (
dom B4) by
A121,
A163,
FINSEQ_3: 25;
then ((
Col (B4,((j
-' 1)
+ 1)))
. (k2
+ 1))
= ((
Col (G2,(j
-' 1)))
. k2) by
A164,
MATRIX_0:def 8;
hence thesis by
FINSEQ_1: 40;
end;
(
dom (
Col (B4,((j
-' 1)
+ 1))))
= (
Seg (
len (
Col (B4,((j
-' 1)
+ 1))))) by
FINSEQ_1:def 3
.= (
Seg ((
len
<*(
0. K)*>)
+ (
len (
Col (G2,(j
-' 1)))))) by
A112,
A152,
A158,
FINSEQ_1: 39;
then
A165: (
<*(
0. K)*>
^ (
Col (G2,(j
-' 1))))
= (
Col (B4,((j
-' 1)
+ 1))) by
A155,
A159,
FINSEQ_1:def 7;
((i
-' 1)
+ 1)
= ((i
- 1)
+ 1) by
A129,
XREAL_1: 233
.= i;
then
A166: ((A3
* B4)
* (i,j))
=
|((
Line (A3,((i
-' 1)
+ 1))), (
Col (B4,((j
-' 1)
+ 1))))| by
A113,
A121,
A122,
A151,
MATRIX_3:def 4
.= (
|(
<*(
0. K)*>,
<*(
0. K)*>)|
+
|((
Line (F,(i
-' 1))), (
Col (G2,(j
-' 1))))|) by
A23,
A109,
A110,
A150,
A165,
Th12
.= ((
0. K)
+
|((
Line (F,(i
-' 1))), (
Col (G2,(j
-' 1))))|) by
Th22
.= ((
0. K)
+ ((F
* G2)
* ((i
-' 1),(j
-' 1)))) by
A105,
A89,
A154,
MATRIX_3:def 4
.= ((
1. (K,k))
* ((i
-' 1),(j
-' 1))) by
A88,
RLVECT_1: 4;
A167:
[(i
-' 1), (j
-' 1)]
in (
Indices (
1. (K,k))) by
A153,
MATRIX_0: 24;
now
per cases ;
suppose
A168: i
= j;
then ((
1. (K,(k
+ 1)))
* (i0,j0))
= (
1. K) by
A115,
MATRIX_1:def 3;
hence thesis by
A167,
A166,
A168,
MATRIX_1:def 3;
end;
suppose
A169: i
<> j;
then (i
- 1)
<> (j
- 1);
then (i0
-' 1)
<> (j0
-' 1) by
A129,
A152,
XREAL_1: 233;
then ((
1. (K,k))
* ((i0
-' 1),(j0
-' 1)))
= (
0. K) by
A167,
MATRIX_1:def 3;
hence thesis by
A115,
A166,
A169,
MATRIX_1:def 3;
end;
end;
hence thesis;
end;
end;
hence thesis;
end;
end;
hence thesis;
end;
then (
width (
Inv B))
= (k
+ 1) & (((B
* A2)
* C)
* B4)
= (
1. (K,(k
+ 1))) by
MATRIX_0: 24,
MATRIX_0: 27;
then ((
Inv B)
* (((B
* A2)
* C)
* B4))
= (
Inv B) by
MATRIXR2: 67;
then (((
Inv B)
* (((B
* A2)
* C)
* B4))
* B)
= (
1. (K,(k
+ 1))) by
A8,
Th18;
then (((
Inv B)
* ((B
* A2)
* (C
* B4)))
* B)
= (
1. (K,(k
+ 1))) by
Th17;
then (((
Inv B)
* (B
* (A2
* (C
* B4))))
* B)
= (
1. (K,(k
+ 1))) by
Th17;
then ((((
Inv B)
* B)
* (A2
* (C
* B4)))
* B)
= (
1. (K,(k
+ 1))) by
Th17;
then (
len (A2
* (C
* B4)))
= (k
+ 1) & (((
1. (K,(k
+ 1)))
* (A2
* (C
* B4)))
* B)
= (
1. (K,(k
+ 1))) by
A8,
Th18,
MATRIX_0: 24;
then ((A2
* (C
* B4))
* B)
= (
1. (K,(k
+ 1))) by
MATRIXR2: 68;
then (A2
* ((C
* B4)
* B))
= (
1. (K,(k
+ 1))) by
Th17;
hence thesis;
end;
hence thesis;
end;
for D,B0 be
Matrix of
0 , K st (B0
* D)
= (
1. (K,
0 )) holds ex B1 be
Matrix of
0 , K st (D
* B1)
= (
1. (K,
0 ))
proof
let D,B0 be
Matrix of
0 , K;
assume (B0
* D)
= (
1. (K,
0 ));
(D
* (
0. (K,
0 )))
= (
1. (K,
0 )) by
Th15;
hence thesis;
end;
then
A170:
P[
0 ];
for k be
Nat holds
P[k] from
NAT_1:sch 2(
A170,
A2);
hence thesis by
A1;
end;
end;
theorem ::
MATRIX14:55
Th55: for A be
Matrix of n, K holds (ex B1 be
Matrix of n, K st (B1
* A)
= (
1. (K,n))) iff ex B2 be
Matrix of n, K st (A
* B2)
= (
1. (K,n))
proof
let A be
Matrix of n, K;
per cases ;
suppose
A1: n
>
0 ;
thus (ex B be
Matrix of n, K st (B
* A)
= (
1. (K,n))) implies ex B2 be
Matrix of n, K st (A
* B2)
= (
1. (K,n)) by
Th54;
thus (ex B be
Matrix of n, K st (A
* B)
= (
1. (K,n))) implies ex B2 be
Matrix of n, K st (B2
* A)
= (
1. (K,n))
proof
assume ex B be
Matrix of n, K st (A
* B)
= (
1. (K,n));
then
consider B be
Matrix of n, K such that
A2: (A
* B)
= (
1. (K,n));
A3: (
width A)
= n & (
len B)
= n by
MATRIX_0: 24;
(
width B)
= n & ((A
* B)
@ )
= (
1. (K,n)) by
A2,
MATRIX_0: 24,
MATRIX_6: 10;
then ((B
@ )
* (A
@ ))
= (
1. (K,n)) by
A1,
A3,
MATRIX_3: 22;
then
consider B2 be
Matrix of n, K such that
A4: ((A
@ )
* B2)
= (
1. (K,n)) by
Th54;
A5: (
width (A
@ ))
= n & (
len B2)
= n by
MATRIX_0: 24;
(
width B2)
= n & (((A
@ )
* B2)
@ )
= (
1. (K,n)) by
A4,
MATRIX_0: 24,
MATRIX_6: 10;
then ((B2
@ )
* ((A
@ )
@ ))
= (
1. (K,n)) by
A1,
A5,
MATRIX_3: 22;
then ((B2
@ )
* A)
= (
1. (K,n)) by
MATRIXR2: 29;
hence thesis;
end;
end;
suppose
A6: n
=
0 ;
then (A
* A)
= (
1. (K,
0 )) by
Th15;
hence thesis by
A6;
end;
end;
theorem ::
MATRIX14:56
for A,B be
Matrix of n, K st (A
* B)
= (
1. (K,n)) holds A is
invertible & B is
invertible
proof
let A,B be
Matrix of n, K;
assume
A1: (A
* B)
= (
1. (K,n));
then
consider B2 be
Matrix of n, K such that
A2: (B2
* A)
= (
1. (K,n)) by
Th55;
B2
= (B2
* (
1. (K,n))) by
MATRIX_3: 19
.= ((B2
* A)
* B) by
A1,
Th17
.= B by
A2,
MATRIX_3: 18;
then A
is_reverse_of B by
A1,
A2,
MATRIX_6:def 2;
hence A is
invertible by
MATRIX_6:def 3;
consider B3 be
Matrix of n, K such that
A3: (B
* B3)
= (
1. (K,n)) by
A1,
Th54;
B3
= ((
1. (K,n))
* B3) by
MATRIX_3: 18
.= (A
* (B
* B3)) by
A1,
Th17
.= A by
A3,
MATRIX_3: 19;
then B
is_reverse_of A by
A1,
A3,
MATRIX_6:def 2;
hence thesis by
MATRIX_6:def 3;
end;