reserve V for RealLinearSpace,
  W for Subspace of V,
  x, y, y1, y2 for set,
  i, n for Element of NAT,
  v for VECTOR of V,
  KL1, KL2 for Linear_Combination of V,
  X for Subset of V;

theorem Th7:
  for L being Linear_Combination of V for F being FinSequence of
the carrier of V holds ex K being Linear_Combination of V st Carrier(K) = rng F
  /\ Carrier(L) & L (#) F = K (#) F
proof
  let L be Linear_Combination of V, F be FinSequence of the carrier of V;
  defpred P[object, object] means
$1 is VECTOR of V implies ($1 in rng F & $2 = L.$1
  ) or (not $1 in rng F & $2 = 0);
  reconsider R = rng F as finite Subset of V by FINSEQ_1:def 4;
A1: for x being object st x in the carrier of V
ex y being object st y in REAL & P[x, y]
  proof
A2: 0 in REAL by XREAL_0:def 1;
    let x be object;
    assume x in the carrier of V;
    then reconsider x9= x as VECTOR of V;
    per cases;
    suppose
      x in rng F;
      then P[x, L.x9];
      hence thesis by A2;
    end;
    suppose
      not x in rng F;
      hence thesis by A2;
    end;
  end;
  ex K being Function of the carrier of V, REAL st
  for x being object  st x in the
  carrier of V holds P[x, K.x] from FUNCT_2:sch 1(A1);
  then consider K being Function of the carrier of V, REAL such that
A3: for x being object st x in the carrier of V holds P[x, K.x];
A4: now
    let v be VECTOR of V;
    assume
A5: not v in R /\ Carrier(L);
    per cases by A5,XBOOLE_0:def 4;
    suppose
      not v in R;
      hence K.v = 0 by A3;
    end;
    suppose
      not v in Carrier(L);
      then L.v = 0 by RLVECT_2:19;
      hence K.v = 0 by A3;
    end;
  end;
  reconsider K as Element of Funcs(the carrier of V, REAL) by FUNCT_2:8;
  reconsider K as Linear_Combination of V by A4,RLVECT_2:def 3;
  now
    let v be object;
    assume
A6: v in rng F /\ Carrier(L);
    then reconsider v9= v as VECTOR of V;
    v in Carrier(L) by A6,XBOOLE_0:def 4;
    then
A7: L.v9 <> 0 by RLVECT_2:19;
    v in R by A6,XBOOLE_0:def 4;
    then K.v9 = L.v9 by A3;
    then v in {w where w is VECTOR of V : K.w <> 0 } by A7;
    hence v in Carrier(K) by RLVECT_2:def 4;
  end;
  then
A8: rng F /\ Carrier(L) c= Carrier(K);
  take K;
A9: L (#) F = K (#) F
  proof
    set p = L (#) F, q = K (#) F;
A10: len p = len F by RLVECT_2:def 7;
    len q = len F by RLVECT_2:def 7;
    then
A11: dom p = dom q by A10,FINSEQ_3:29;
A12: dom p = dom F by A10,FINSEQ_3:29;
    now
      let k be Nat;
      set u = F/.k;
A13:  P[u, K.u] by A3;
      assume
A14:  k in dom p;
      then F/.k = F.k & p.k = L.u * u by A12,PARTFUN1:def 6,RLVECT_2:def 7;
      hence p.k = q.k by A11,A12,A14,A13,FUNCT_1:def 3,RLVECT_2:def 7;
    end;
    hence thesis by A11,FINSEQ_1:13;
  end;
  now
    let v be object;
    assume v in Carrier(K);
    then v in {v9 where v9 is VECTOR of V : K.v9 <> 0} by RLVECT_2:def 4;
    then ex v9 being VECTOR of V st v9= v & K.v9 <> 0;
    hence v in rng F /\ Carrier(L) by A4;
  end;
  then Carrier(K) c= rng F /\ Carrier(L);
  hence thesis by A8,A9,XBOOLE_0:def 10;
end;
