let n, m be Nat; for M being Matrix of n,m,F_Real holds
( Mx2Tran M is one-to-one iff the_rank_of M = n )
let M be Matrix of n,m,F_Real; ( Mx2Tran M is one-to-one iff the_rank_of M = n )
set MM = Mx2Tran M;
per cases
( ( n = 0 iff m = 0 ) or ( n = 0 & m <> 0 ) or ( n <> 0 & m = 0 ) )
;
suppose A1:
(
n = 0 iff
m = 0 )
;
( Mx2Tran M is one-to-one iff the_rank_of M = n )set nV =
n -VectSp_over F_Real;
set mV =
m -VectSp_over F_Real;
reconsider Bn =
MX2FinS (1. (F_Real,n)) as
OrdBasis of
n -VectSp_over F_Real by MATRLIN2:45;
reconsider Bm =
MX2FinS (1. (F_Real,m)) as
OrdBasis of
m -VectSp_over F_Real by MATRLIN2:45;
A2:
len Bm = m
by Th19;
A3:
len Bn = n
by Th19;
then reconsider M1 =
M as
Matrix of
len Bn,
len Bm,
F_Real by A2;
A4:
len M1 = n
by A1, MATRIX13:1;
A5:
len Bm = m
by Th19;
set T =
Mx2Tran (
M1,
Bn,
Bm);
A6:
(
Mx2Tran (
M1,
Bn,
Bm) is
one-to-one iff
ker (Mx2Tran (M1,Bn,Bm)) = (0). (n -VectSp_over F_Real) )
by MATRLIN2:43;
A7:
width M1 = m
by A1, MATRIX13:1;
per cases
( m = 0 or m > 0 )
;
suppose A10:
m > 0
;
( Mx2Tran M is one-to-one iff the_rank_of M = n )then reconsider SS =
Space_of_Solutions_of (M1 @) as
Subspace of
n -VectSp_over F_Real by A4, A7, MATRIX_0:54;
A11:
width (M1 @) = n
by A4, A7, A10, MATRIX_0:54;
hereby ( the_rank_of M = n implies Mx2Tran M is one-to-one )
assume A12:
Mx2Tran M is
one-to-one
;
the_rank_of M = n
[#] SS c= {(0. (n -VectSp_over F_Real))}
proof
let x be
object ;
TARSKI:def 3 ( not x in [#] SS or x in {(0. (n -VectSp_over F_Real))} )
assume A13:
x in [#] SS
;
x in {(0. (n -VectSp_over F_Real))}
then reconsider v =
x as
Vector of
(n -VectSp_over F_Real) by VECTSP_4:10;
v = v |-- Bn
by A3, MATRLIN2:46;
then
v |-- Bn in SS
by A13;
then
v in ker (Mx2Tran (M1,Bn,Bm))
by A1, A3, A5, A10, MATRLIN2:41;
then
v = 0. (n -VectSp_over F_Real)
by A6, A12, Th20, VECTSP_4:35;
hence
x in {(0. (n -VectSp_over F_Real))}
by TARSKI:def 1;
verum
end; then
[#] SS = {(0. (n -VectSp_over F_Real))}
by ZFMISC_1:33;
then
SS = (0). (n -VectSp_over F_Real)
by VECTSP_4:def 3;
then
dim SS = 0
by RANKNULL:16;
then
0 = n - (the_rank_of (M1 @))
by A1, A10, A11, MATRIX15:68;
hence
the_rank_of M = n
by MATRIX13:84;
verum
end; A14:
the_rank_of (M1 @) = the_rank_of M
by MATRIX13:84;
assume
the_rank_of M = n
;
Mx2Tran M is one-to-one then
dim SS = n - n
by A1, A10, A11, A14, MATRIX15:68;
then A15:
SS is
trivial
by MATRLIN2:42;
[#] (ker (Mx2Tran (M1,Bn,Bm))) c= {(0. (n -VectSp_over F_Real))}
proof
let x be
object ;
TARSKI:def 3 ( not x in [#] (ker (Mx2Tran (M1,Bn,Bm))) or x in {(0. (n -VectSp_over F_Real))} )
assume A16:
x in [#] (ker (Mx2Tran (M1,Bn,Bm)))
;
x in {(0. (n -VectSp_over F_Real))}
then reconsider v =
x as
Vector of
(n -VectSp_over F_Real) by VECTSP_4:10;
v in ker (Mx2Tran (M1,Bn,Bm))
by A16;
then
v |-- Bn in SS
by A1, A3, A5, A10, MATRLIN2:41;
then
v in SS
by A3, MATRLIN2:46;
then
v in the
carrier of
SS
;
then
v = 0. SS
by A15;
then
v = 0. (n -VectSp_over F_Real)
by VECTSP_4:11;
hence
x in {(0. (n -VectSp_over F_Real))}
by TARSKI:def 1;
verum
end; then
[#] (ker (Mx2Tran (M1,Bn,Bm))) = {(0. (n -VectSp_over F_Real))}
by ZFMISC_1:33;
hence
Mx2Tran M is
one-to-one
by A6, Th20, VECTSP_4:def 3;
verum end; end; end; end;