let n be Nat; for x0 being Element of (RealVectSpace (Seg n))
for B being Subset of (RealVectSpace (Seg n)) st B = RN_Base n holds
ex l being Linear_Combination of B st x0 = Sum l
let x0 be Element of (RealVectSpace (Seg n)); for B being Subset of (RealVectSpace (Seg n)) st B = RN_Base n holds
ex l being Linear_Combination of B st x0 = Sum l
let B be Subset of (RealVectSpace (Seg n)); ( B = RN_Base n implies ex l being Linear_Combination of B st x0 = Sum l )
reconsider x1 = x0 as Element of REAL n by FINSEQ_2:93;
A1:
REAL n = the carrier of (RealVectSpace (Seg n))
by FINSEQ_2:93;
assume A2:
B = RN_Base n
; ex l being Linear_Combination of B st x0 = Sum l
A3:
{ x where x is Element of REAL n : ex i being Element of NAT st
( 1 <= i & i <= n & x = Base_FinSeq (n,i) ) } c= B
B c= { x where x is Element of REAL n : ex i being Element of NAT st
( 1 <= i & i <= n & x = Base_FinSeq (n,i) ) }
then A4:
B = { x where x is Element of REAL n : ex i being Element of NAT st
( 1 <= i & i <= n & x = Base_FinSeq (n,i) ) }
by A3, XBOOLE_0:def 10;
A5:
{ x where x is Element of REAL n : ex i being Element of NAT st
( 1 <= i & i <= n & x = Base_FinSeq (n,i) & |(x1,x)| <> 0 ) } c= B
then reconsider B0 = { x where x is Element of REAL n : ex i being Element of NAT st
( 1 <= i & i <= n & x = Base_FinSeq (n,i) & |(x1,x)| <> 0 ) } as Subset of (RealVectSpace (Seg n)) by XBOOLE_1:1;
A6: dom (ProjFinSeq x1) =
Seg (len (ProjFinSeq x1))
by FINSEQ_1:def 3
.=
Seg n
by Def12
;
defpred S1[ set , set ] means ( $1 in B0 implies ex i being Element of NAT st
( $2 = i & 1 <= i & i <= n & $1 = Base_FinSeq (n,i) ) );
A7:
rng (ProjFinSeq x1) c= REAL n
;
A8:
for x being set st x in B0 holds
ex y being set st
( y in Seg n & S1[x,y] )
proof
let x be
set ;
( x in B0 implies ex y being set st
( y in Seg n & S1[x,y] ) )
assume
x in B0
;
ex y being set st
( y in Seg n & S1[x,y] )
then consider x2 being
Element of
REAL n such that A9:
x = x2
and A10:
ex
i being
Element of
NAT st
( 1
<= i &
i <= n &
x2 = Base_FinSeq (
n,
i) &
|(x1,x2)| <> 0 )
;
consider i0 being
Element of
NAT such that A11:
1
<= i0
and A12:
i0 <= n
and A13:
x2 = Base_FinSeq (
n,
i0)
and
|(x1,x2)| <> 0
by A10;
i0 in Seg n
by A11, A12, FINSEQ_1:1;
hence
ex
y being
set st
(
y in Seg n &
S1[
x,
y] )
by A9, A11, A12, A13;
verum
end;
consider f being Function of B0,(Seg n) such that
A14:
for x being set st x in B0 holds
S1[x,f . x]
from FUNCT_2:sch 1(A8);
defpred S2[ set , set ] means ( ( $1 in B0 implies for i being Element of NAT st 1 <= i & i <= n & $1 = Base_FinSeq (n,i) holds
$2 = |(x1,(Base_FinSeq (n,i)))| ) & ( not $1 in B0 implies $2 = 0 ) );
A15:
for x being set st x in the carrier of (RealVectSpace (Seg n)) holds
ex y being set st
( y in REAL & S2[x,y] )
consider l2 being Function of the carrier of (RealVectSpace (Seg n)),REAL such that
A18:
for x being set st x in the carrier of (RealVectSpace (Seg n)) holds
S2[x,l2 . x]
from FUNCT_2:sch 1(A15);
A19:
l2 is Element of Funcs ( the carrier of (RealVectSpace (Seg n)),REAL)
by FUNCT_2:8;
for v being Element of (RealVectSpace (Seg n)) st not v in B0 holds
l2 . v = 0
by A18;
then reconsider l3 = l2 as Linear_Combination of RealVectSpace (Seg n) by A2, A5, A19, RLVECT_2:def 3;
Carrier l3 c= B0
then reconsider l0 = l3 as Linear_Combination of B0 by RLVECT_2:def 6;
A20:
Carrier l0 c= B0
by RLVECT_2:def 6;
then
Carrier l0 c= B
by A5, XBOOLE_1:1;
then reconsider l2 = l0 as Linear_Combination of B by RLVECT_2:def 6;
A21:
B0 c= Carrier l0
proof
let x be
set ;
TARSKI:def 3 ( not x in B0 or x in Carrier l0 )
assume A22:
x in B0
;
x in Carrier l0
then consider x6 being
Element of
REAL n such that A23:
x = x6
and A24:
ex
i being
Element of
NAT st
( 1
<= i &
i <= n &
x6 = Base_FinSeq (
n,
i) &
|(x1,x6)| <> 0 )
;
reconsider x66 =
x6 as
Element of
(RealVectSpace (Seg n)) by FINSEQ_2:93;
consider i8 being
Element of
NAT such that
1
<= i8
and
i8 <= n
and A25:
x6 = Base_FinSeq (
n,
i8)
and
|(x1,x6)| <> 0
by A24;
l0 . x66 = |(x1,(Base_FinSeq (n,i8)))|
by A18, A22, A23, A24, A25;
then
x in { v where v is Element of (RealVectSpace (Seg n)) : l0 . v <> 0 }
by A23, A24, A25;
hence
x in Carrier l0
by RLVECT_2:def 4;
verum
end;
for x1, x2 being set st x1 in dom f & x2 in dom f & f . x1 = f . x2 holds
x1 = x2
then A30:
f is one-to-one
by FUNCT_1:def 4;
A31:
( Seg n = {} implies B0 = {} )
A33:
for i3 being Element of NAT st i3 in dom (ProjFinSeq x1) & not i3 in rng (Sgm (rng f)) holds
(ProjFinSeq x1) . i3 = 0* n
proof
let i3 be
Element of
NAT ;
( i3 in dom (ProjFinSeq x1) & not i3 in rng (Sgm (rng f)) implies (ProjFinSeq x1) . i3 = 0* n )
assume that A34:
i3 in dom (ProjFinSeq x1)
and A35:
not
i3 in rng (Sgm (rng f))
;
(ProjFinSeq x1) . i3 = 0* n
A36:
i3 in Seg (len (ProjFinSeq x1))
by A34, FINSEQ_1:def 3;
then A37:
1
<= i3
by FINSEQ_1:1;
len (ProjFinSeq x1) = n
by Def12;
then A38:
i3 <= n
by A36, FINSEQ_1:1;
A39:
not
i3 in rng f
by A35, FINSEQ_1:def 13;
A40:
now assume
|(x1,(Base_FinSeq (n,i3)))| <> 0
;
contradictionthen A41:
Base_FinSeq (
n,
i3)
in B0
by A37, A38;
then consider i5 being
Element of
NAT such that A42:
f . (Base_FinSeq (n,i3)) = i5
and
1
<= i5
and
i5 <= n
and A43:
Base_FinSeq (
n,
i3)
= Base_FinSeq (
n,
i5)
by A14;
A44:
Base_FinSeq (
n,
i3)
in dom f
by A31, A41, FUNCT_2:def 1;
i3 = i5
by A37, A38, A43, Th27;
hence
contradiction
by A39, A42, A44, FUNCT_1:def 3;
verum end;
(ProjFinSeq x1) . i3 = |(x1,(Base_FinSeq (n,i3)))| * (Base_FinSeq (n,i3))
by A37, A38, Def12;
hence
(ProjFinSeq x1) . i3 = 0* n
by A40, EUCLID_4:3;
verum
end;
A45:
dom (Sgm (rng f)) = Seg (len (Sgm (rng f)))
by FINSEQ_1:def 3;
rng ((ProjFinSeq x1) * (Sgm (rng f))) c= rng (ProjFinSeq x1)
by RELAT_1:26;
then A46:
rng ((ProjFinSeq x1) * (Sgm (rng f))) c= REAL n
by A7, XBOOLE_1:1;
A47:
rng (Sgm (rng f)) = rng f
by FINSEQ_1:def 13;
dom ((ProjFinSeq x1) * (Sgm (rng f))) =
(Sgm (rng f)) " (dom (ProjFinSeq x1))
by RELAT_1:147
.=
dom (Sgm (rng f))
by A47, A6, Th2
;
then
(ProjFinSeq x1) * (Sgm (rng f)) is FinSequence
by A45, FINSEQ_1:def 2;
then reconsider F2 = (ProjFinSeq x1) * (Sgm (rng f)) as FinSequence of the carrier of (RealVectSpace (Seg n)) by A1, A46, FINSEQ_1:def 4;
dom F2 =
(Sgm (rng f)) " (Seg n)
by A6, RELAT_1:147
.=
dom (Sgm (rng f))
by A47, Th2
;
then A48:
dom F2 = Seg (len (Sgm (rng f)))
by FINSEQ_1:def 3;
then A49:
Seg (len F2) = Seg (len (Sgm (rng f)))
by FINSEQ_1:def 3;
reconsider F3 = F2 as FinSequence of REAL n by FINSEQ_2:93;
A50: x0 =
Sum (ProjFinSeq x1)
by Th33
.=
Sum F3
by A47, A6, A33, Th26, FINSEQ_3:92
.=
Sum F2
by Th45
;
A51:
rng ((f ") * (Sgm (rng f))) c= rng (f ")
by RELAT_1:26;
A52:
dom (Sgm (rng f)) = Seg (len (Sgm (rng f)))
by FINSEQ_1:def 3;
A53:
len F2 = len (Sgm (rng f))
by A48, FINSEQ_1:def 3;
A54:
dom f = B0
by A31, FUNCT_2:def 1;
then
rng (f ") = B0
by A30, FUNCT_1:33;
then A55:
rng ((f ") * (Sgm (rng f))) c= the carrier of (RealVectSpace (Seg n))
by A51, XBOOLE_1:1;
dom ((f ") * (Sgm (rng f))) =
(Sgm (rng f)) " (dom (f "))
by RELAT_1:147
.=
(Sgm (rng f)) " (rng f)
by A30, FUNCT_1:33
.=
dom (Sgm (rng f))
by A47, Th2
;
then
(f ") * (Sgm (rng f)) is FinSequence
by A52, FINSEQ_1:def 2;
then reconsider F0 = (f ") * (Sgm (rng f)) as FinSequence of the carrier of (RealVectSpace (Seg n)) by A55, FINSEQ_1:def 4;
dom F0 =
(Sgm (rng f)) " (dom (f "))
by RELAT_1:147
.=
(Sgm (rng f)) " (rng f)
by A30, FUNCT_1:33
.=
dom (Sgm (rng f))
by A47, Th2
;
then A56:
dom F0 = Seg (len (Sgm (rng f)))
by FINSEQ_1:def 3;
dom (f ") = rng f
by A30, FUNCT_1:33;
then rng F0 =
rng (f ")
by A47, RELAT_1:28
.=
dom f
by A30, FUNCT_1:33
;
then A57:
rng F0 = Carrier l0
by A54, A20, A21, XBOOLE_0:def 10;
A58:
for i being Element of NAT st i in dom F2 holds
F2 . i = (l0 . (F0 /. i)) * (F0 /. i)
proof
let i be
Element of
NAT ;
( i in dom F2 implies F2 . i = (l0 . (F0 /. i)) * (F0 /. i) )
A59:
Sgm (rng f) is
one-to-one
by FINSEQ_3:92;
assume
i in dom F2
;
F2 . i = (l0 . (F0 /. i)) * (F0 /. i)
then A60:
i in Seg (len F2)
by FINSEQ_1:def 3;
then A61:
i in dom (Sgm (rng f))
by A53, FINSEQ_1:def 3;
then
(Sgm (rng f)) . i in rng (Sgm (rng f))
by FUNCT_1:def 3;
then reconsider i2 =
(Sgm (rng f)) . i as
Element of
NAT ;
reconsider r =
Base_FinSeq (
n,
i2) as
Element of
(RealVectSpace (Seg n)) by FINSEQ_2:93;
i2 in rng (Sgm (rng f))
by A61, FUNCT_1:def 3;
then consider x2 being
set such that A62:
x2 in dom f
and A63:
f . x2 = i2
by A47, FUNCT_1:def 3;
dom f = B0
by A31, FUNCT_2:def 1;
then reconsider r2 =
x2 as
Element of
(RealVectSpace (Seg n)) by A62;
A64:
ex
i22 being
Element of
NAT st
(
f . r2 = i22 & 1
<= i22 &
i22 <= n &
r2 = Base_FinSeq (
n,
i22) )
by A14, A62;
then consider i4 being
Element of
NAT such that A65:
f . r = i4
and
1
<= i4
and
i4 <= n
and A66:
r = Base_FinSeq (
n,
i4)
by A63;
A67:
dom f = B0
by A31, FUNCT_2:def 1;
F0 . i =
(f ") . ((Sgm (rng f)) . i)
by A61, FUNCT_1:13
.=
Base_FinSeq (
n,
i2)
by A30, A62, A63, A64, FUNCT_1:32
;
then
Base_FinSeq (
n,
i2)
in rng F0
by A56, A49, A60, FUNCT_1:def 3;
then
Base_FinSeq (
n,
i2)
in { v where v is Element of (RealVectSpace (Seg n)) : l0 . v <> 0 }
by A57, RLVECT_2:def 4;
then A68:
ex
v0 being
Element of
(RealVectSpace (Seg n)) st
(
Base_FinSeq (
n,
i2)
= v0 &
l0 . v0 <> 0 )
;
then
Base_FinSeq (
n,
i2)
in B0
by A18;
then A69:
(f ") . (f . (Base_FinSeq (n,i2))) = Base_FinSeq (
n,
i2)
by A30, A67, FUNCT_1:34;
then A70:
((f ") * (Sgm (rng f))) . i = Base_FinSeq (
n,
i2)
by A61, A63, A64, FUNCT_1:13;
A71:
i2 in rng f
by A47, A61, FUNCT_1:def 3;
then A72:
1
<= i2
by FINSEQ_1:1;
A73:
i2 <= n
by A71, FINSEQ_1:1;
then
i4 = i2
by A72, A66, Th27;
then A74:
((Sgm (rng f)) ") . (f . (Base_FinSeq (n,i2))) = i
by A61, A65, A59, FUNCT_1:32;
A75:
f . (Base_FinSeq (n,i2)) in rng (Sgm (rng f))
by A47, A62, A63, A64, FUNCT_1:def 3;
then A76:
(f ") . ((Sgm (rng f)) . (((Sgm (rng f)) ") . (f . (Base_FinSeq (n,i2))))) = Base_FinSeq (
n,
i2)
by A59, A69, FUNCT_1:35;
dom ((Sgm (rng f)) ") = rng (Sgm (rng f))
by A59, FUNCT_1:33;
then
((Sgm (rng f)) ") . (f . (Base_FinSeq (n,i2))) in rng ((Sgm (rng f)) ")
by A75, FUNCT_1:def 3;
then A77:
((Sgm (rng f)) ") . (f . (Base_FinSeq (n,i2))) in dom (Sgm (rng f))
by A59, FUNCT_1:33;
l0 . (F0 /. i) =
l0 . (((f ") * (Sgm (rng f))) . i)
by A56, A53, A60, PARTFUN1:def 6
.=
l0 . (Base_FinSeq (n,i2))
by A74, A77, A76, FUNCT_1:13
.=
|(x1,(Base_FinSeq (n,i2)))|
by A18, A72, A73, A68
;
then (l0 . (F0 /. i)) * (F0 /. i) =
|(x1,(Base_FinSeq (n,i2)))| * (Base_FinSeq (n,i2))
by A56, A53, A60, A70, PARTFUN1:def 6
.=
(ProjFinSeq x1) . ((Sgm (rng f)) . i)
by A72, A73, Def12
.=
((ProjFinSeq x1) * (Sgm (rng f))) . i
by A61, FUNCT_1:13
;
hence
F2 . i = (l0 . (F0 /. i)) * (F0 /. i)
;
verum
end;
A78:
Sgm (rng f) is one-to-one
by FINSEQ_3:92;
len F2 = len F0
by A56, A49, FINSEQ_1:def 3;
then
x1 = Sum (l0 (#) F0)
by A50, A58, RLVECT_2:def 7;
then
x1 = Sum l2
by A30, A78, A57, RLVECT_2:def 8;
hence
ex l being Linear_Combination of B st x0 = Sum l
; verum