let K be Field; :: thesis: for V1, V2 being VectSp of K
for A being Subset of V1
for L being Linear_Combination of V2
for f being linear-transformation of V1,V2 st Carrier L c= f .: A holds
ex M being Linear_Combination of A st f . (Sum M) = Sum L

let V1, V2 be VectSp of K; :: thesis: for A being Subset of V1
for L being Linear_Combination of V2
for f being linear-transformation of V1,V2 st Carrier L c= f .: A holds
ex M being Linear_Combination of A st f . (Sum M) = Sum L

let A be Subset of V1; :: thesis: for L being Linear_Combination of V2
for f being linear-transformation of V1,V2 st Carrier L c= f .: A holds
ex M being Linear_Combination of A st f . (Sum M) = Sum L

let L be Linear_Combination of V2; :: thesis: for f being linear-transformation of V1,V2 st Carrier L c= f .: A holds
ex M being Linear_Combination of A st f . (Sum M) = Sum L

let f be linear-transformation of V1,V2; :: thesis: ( Carrier L c= f .: A implies ex M being Linear_Combination of A st f . (Sum M) = Sum L )
assume A1: Carrier L c= f .: A ; :: thesis: ex M being Linear_Combination of A st f . (Sum M) = Sum L
set C = Carrier L;
consider F being FinSequence of the carrier of V2 such that
A2: F is one-to-one and
A3: rng F = Carrier L and
A4: Sum L = Sum (L (#) F) by VECTSP_6:def 6;
defpred S1[ object , object ] means ( $2 in A & f . $2 = F . $1 );
set D = dom F;
A5: for x being object st x in dom F holds
ex y being object st
( y in the carrier of V1 & S1[x,y] )
proof
let x be object ; :: thesis: ( x in dom F implies ex y being object st
( y in the carrier of V1 & S1[x,y] ) )

assume x in dom F ; :: thesis: ex y being object st
( y in the carrier of V1 & S1[x,y] )

then F . x in rng F by FUNCT_1:def 3;
then consider y being object such that
y in dom f and
A6: ( y in A & f . y = F . x ) by A1, A3, FUNCT_1:def 6;
take y ; :: thesis: ( y in the carrier of V1 & S1[x,y] )
thus ( y in the carrier of V1 & S1[x,y] ) by A6; :: thesis: verum
end;
consider p being Function of (dom F), the carrier of V1 such that
A7: for x being object st x in dom F holds
S1[x,p . x] from FUNCT_2:sch 1(A5);
A8: rng p c= the carrier of V1 by RELAT_1:def 19;
A9: dom p = dom F by FUNCT_2:def 1;
dom F = Seg (len F) by FINSEQ_1:def 3;
then reconsider p = p as FinSequence by A9, FINSEQ_1:def 2;
reconsider p = p as FinSequence of V1 by A8, FINSEQ_1:def 4;
A10: now :: thesis: for x1, x2 being object st x1 in dom p & x2 in dom p & p . x1 = p . x2 holds
x1 = x2
let x1, x2 be object ; :: thesis: ( x1 in dom p & x2 in dom p & p . x1 = p . x2 implies x1 = x2 )
assume that
A11: ( x1 in dom p & x2 in dom p ) and
A12: p . x1 = p . x2 ; :: thesis: x1 = x2
( f . (p . x1) = F . x1 & f . (p . x2) = F . x2 ) by A7, A9, A11;
hence x1 = x2 by A2, A9, A11, A12, FUNCT_1:def 4; :: thesis: verum
end;
then A13: p is one-to-one by FUNCT_1:def 4;
reconsider RNG = rng p as finite Subset of V1 by RELAT_1:def 19;
defpred S2[ object , object ] means ( ( $1 in rng p implies for x being set st x in dom F & p . x = $1 holds
$2 = L . (F . x) ) & ( not $1 in rng p implies $2 = 0. K ) );
A14: for x being object st x in the carrier of V1 holds
ex y being object st
( y in the carrier of K & S2[x,y] )
proof
let x be object ; :: thesis: ( x in the carrier of V1 implies ex y being object st
( y in the carrier of K & S2[x,y] ) )

assume x in the carrier of V1 ; :: thesis: ex y being object st
( y in the carrier of K & S2[x,y] )

then reconsider v1 = x as Vector of V1 ;
per cases ( not v1 in rng p or v1 in rng p ) ;
suppose A15: not v1 in rng p ; :: thesis: ex y being object st
( y in the carrier of K & S2[x,y] )

take 0. K ; :: thesis: ( 0. K in the carrier of K & S2[x, 0. K] )
thus ( 0. K in the carrier of K & S2[x, 0. K] ) by A15; :: thesis: verum
end;
suppose A16: v1 in rng p ; :: thesis: ex y being object st
( y in the carrier of K & S2[x,y] )

then consider y being object such that
A17: ( y in dom p & p . y = v1 ) by FUNCT_1:def 3;
take L . (F . y) ; :: thesis: ( L . (F . y) in the carrier of K & S2[x,L . (F . y)] )
L . (F /. y) in the carrier of K ;
hence ( L . (F . y) in the carrier of K & S2[x,L . (F . y)] ) by A9, A10, A16, A17, PARTFUN1:def 6; :: thesis: verum
end;
end;
end;
consider M being Function of V1,K such that
A18: for x being object st x in the carrier of V1 holds
S2[x,M . x] from FUNCT_2:sch 1(A14);
reconsider M = M as Element of Funcs ( the carrier of V1, the carrier of K) by FUNCT_2:8;
for v1 being Element of V1 st not v1 in RNG holds
M . v1 = 0. K by A18;
then reconsider M = M as Linear_Combination of V1 by VECTSP_6:def 1;
A19: Carrier M = RNG
proof
thus Carrier M c= RNG :: according to XBOOLE_0:def 10 :: thesis: RNG c= Carrier M
proof
let x be object ; :: according to TARSKI:def 3 :: thesis: ( not x in Carrier M or x in RNG )
assume A20: x in Carrier M ; :: thesis: x in RNG
reconsider v1 = x as Vector of V1 by A20;
M . v1 <> 0. K by A20, VECTSP_6:2;
hence x in RNG by A18; :: thesis: verum
end;
let y be object ; :: according to TARSKI:def 3 :: thesis: ( not y in RNG or y in Carrier M )
assume A21: y in RNG ; :: thesis: y in Carrier M
reconsider v1 = y as Vector of V1 by A21;
consider x being object such that
A22: x in dom F and
A23: p . x = v1 by A9, A21, FUNCT_1:def 3;
F . x in Carrier L by A3, A22, FUNCT_1:def 3;
then A24: L . (F . x) <> 0. K by VECTSP_6:2;
M . v1 = L . (F . x) by A18, A21, A22, A23;
hence y in Carrier M by A24; :: thesis: verum
end;
RNG c= A
proof
let y be object ; :: according to TARSKI:def 3 :: thesis: ( not y in RNG or y in A )
assume y in RNG ; :: thesis: y in A
then ex x being object st
( x in dom F & p . x = y ) by A9, FUNCT_1:def 3;
hence y in A by A7; :: thesis: verum
end;
then reconsider M = M as Linear_Combination of A by A19, VECTSP_6:def 4;
len (M (#) p) = len p by VECTSP_6:def 5;
then A25: dom (M (#) p) = dom F by A9, FINSEQ_3:29;
len (L (#) F) = len F by VECTSP_6:def 5;
then A26: dom (L (#) F) = dom F by FINSEQ_3:29;
A27: now :: thesis: for x being object st x in dom F holds
(f * (M (#) p)) . x = (L (#) F) . x
let x be object ; :: thesis: ( x in dom F implies (f * (M (#) p)) . x = (L (#) F) . x )
assume A28: x in dom F ; :: thesis: (f * (M (#) p)) . x = (L (#) F) . x
reconsider i = x as Element of NAT by A28;
A29: F . i = F /. i by A28, PARTFUN1:def 6;
p . i in RNG by A9, A28, FUNCT_1:def 3;
then A30: M . (p . i) = L . (F . i) by A18, A28;
A31: ( p /. i = p . i & f . (p . i) = F . i ) by A7, A9, A28, PARTFUN1:def 6;
thus (f * (M (#) p)) . x = f . ((M (#) p) . i) by A25, A28, FUNCT_1:13
.= f . ((M . (p /. i)) * (p /. i)) by A25, A28, VECTSP_6:def 5
.= (L . (F /. i)) * (F /. i) by A31, A29, A30, MOD_2:def 2
.= (L (#) F) . x by A26, A28, VECTSP_6:def 5 ; :: thesis: verum
end;
take M ; :: thesis: f . (Sum M) = Sum L
( dom f = [#] V1 & rng (M (#) p) c= [#] V1 ) by FUNCT_2:def 1, RELAT_1:def 19;
then dom (f * (M (#) p)) = dom (M (#) p) by RELAT_1:27;
then f * (M (#) p) = L (#) F by A26, A25, A27, FUNCT_1:2;
hence Sum L = f . (Sum (M (#) p)) by A4, MATRLIN:16
.= f . (Sum M) by A13, A19, VECTSP_6:def 6 ;
:: thesis: verum