let m, n 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 Bn = n
by Th19;
then reconsider M1 =
M as
Matrix of
len Bn,
len Bm,
F_Real by Th19;
A3:
len M1 = n
by A1, MATRIX13:1;
A4:
len Bm = m
by Th19;
set T =
Mx2Tran (
M1,
Bn,
Bm);
A5:
(
Mx2Tran (
M1,
Bn,
Bm) is
one-to-one iff
ker (Mx2Tran (M1,Bn,Bm)) = (0). (n -VectSp_over F_Real) )
by MATRLIN2:43;
A6:
width M1 = m
by A1, MATRIX13:1;
per cases
( m = 0 or m > 0 )
;
suppose A9:
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 A3, A6, MATRIX_2:10;
A10:
width (M1 @) = n
by A3, A6, A9, MATRIX_2:10;
hereby ( the_rank_of M = n implies Mx2Tran M is one-to-one )
assume A11:
Mx2Tran M is
one-to-one
;
the_rank_of M = n
[#] SS c= {(0. (n -VectSp_over F_Real))}
proof
let x be
set ;
TARSKI:def 3 ( not x in [#] SS or x in {(0. (n -VectSp_over F_Real))} )
assume A12:
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 A2, MATRLIN2:46;
then
v |-- Bn in SS
by A12, STRUCT_0:def 5;
then
v in ker (Mx2Tran (M1,Bn,Bm))
by A1, A2, A4, A9, MATRLIN2:41;
then
v = 0. (n -VectSp_over F_Real)
by A5, A11, 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, A9, A10, MATRIX15:68;
hence
the_rank_of M = n
by MATRIX13:84;
verum
end; A13:
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, A9, A10, A13, MATRIX15:68;
then A14:
SS is
trivial
by MATRLIN2:42;
[#] (ker (Mx2Tran (M1,Bn,Bm))) c= {(0. (n -VectSp_over F_Real))}
proof
let x be
set ;
TARSKI:def 3 ( not x in [#] (ker (Mx2Tran (M1,Bn,Bm))) or x in {(0. (n -VectSp_over F_Real))} )
assume A15:
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 A15, STRUCT_0:def 5;
then
v |-- Bn in SS
by A1, A2, A4, A9, MATRLIN2:41;
then
v in SS
by A2, MATRLIN2:46;
then
v in the
carrier of
SS
by STRUCT_0:def 5;
then
v = 0. SS
by A14, STRUCT_0:def 18;
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 A5, Th20, VECTSP_4:def 3;
verum end; end; end; end;