reserve GF for Field,
  V for VectSp of GF,
  W for Subspace of V,
  x, y, y1, y2 for set,
  i, n, m for Nat;

theorem Th4:
  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.GF);
  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 the carrier of GF & P[x, y]
  proof
    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;
    end;
    suppose
      not x in rng F;
      hence thesis;
    end;
  end;
  ex K being Function of the carrier of V, the carrier of GF 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, the carrier of GF such that
A2: for x being object st x in the carrier of V holds P[x, K.x];
A3: now
    let v be Vector of V;
    assume
A4: not v in R /\ Carrier(L);
    per cases by A4,XBOOLE_0:def 4;
    suppose
      not v in R;
      hence K.v = 0.GF by A2;
    end;
    suppose
A5:   not v in Carrier(L);
      P[v, K.v] & P[v, L.v] or P[v, K.v] & P[v, 0.GF] by A2;
      hence K.v = 0.GF by A5,VECTSP_6:2;
    end;
  end;
  reconsider K as Element of Funcs(the carrier of V, the carrier of GF) by
FUNCT_2:8;
  reconsider K as Linear_Combination of V by A3,VECTSP_6:def 1;
  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.GF by VECTSP_6:2;
    v in R by A6,XBOOLE_0:def 4;
    then K.v9 = L.v9 by A2;
    hence v in Carrier(K) by A7,VECTSP_6:1;
  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 VECTSP_6:def 5;
    len q = len F by VECTSP_6:def 5;
    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 A2;
      assume
A14:  k in dom p;
      then F/.k = F.k & p.k = L.u * u by A12,PARTFUN1:def 6,VECTSP_6:def 5;
      hence p.k = q.k by A11,A12,A14,A13,FUNCT_1:def 3,VECTSP_6:def 5;
    end;
    hence thesis by A11,FINSEQ_1:13;
  end;
  now
    let v be object;
    assume v in Carrier(K);
    then ex v9 being Vector of V st v9= v & K.v9 <> 0.GF by VECTSP_6:1;
    hence v in rng F /\ Carrier(L) by A3;
  end;
  then Carrier(K) c= rng F /\ Carrier(L);
  hence thesis by A8,A9,XBOOLE_0:def 10;
end;
