reserve V,X,Y for RealLinearSpace;
reserve u,u1,u2,v,v1,v2 for VECTOR of V;
reserve a for Real;
reserve V1,V2,V3 for Subset of V;
reserve x for object;
reserve W,W1,W2 for Subspace of V;
reserve w,w1,w2 for VECTOR of W;
reserve D for non empty set;
reserve d1 for Element of D;
reserve A for BinOp of D;
reserve M for Function of [:REAL,D:],D;

theorem Th35:
  V1 <> {} & V1 is linearly-closed implies ex W being strict
  Subspace of V st V1 = the carrier of W
proof
  assume that
A1: V1 <> {} and
A2: V1 is linearly-closed;
  reconsider D = V1 as non empty set by A1;
  set M = (the Mult of V) | [:REAL,V1:];
  set VV = the carrier of V;
  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;
  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;
  reconsider d1 = 0.V as Element of D by A2,Th1;
  dom(the addF of V) = [:VV,VV:] by FUNCT_2:def 1;
  then dom A = [:VV,VV:] /\ [:V1,V1:] by RELAT_1:61;
  then
A12: dom A = [:D,D:] by 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
A13:  y in D;
      then reconsider v1 = y, v0 = d1 as Element of VV;
A14:  [d1,y] in [:D,D:] by A13,ZFMISC_1:87;
      then A.[d1,y] = v0 + v1 by FUNCT_1:49
        .= y;
      hence thesis by A12,A14;
    end;
    given x being object such that
A15: x in dom A and
A16: y = A.x;
    consider x1,x2 being object such that
A17: x1 in D & x2 in D and
A18: x = [x1,x2] by A12,A15,ZFMISC_1:def 2;
    reconsider v1 = x1, v2 = x2 as Element of VV by A17;
    [x1,x2] in [:V1,V1:] by A17,ZFMISC_1:87;
    then y = v1 + v2 by A16,A18,FUNCT_1:49;
    hence y in D by A2,A17;
  end;
  then D = rng A by FUNCT_1:def 3;
  then reconsider A as Function of [:D,D:],D by A12,FUNCT_2:def 1,RELSET_1:4;
  set W = RLSStruct (# D,d1,A,M #);
  W is Subspace of V by Th24;
  hence thesis;
end;
