let n be Element of NAT ; :: thesis: for K being Field
for A being Matrix of n,K st n > 0 & A * 1,1 <> 0. K holds
ex P being Matrix of n,K st
( P is invertible & (A * P) * 1,1 = 1. K & ( for j being Element of NAT st 1 < j & j <= n holds
(A * P) * 1,j = 0. K ) & ( for i being Element of NAT st 1 < i & i <= n & A * i,1 = 0. K holds
(A * P) * i,1 = 0. K ) )
let K be Field; :: thesis: for A being Matrix of n,K st n > 0 & A * 1,1 <> 0. K holds
ex P being Matrix of n,K st
( P is invertible & (A * P) * 1,1 = 1. K & ( for j being Element of NAT st 1 < j & j <= n holds
(A * P) * 1,j = 0. K ) & ( for i being Element of NAT st 1 < i & i <= n & A * i,1 = 0. K holds
(A * P) * i,1 = 0. K ) )
let A be Matrix of n,K; :: thesis: ( n > 0 & A * 1,1 <> 0. K implies ex P being Matrix of n,K st
( P is invertible & (A * P) * 1,1 = 1. K & ( for j being Element of NAT st 1 < j & j <= n holds
(A * P) * 1,j = 0. K ) & ( for i being Element of NAT st 1 < i & i <= n & A * i,1 = 0. K holds
(A * P) * i,1 = 0. K ) ) )
assume A1:
( n > 0 & A * 1,1 <> 0. K )
; :: thesis: ex P being Matrix of n,K st
( P is invertible & (A * P) * 1,1 = 1. K & ( for j being Element of NAT st 1 < j & j <= n holds
(A * P) * 1,j = 0. K ) & ( for i being Element of NAT st 1 < i & i <= n & A * i,1 = 0. K holds
(A * P) * i,1 = 0. K ) )
set a = A * 1,1;
defpred S1[ Nat, Nat, Element of K] means ( ( $1 = 1 implies ( ( $2 = 1 implies $3 = (A * 1,1) " ) & ( $2 <> 1 implies $3 = - (((A * 1,1) " ) * (A * 1,$2)) ) ) ) & ( $1 <> 1 implies for i0 being Element of NAT st i0 = $1 holds
$3 = (Base_FinSeq K,n,i0) . $2 ) );
A5:
for i, j being Nat st [i,j] in [:(Seg n),(Seg n):] holds
for x1, x2 being Element of K st S1[i,j,x1] & S1[i,j,x2] holds
x1 = x2
proof
let i,
j be
Nat;
:: thesis: ( [i,j] in [:(Seg n),(Seg n):] implies for x1, x2 being Element of K st S1[i,j,x1] & S1[i,j,x2] holds
x1 = x2 )
assume
[i,j] in [:(Seg n),(Seg n):]
;
:: thesis: for x1, x2 being Element of K st S1[i,j,x1] & S1[i,j,x2] holds
x1 = x2
reconsider i0 =
i,
j0 =
j as
Element of
NAT by ORDINAL1:def 13;
let x1,
x2 be
Element of
K;
:: thesis: ( S1[i,j,x1] & S1[i,j,x2] implies x1 = x2 )
assume B1:
(
S1[
i,
j,
x1] &
S1[
i,
j,
x2] )
;
:: thesis: x1 = x2
end;
A6:
for i, j being Nat st [i,j] in [:(Seg n),(Seg n):] holds
ex x being Element of K st S1[i,j,x]
proof
let i,
j be
Nat;
:: thesis: ( [i,j] in [:(Seg n),(Seg n):] implies ex x being Element of K st S1[i,j,x] )
assume B1:
[i,j] in [:(Seg n),(Seg n):]
;
:: thesis: ex x being Element of K st S1[i,j,x]
reconsider i0 =
i,
j0 =
j as
Element of
NAT by ORDINAL1:def 13;
B1a:
(
i0 in Seg n &
j0 in Seg n )
by B1, ZFMISC_1:106;
B1b:
( 1
<= i0 &
i0 <= n & 1
<= j0 &
j0 <= n )
by B1a, FINSEQ_1:3;
per cases
( i = 1 or i <> 1 )
;
suppose C0:
i <> 1
;
:: thesis: ex x being Element of K st S1[i,j,x]set x1 =
(Base_FinSeq K,n,i0) /. j0;
C7:
len (Base_FinSeq K,n,i0) = n
by AA1100;
for
i1 being
Element of
NAT st
i1 = i holds
(Base_FinSeq K,n,i0) /. j0 = (Base_FinSeq K,n,i1) . j
by B1b, C7, FINSEQ_4:24;
hence
ex
x being
Element of
K st
S1[
i,
j,
x]
by C0;
:: thesis: verum end; end;
end;
consider P0 being Matrix of n,n,K such that
A7:
for i, j being Nat st [i,j] in Indices P0 holds
S1[i,j,P0 * i,j]
from MATRIX_1:sch 2(A5, A6);
A40:
0 + 1 <= n
by A1, NAT_1:13;
A72a:
[1,1] in Indices P0
by A40, MATRIX_1:38;
A12:
P0 * 1,1 = (A * 1,1) "
by A7, A72a;
A91:
for i being Element of NAT st 1 < i & i <= n holds
P0 . i = Base_FinSeq K,n,i
proof
let i be
Element of
NAT ;
:: thesis: ( 1 < i & i <= n implies P0 . i = Base_FinSeq K,n,i )
assume B1:
( 1
< i &
i <= n )
;
:: thesis: P0 . i = Base_FinSeq K,n,i
B2a:
[i,1] in Indices P0
by B1, A40, MATRIX_1:38;
consider p being
FinSequence of
K such that B3:
(
p = P0 . i &
P0 * i,1
= p . 1 )
by B2a, MATRIX_1:def 6;
B8:
(
len P0 = n & ( for
p3 being
FinSequence of
K st
p3 in rng P0 holds
len p3 = n ) )
by MATRIX_1:def 3;
B9:
i in Seg (len P0)
by B1, B8, FINSEQ_1:3;
B10:
i in dom P0
by B9, FINSEQ_1:def 3;
B11:
p in rng P0
by B3, B10, FUNCT_1:def 5;
B20:
len p = n
by B11, MATRIX_1:def 3;
B21:
len (Base_FinSeq K,n,i) = n
by AA1100;
for
j being
Nat st 1
<= j &
j <= n holds
p . j = (Base_FinSeq K,n,i) . j
proof
let j be
Nat;
:: thesis: ( 1 <= j & j <= n implies p . j = (Base_FinSeq K,n,i) . j )
assume C0:
( 1
<= j &
j <= n )
;
:: thesis: p . j = (Base_FinSeq K,n,i) . j
C2:
[i,j] in Indices P0
by C0, B1, MATRIX_1:38;
consider p2 being
FinSequence of
K such that B4:
(
p2 = P0 . i &
P0 * i,
j = p2 . j )
by C2, MATRIX_1:def 6;
thus
p . j = (Base_FinSeq K,n,i) . j
by A7, B1, C2, B3, B4;
:: thesis: verum
end;
hence
P0 . i = Base_FinSeq K,
n,
i
by B20, B21, B3, FINSEQ_1:18;
:: thesis: verum
end;
then A71:
P0 is invertible
by A1, AA3010, A12;
A2d:
( len P0 = n & width P0 = n )
by MATRIX_1:25;
A2a:
( len A = n & width A = n )
by MATRIX_1:25;
A2:
len (Line A,1) = n
by A2a, MATRIX_1:def 8;
A2b:
len (Base_FinSeq K,n,1) = n
by AA1100;
A20: len (Col P0,1) =
len P0
by MATRIX_1:def 9
.=
n
by MATRIX_1:25
;
A21: len (((A * 1,1) " ) * (Base_FinSeq K,n,1)) =
len (Base_FinSeq K,n,1)
by MATRIXR1:16
.=
n
by AA1100
;
A11:
1 in Seg (len P0)
by A2d, A40, FINSEQ_1:3;
A8d:
Indices P0 = [:(Seg n),(Seg n):]
by MATRIX_1:25;
B4e: len (((A * 1,1) " ) * (Base_FinSeq K,n,1)) =
len (Base_FinSeq K,n,1)
by MATRIXR1:16
.=
n
by AA1100
;
for k being Nat st 1 <= k & k <= n holds
(Col P0,1) . k = (((A * 1,1) " ) * (Base_FinSeq K,n,1)) . k
proof
let k be
Nat;
:: thesis: ( 1 <= k & k <= n implies (Col P0,1) . k = (((A * 1,1) " ) * (Base_FinSeq K,n,1)) . k )
assume B1:
( 1
<= k &
k <= n )
;
:: thesis: (Col P0,1) . k = (((A * 1,1) " ) * (Base_FinSeq K,n,1)) . k
then
k in Seg n
by FINSEQ_1:3;
then B3:
k in dom P0
by A2d, FINSEQ_1:def 3;
k in Seg n
by B1, FINSEQ_1:3;
then C10d:
k in dom (((A * 1,1) " ) * (Base_FinSeq K,n,1))
by B4e, FINSEQ_1:def 3;
1
<= n
by B1, XXREAL_0:2;
then B11:
1
in dom P0
by A2d, FINSEQ_3:27;
A13:
(Base_FinSeq K,n,1) /. k = (Base_FinSeq K,n,1) . k
by B1, A2b, FINSEQ_4:24;
A13a:
1
<= n
by B1, XXREAL_0:2;
B5:
now assume C0:
k <> 1
;
:: thesis: (((A * 1,1) " ) * (Base_FinSeq K,n,1)) . k = 0. Kthus (((A * 1,1) " ) * (Base_FinSeq K,n,1)) . k =
((A * 1,1) " ) * ((Base_FinSeq K,n,1) /. k)
by C10d, A13, FVSUM_1:62
.=
((A * 1,1) " ) * (0. K)
by A13, AA1120, B1, C0, A13a
.=
0. K
by VECTSP_1:36
;
:: thesis: verum end;
B6:
now assume C0:
k = 1
;
:: thesis: (((A * 1,1) " ) * (Base_FinSeq K,n,1)) . k = (A * 1,1) " thus (((A * 1,1) " ) * (Base_FinSeq K,n,1)) . k =
((A * 1,1) " ) * ((Base_FinSeq K,n,1) /. 1)
by C10d, A13, C0, FVSUM_1:62
.=
((A * 1,1) " ) * (1. K)
by AA1110, C0, B1, A13
.=
(A * 1,1) "
by VECTSP_1:def 16
;
:: thesis: verum end;
now assume B20:
k <> 1
;
:: thesis: (Col P0,1) . k = 0. KB:
k in NAT
by ORDINAL1:def 13;
B19:
1
< k
by B1, B20, XXREAL_0:1;
B19a:
k in Seg n
by B1, FINSEQ_1:3;
B19b:
[k,1] in Indices P0
by A8d, A11, A2d, B19a, ZFMISC_1:106;
consider p being
FinSequence of
K such that C3:
(
p = P0 . k &
P0 * k,1
= p . 1 )
by B19b, MATRIX_1:def 6;
P0 * k,1 =
(Base_FinSeq K,n,k) . 1
by C3, B19, B1, A91, B
.=
0. K
by B20, B1, A40, AA1120
;
hence
(Col P0,1) . k = 0. K
by B3, MATRIX_1:def 9;
:: thesis: verum end;
hence
(Col P0,1) . k = (((A * 1,1) " ) * (Base_FinSeq K,n,1)) . k
by B5, B6, B11, A12, MATRIX_1:def 9;
:: thesis: verum
end;
then A3:
Col P0,1 = ((A * 1,1) " ) * (Base_FinSeq K,n,1)
by A20, A21, FINSEQ_1:18;
A4:
0 + 1 <= n
by A1, NAT_1:13;
then A10:
1 in Seg (width A)
by A2a, FINSEQ_1:3;
A11:
1 in Seg (len A)
by A2a, A4, FINSEQ_1:3;
K1:
1 in dom A
by A11, FINSEQ_1:def 3;
K3: len (((A * 1,1) " ) * (Line A,1)) =
len (Line A,1)
by MATRIXR1:16
.=
n
by A2a, MATRIX_1:def 8
;
K4:
1 in dom (Line A,1)
by A11, A2a, A2, FINSEQ_1:def 3;
A8:
Indices A = [:(Seg n),(Seg n):]
by MATRIX_1:25;
A12b:
[1,1] in Indices A
by A4, MATRIX_1:38;
Indices (A * P0) = [:(Seg n),(Seg n):]
by MATRIX_1:25;
then A72: (A * P0) * 1,1 =
|((Line A,1),(Col P0,1))|
by A12b, A8, A2d, A2a, MATRIX_3:def 4
.=
((A * 1,1) " ) * |((Line A,1),(Base_FinSeq K,n,1))|
by A3, BB246, A2, A2b
.=
((A * 1,1) " ) * ((Line A,1) /. 1)
by AA2627, A2, A4
.=
(((A * 1,1) " ) * (Line A,1)) /. 1
by K4, POLYNOM1:def 2
.=
(((A * 1,1) " ) * (Line A,1)) . 1
by K3, A4, FINSEQ_4:24
.=
((A * 1,1) " ) * (A * 1,1)
by K1, A10, MATRIX12:3
.=
1. K
by A1, VECTSP_1:def 22
;
A73:
for j being Element of NAT st 1 < j & j <= n holds
(A * P0) * 1,j = 0. K
proof
let j be
Element of
NAT ;
:: thesis: ( 1 < j & j <= n implies (A * P0) * 1,j = 0. K )
assume B1:
( 1
< j &
j <= n )
;
:: thesis: (A * P0) * 1,j = 0. K
then B20:
j in Seg n
by FINSEQ_1:3;
A22:
[1,j] in Indices (A * P0)
by B1, A40, MATRIX_1:38;
A22b:
[1,j] in Indices P0
by B1, A40, MATRIX_1:38;
B3:
len (Col P0,j) =
len P0
by MATRIX_1:def 9
.=
n
by MATRIX_1:25
;
B4:
len (- ((((A * 1,1) " ) * (A * 1,j)) * (Base_FinSeq K,n,1))) =
len ((- (((A * 1,1) " ) * (A * 1,j))) * (Base_FinSeq K,n,1))
by BB200
.=
len (Base_FinSeq K,n,1)
by MATRIXR1:16
.=
n
by AA1100
;
B4d:
len ((- (((A * 1,1) " ) * (A * 1,j))) * (Base_FinSeq K,n,1)) =
len (Base_FinSeq K,n,1)
by MATRIXR1:16
.=
n
by AA1100
;
B5b:
len (Base_FinSeq K,n,j) = n
by AA1100;
then B5:
len ((- ((((A * 1,1) " ) * (A * 1,j)) * (Base_FinSeq K,n,1))) + (Base_FinSeq K,n,j)) = n
by B4, Th6;
reconsider p =
Col P0,
j,
q =
(- ((((A * 1,1) " ) * (A * 1,j)) * (Base_FinSeq K,n,1))) + (Base_FinSeq K,n,j) as
FinSequence of
K ;
for
k being
Nat st 1
<= k &
k <= n holds
p . k = q . k
proof
let k be
Nat;
:: thesis: ( 1 <= k & k <= n implies p . k = q . k )
assume C0:
( 1
<= k &
k <= n )
;
:: thesis: p . k = q . k
A4:
0 + 1
<= n
by C0, NAT_1:13;
k in Seg n
by C0, FINSEQ_1:3;
then C10b:
k in dom ((- (((A * 1,1) " ) * (A * 1,j))) * (Base_FinSeq K,n,1))
by B4d, FINSEQ_1:def 3;
C10a:
len ((- (((A * 1,1) " ) * (A * 1,j))) * (Base_FinSeq K,n,1)) =
len (Base_FinSeq K,n,1)
by MATRIXR1:16
.=
n
by AA1100
;
C12:
k in dom P0
by C0, A2d, FINSEQ_3:27;
C2:
p . k = P0 * k,
j
by C12, MATRIX_1:def 9;
A2b:
len (Base_FinSeq K,n,1) = n
by AA1100;
A13:
(Base_FinSeq K,n,1) /. k = (Base_FinSeq K,n,1) . k
by C0, A2b, FINSEQ_4:24;
C4:
(- ((((A * 1,1) " ) * (A * 1,j)) * (Base_FinSeq K,n,1))) . k =
((- (((A * 1,1) " ) * (A * 1,j))) * (Base_FinSeq K,n,1)) . k
by BB200
.=
(- (((A * 1,1) " ) * (A * 1,j))) * ((Base_FinSeq K,n,1) /. k)
by C10b, A13, FVSUM_1:62
;
A3a:
len (Base_FinSeq K,n,1) = n
by AA1100;
E1:
(Base_FinSeq K,n,1) /. k = (Base_FinSeq K,n,1) . k
by C0, A3a, FINSEQ_4:24;
per cases
( 1 = k or 1 < k )
by C0, XXREAL_0:1;
suppose D0:
1
= k
;
:: thesis: p . k = q . kthen D2:
p . k = - (((A * 1,1) " ) * (A * 1,j))
by A7, B1, A22b, C2;
K3:
( 1
<= k &
k <= len (- ((((A * 1,1) " ) * (A * 1,j)) * (Base_FinSeq K,n,1))) )
by C0, C10a, BB200;
K1:
(Base_FinSeq K,n,j) /. k =
(Base_FinSeq K,n,j) . k
by B5b, C0, FINSEQ_4:24
.=
0. K
by D0, B1, AA1120, C0
;
D1:
(- ((((A * 1,1) " ) * (A * 1,j)) * (Base_FinSeq K,n,1))) /. k =
(- (((A * 1,1) " ) * (A * 1,j))) * ((Base_FinSeq K,n,1) /. k)
by C4, K3, FINSEQ_4:24
.=
(- (((A * 1,1) " ) * (A * 1,j))) * (1. K)
by D0, AA1110, C0, E1
.=
- (((A * 1,1) " ) * (A * 1,j))
by VECTSP_1:def 16
;
q . k = (- (((A * 1,1) " ) * (A * 1,j))) + (0. K)
by D1, BB120, B4, B5b, C0, K1;
hence
p . k = q . k
by D2, RLVECT_1:10;
:: thesis: verum end; suppose D0:
1
< k
;
:: thesis: p . k = q . kD1:
[k,j] in Indices P0
by B1, C0, MATRIX_1:38;
B:
k in NAT
by ORDINAL1:def 13;
D2:
p . k = (Base_FinSeq K,n,k) . j
by A7, D0, D1, B, C2;
per cases
( k <> j or k = j )
;
suppose E0:
k <> j
;
:: thesis: p . k = q . kthen E2:
p . k = 0. K
by D2, AA1120, B1, C0;
A3a:
len (Base_FinSeq K,n,1) = n
by AA1100;
E1:
(Base_FinSeq K,n,1) /. k = (Base_FinSeq K,n,1) . k
by C0, A3a, FINSEQ_4:24;
K1:
(Base_FinSeq K,n,j) /. k =
(Base_FinSeq K,n,j) . k
by B5b, C0, FINSEQ_4:24
.=
0. K
by B1, AA1120, C0, E0
;
K2:
(- ((((A * 1,1) " ) * (A * 1,j)) * (Base_FinSeq K,n,1))) /. k = (- ((((A * 1,1) " ) * (A * 1,j)) * (Base_FinSeq K,n,1))) . k
by B4, C0, FINSEQ_4:24;
E3:
(- ((((A * 1,1) " ) * (A * 1,j)) * (Base_FinSeq K,n,1))) . k =
(- (((A * 1,1) " ) * (A * 1,j))) * (0. K)
by D0, AA1120, A4, C0, E1, C4
.=
0. K
by VECTSP_1:36
;
q . k = (0. K) + (0. K)
by E3, BB120, B4, B5b, C0, K1, K2;
hence
p . k = q . k
by E2, RLVECT_1:10;
:: thesis: verum end; suppose E0:
k = j
;
:: thesis: p . k = q . kE2:
p . k = 1. K
by D2, AA1110, C0, E0;
A3a:
len (Base_FinSeq K,n,1) = n
by AA1100;
E1:
(Base_FinSeq K,n,1) /. k = (Base_FinSeq K,n,1) . k
by C0, A3a, FINSEQ_4:24;
K1:
(Base_FinSeq K,n,j) /. k =
(Base_FinSeq K,n,j) . k
by B5b, C0, FINSEQ_4:24
.=
1. K
by AA1110, C0, E0
;
K2:
(- ((((A * 1,1) " ) * (A * 1,j)) * (Base_FinSeq K,n,1))) /. k = (- ((((A * 1,1) " ) * (A * 1,j)) * (Base_FinSeq K,n,1))) . k
by B4, C0, FINSEQ_4:24;
E3:
(- ((((A * 1,1) " ) * (A * 1,j)) * (Base_FinSeq K,n,1))) . k =
(- (((A * 1,1) " ) * (A * 1,j))) * (0. K)
by D0, AA1120, A4, C0, E1, C4
.=
0. K
by VECTSP_1:36
;
q . k = (0. K) + (1. K)
by BB120, B4, B5b, C0, E3, K1, K2;
hence
p . k = q . k
by E2, RLVECT_1:10;
:: thesis: verum end; end; end; end;
end;
then B7:
Col P0,
j = (- ((((A * 1,1) " ) * (A * 1,j)) * (Base_FinSeq K,n,1))) + (Base_FinSeq K,n,j)
by B3, B5, FINSEQ_1:18;
A2a:
(
len A = n &
width A = n )
by MATRIX_1:25;
K2:
len (Line A,1) = n
by A2a, MATRIX_1:def 8;
K3:
(Line A,1) /. j =
(Line A,1) . j
by K2, B1, FINSEQ_4:24
.=
A * 1,
j
by B20, A2a, MATRIX_1:def 8
;
K0:
(Line A,1) /. 1 =
(Line A,1) . 1
by K2, A4, FINSEQ_4:24
.=
A * 1,1
by A10, MATRIX_1:def 8
;
(A * P0) * 1,
j =
|((Line A,1),(Col P0,j))|
by A2a, A2d, A22, MATRIX_3:def 4
.=
|((Line A,1),(- ((((A * 1,1) " ) * (A * 1,j)) * (Base_FinSeq K,n,1))))| + |((Line A,1),(Base_FinSeq K,n,j))|
by BB248, B4, A2, B7, B5b
.=
|((Line A,1),((- (((A * 1,1) " ) * (A * 1,j))) * (Base_FinSeq K,n,1)))| + |((Line A,1),(Base_FinSeq K,n,j))|
by BB200
.=
((- (((A * 1,1) " ) * (A * 1,j))) * |((Line A,1),(Base_FinSeq K,n,1))|) + |((Line A,1),(Base_FinSeq K,n,j))|
by BB246, A2, A2b
.=
((- (((A * 1,1) " ) * (A * 1,j))) * (A * 1,1)) + |((Line A,1),(Base_FinSeq K,n,j))|
by K0, AA2627, A2, A4
.=
(- ((((A * 1,1) " ) * (A * 1,j)) * (A * 1,1))) + |((Line A,1),(Base_FinSeq K,n,j))|
by VECTSP_1:41
.=
(- ((A * 1,j) * (((A * 1,1) " ) * (A * 1,1)))) + |((Line A,1),(Base_FinSeq K,n,j))|
by GROUP_1:def 4
.=
(- ((A * 1,j) * (1. K))) + |((Line A,1),(Base_FinSeq K,n,j))|
by A1, VECTSP_1:def 22
.=
(- ((A * 1,j) * (1. K))) + ((Line A,1) /. j)
by AA2627, B1, A2
.=
(- (A * 1,j)) + (A * 1,j)
by K3, VECTSP_1:def 16
.=
0. K
by RLVECT_1:16
;
hence
(A * P0) * 1,
j = 0. K
;
:: thesis: verum
end;
for i being Element of NAT st 1 < i & i <= n & A * i,1 = 0. K holds
(A * P0) * i,1 = 0. K
proof
let i be
Element of
NAT ;
:: thesis: ( 1 < i & i <= n & A * i,1 = 0. K implies (A * P0) * i,1 = 0. K )
assume B0:
( 1
< i &
i <= n &
A * i,1
= 0. K )
;
:: thesis: (A * P0) * i,1 = 0. K
set Q =
A;
set P =
P0;
B1:
1
<= n
by B0, XXREAL_0:2;
A22:
[i,1] in Indices (A * P0)
by B0, B1, MATRIX_1:38;
B3:
len (Col P0,1) =
len P0
by MATRIX_1:def 9
.=
n
by MATRIX_1:25
;
B4b:
len (((A * 1,1) " ) * (Base_FinSeq K,n,1)) =
len (Base_FinSeq K,n,1)
by MATRIXR1:16
.=
n
by AA1100
;
reconsider p =
Col P0,1,
q =
((A * 1,1) " ) * (Base_FinSeq K,n,1) as
FinSequence of
K ;
F2:
for
k being
Nat st 1
<= k &
k <= n holds
p . k = q . k
proof
let k be
Nat;
:: thesis: ( 1 <= k & k <= n implies p . k = q . k )
assume C0:
( 1
<= k &
k <= n )
;
:: thesis: p . k = q . k
C113:
k in dom (((A * 1,1) " ) * (Base_FinSeq K,n,1))
by C0, B4b, FINSEQ_3:27;
C12:
k in dom P0
by C0, A2d, FINSEQ_3:27;
C2:
p . k = P0 * k,1
by C12, MATRIX_1:def 9;
A2b:
len (Base_FinSeq K,n,1) = n
by AA1100;
A13:
(Base_FinSeq K,n,1) /. k = (Base_FinSeq K,n,1) . k
by C0, A2b, FINSEQ_4:24;
C4:
(((A * 1,1) " ) * (Base_FinSeq K,n,1)) . k = ((A * 1,1) " ) * ((Base_FinSeq K,n,1) /. k)
by C113, A13, FVSUM_1:62;
per cases
( 1 = k or 1 < k )
by C0, XXREAL_0:1;
suppose D0:
1
< k
;
:: thesis: p . k = q . k
[k,1] in Indices P0
by B1, C0, MATRIX_1:38;
then consider p2 being
FinSequence of
K such that D3:
(
p2 = P0 . k &
P0 * k,1
= p2 . 1 )
by MATRIX_1:def 6;
B:
k in NAT
by ORDINAL1:def 13;
D2:
p . k = (Base_FinSeq K,n,k) . 1
by A91, D0, C0, D3, B, C2;
A13:
(Base_FinSeq K,n,1) /. k = (Base_FinSeq K,n,1) . k
by C0, A2b, FINSEQ_4:24;
A13a:
1
<= n
by C0, XXREAL_0:2;
((A * 1,1) " ) * ((Base_FinSeq K,n,1) /. k) =
((A * 1,1) " ) * (0. K)
by A13, AA1120, D0, C0, A13a
.=
0. K
by VECTSP_1:36
;
hence
p . k = q . k
by D0, D2, AA1120, B1, C0, C4;
:: thesis: verum end; end;
end;
A2a:
(
len A = n &
width A = n )
by MATRIX_1:25;
K2:
len (Line A,i) = n
by A2a, MATRIX_1:def 8;
K0:
(Line A,i) /. 1 =
(Line A,i) . 1
by K2, A4, FINSEQ_4:24
.=
A * i,1
by A10, MATRIX_1:def 8
;
thus (A * P0) * i,1 =
|((Line A,i),(Col P0,1))|
by A2a, A2d, A22, MATRIX_3:def 4
.=
|((Line A,i),(((A * 1,1) " ) * (Base_FinSeq K,n,1)))|
by F2, B3, B4b, FINSEQ_1:18
.=
((A * 1,1) " ) * |((Line A,i),(Base_FinSeq K,n,1))|
by BB246, K2, A2b
.=
((A * 1,1) " ) * (A * i,1)
by K0, AA2627, K2, A4
.=
0. K
by B0, VECTSP_1:36
;
:: thesis: verum
end;
hence
ex P being Matrix of n,K st
( P is invertible & (A * P) * 1,1 = 1. K & ( for j being Element of NAT st 1 < j & j <= n holds
(A * P) * 1,j = 0. K ) & ( for i being Element of NAT st 1 < i & i <= n & A * i,1 = 0. K holds
(A * P) * i,1 = 0. K ) )
by A71, A72, A73; :: thesis: verum