reserve i,j,m,n,k for Nat,
  x,y for set,
  K for Field,
  a for Element of K;
reserve V for non trivial VectSp of K,
  V1,V2 for VectSp of K,
  f for linear-transformation of V1,V1,
  v,w for Vector of V,
  v1 for Vector of V1,
  L for Scalar of K;
reserve S for 1-sorted,
  F for Function of S,S;

theorem Th43:
  for L be Linear_Combination of V1, F be FinSequence of V1, f be
linear-transformation of V1,V2 st f|(Carrier L /\ rng F) is one-to-one & rng F
c= Carrier L ex Lf be Linear_Combination of V2 st Carrier Lf = f.:(Carrier L /\
rng F) & f*(L(#)F) = Lf(#)(f*F) & for v1 st v1 in Carrier L /\ rng F holds L.v1
  =Lf.(f.v1)
proof
  let L be Linear_Combination of V1, F be FinSequence of V1, f be
  linear-transformation of V1,V2 such that
A1: f|((Carrier L) /\ (rng F)) is one-to-one and
A2: rng F c= Carrier L;
  set R=rng F;
  set C=Carrier L;
  defpred P[object,object] means
(not $1 in f.:(C/\R) implies $2=0.K) & ($1 in f.:(C
  /\R) implies for v1 be Vector of V1 st v1 in C/\R & f.v1=$1 holds $2=L.v1);
A3: for x being object st x in the carrier of V2
ex y being object st y in the carrier of K & P[x,y]
  proof
    let x being object such that
    x in the carrier of V2;
    per cases;
    suppose
A4:   not x in f.:(C/\R);
      take 0.K;
      thus thesis by A4;
    end;
    suppose
A5:   x in f.:(C/\R);
      then consider y being object such that
      y in dom f and
A6:   y in C/\R and
A7:   x=f.y by FUNCT_1:def 6;
      reconsider y as Vector of V1 by A6;
      take L.y;
      now
A8:     dom f=[#]V1 by FUNCT_2:def 1;
        then
A9:     y in dom(f|(C/\R)) by A6,RELAT_1:57;
A10:    (f|(C/\R)).y=x by A6,A7,FUNCT_1:49;
        let v1 be Vector of V1 such that
A11:    v1 in C/\R and
A12:    f.v1=x;
A13:    (f|(C/\R)).v1=x by A11,A12,FUNCT_1:49;
        v1 in dom(f|(C/\R)) by A11,A8,RELAT_1:57;
        hence L.y=L.v1 by A1,A9,A13,A10,FUNCT_1:def 4;
      end;
      hence thesis by A5;
    end;
  end;
  consider Lf be Function of V2,K such that
A14: for x being object st x in the carrier of V2 holds P[x,Lf.x]
from FUNCT_2:sch 1(
  A3 );
  reconsider Lf as Element of Funcs(the carrier of V2, the carrier of K) by
FUNCT_2:8;
  for v2 be Element of V2 st not v2 in f.:(C/\R) holds Lf.v2 = 0.K by A14;
  then reconsider Lf as Linear_Combination of V2 by VECTSP_6:def 1;
A15: dom f = [#]V1 by FUNCT_2:def 1;
  take Lf;
A16: f.:(C/\ R) c= Carrier Lf
  proof
    let y be object such that
A17: y in f.:(C/\R);
    consider v1 be object such that
    v1 in dom f and
A18: v1 in C/\R and
A19: f.v1=y by A17,FUNCT_1:def 6;
    reconsider v1 as Vector of V1 by A18;
    v1 in C by A18,XBOOLE_0:def 4;
    then
A20: L.v1 <> 0.K by VECTSP_6:2;
    reconsider v2=y as Vector of V2 by A17;
    Lf.v2 = L.v1 by A14,A17,A18,A19;
    hence thesis by A20;
  end;
  Carrier Lf c= f.:(C/\ R)
  proof
    let x be object such that
A21: x in Carrier Lf;
    reconsider v2=x as Vector of V2 by A21;
    Lf.v2<>0.K by A21,VECTSP_6:2;
    hence thesis by A14;
  end;
  hence Carrier Lf = f.:(C/\ R) by A16;
  len (L(#)F)=len F by VECTSP_6:def 5;
  then
A22: dom (L(#)F) =dom F by FINSEQ_3:29;
  rng F c= [#]V1 by RELAT_1:def 19;
  then
A23: dom (f*F)=dom F by A15,RELAT_1:27;
  len (Lf(#)(f*F)) =len (f*F) by VECTSP_6:def 5;
  then
A24: dom (Lf(#)(f*F)) =dom (f*F) by FINSEQ_3:29;
A25: now
    let x be object such that
A26: x in dom F;
    reconsider k=x as Nat by A26;
A27: (f*F).k=(f*F)/.k by A23,A26,PARTFUN1:def 6;
A28: F/.k=F.k by A26,PARTFUN1:def 6;
    then
A29: (f*F).k=f.(F/.k) by A23,A26,FUNCT_1:12;
    F.k in R by A26,FUNCT_1:def 3;
    then
A30: F.k in C/\R by A2,XBOOLE_0:def 4;
    then (f*F)/.k in f.:(C/\R) by A15,A28,A29,A27,FUNCT_1:def 6;
    then
A31: L.(F/.k)=Lf.((f*F)/.k) by A14,A28,A29,A27,A30;
    thus (f*(L(#)F)).x = f.((L(#)F).k) by A22,A26,FUNCT_1:13
      .= f.(L.(F/.k)* F/.k) by A22,A26,VECTSP_6:def 5
      .= Lf.((f*F)/.k) * (f*F)/.k by A29,A27,A31,MOD_2:def 2
      .= (Lf(#)(f*F)).x by A24,A23,A26,VECTSP_6:def 5;
  end;
  rng (L(#)F) c= [#]V1 by RELAT_1:def 19;
  then dom (f*(L(#)F))= dom (L(#)F) by A15,RELAT_1:27;
  hence f*(L(#)F) = Lf(#)(f*F) by A22,A24,A23,A25,FUNCT_1:2;
  let v1 be Vector of V1 such that
A32: v1 in C /\ R;
  f.v1 in f.:(C/\R) by A15,A32,FUNCT_1:def 6;
  hence thesis by A14,A32;
end;
