
theorem Th29:
  for V being RealUnitarySpace, V1 being Subset of V st V1 <> {} &
V1 is linearly-closed holds ex W being strict Subspace of V st V1 = the carrier
  of W
proof
  let V be RealUnitarySpace;
  let V1 be Subset of V;
  assume that
A1: V1 <> {} and
A2: V1 is linearly-closed;
  reconsider D = V1 as non empty set by A1;
  reconsider d1 = 0.V as Element of D by A2,RLSUB_1:1;
  set S = (the scalar of V)||V1;
  set VV = the carrier of V;
  set M = (the Mult of V) | [:REAL,V1:];
  dom(the Mult of V) = [:REAL,VV:] by FUNCT_2:def 1;
  then
A3: dom M = [:REAL,VV:] /\ [:REAL,V1:] by RELAT_1:61;
  [:REAL,V1:] c= [:REAL,VV:] by ZFMISC_1:95;
  then
A4: dom M = [:REAL,D:] by A3,XBOOLE_1:28;
  now
    let y be object;
    thus y in D implies ex x being object st x in dom M & y = M.x
    proof
      assume
A5:   y in D;
      then reconsider v1 = y as Element of VV;
A6:   [jj,y] in [:REAL,D:] by A5,ZFMISC_1:87;
      then M.[1,y] = 1 * v1 by FUNCT_1:49
        .= y by RLVECT_1:def 8;
      hence thesis by A4,A6;
    end;
    given x being object such that
A7: x in dom M and
A8: y = M.x;
    consider x1,x2 being object such that
A9: x1 in REAL and
A10: x2 in D and
A11: x = [x1,x2] by A4,A7,ZFMISC_1:def 2;
    reconsider xx1 = x1 as Real by A9;
    reconsider v2 = x2 as Element of VV by A10;
    [x1,x2] in [:REAL,V1:] by A9,A10,ZFMISC_1:87;
    then y = xx1 * v2 by A8,A11,FUNCT_1:49;
    hence y in D by A2,A10,RLSUB_1:def 1;
  end;
  then D = rng M by FUNCT_1:def 3;
  then reconsider M as Function of [:REAL,D:],D by A4,FUNCT_2:def 1,RELSET_1:4;
  set A = (the addF of V)||V1;
  dom(the addF of V) = [:VV,VV:] by FUNCT_2:def 1;
  then
A12: dom A = [:VV,VV:] /\ [:V1,V1:] by RELAT_1:61;
  then reconsider S as Function of [:D,D:],REAL by FUNCT_2:32;
A13: dom A = [:D,D:] by A12,XBOOLE_1:28;
  now
    let y be object;
    thus y in D implies ex x being object st x in dom A & y = A.x
    proof
      assume
A14:  y in D;
      then reconsider v1 = y, v0 = d1 as Element of VV;
A15:  [d1,y] in [:D,D:] by A14,ZFMISC_1:87;
      then A.[d1,y] = v0 + v1 by FUNCT_1:49
        .= y by RLVECT_1:4;
      hence thesis by A13,A15;
    end;
    given x being object such that
A16: x in dom A and
A17: y = A.x;
    consider x1,x2 being object such that
A18: x1 in D & x2 in D and
A19: x = [x1,x2] by A13,A16,ZFMISC_1:def 2;
    reconsider v1 = x1, v2 = x2 as Element of VV by A18;
    [x1,x2] in [:V1,V1:] by A18,ZFMISC_1:87;
    then y = v1 + v2 by A17,A19,FUNCT_1:49;
    hence y in D by A2,A18,RLSUB_1:def 1;
  end;
  then D = rng A by FUNCT_1:def 3;
  then reconsider A as Function of [:D,D:],D by A13,FUNCT_2:def 1,RELSET_1:4;
  set W = UNITSTR (# D,d1,A,M,S #);
  W is Subspace of V by Th18;
  hence thesis;
end;
