reserve V for RealLinearSpace;
reserve W,W1,W2,W3 for Subspace of V;
reserve u,u1,u2,v,v1,v2 for VECTOR of V;
reserve a,a1,a2 for Real;
reserve X,Y,x,y,y1,y2 for set;
reserve C for Coset of W;
reserve C1 for Coset of W1;
reserve C2 for Coset of W2;
reserve t1,t2 for Element of [:the carrier of V, the carrier of V:];
reserve A1,A2,B for Element of Subspaces(V);
reserve l for Lattice;
reserve a,b for Element of l;

theorem Th59:
  for V being RealLinearSpace holds LattStr (# Subspaces(V),
    SubJoin(V), SubMeet(V) #) is complemented
proof
  let V be RealLinearSpace;
  reconsider S = LattStr (# Subspaces(V), SubJoin(V), SubMeet(V) #) as
  01_Lattice by Th57;
  reconsider S0 = S as 0_Lattice;
  reconsider S1 = S as 1_Lattice;
  reconsider Z = (0).V, I = (Omega).V as Element of S by Def3;
  reconsider Z0 = Z as Element of S0;
  reconsider I1 = I as Element of S1;
  now
    let A be Element of S0;
    reconsider W = A as Subspace of V by Def3;
    thus A "/\" Z0 = W /\ (0).V by Def8
      .= Z0 by Th18;
  end;
  then
A1: Bottom S = Z by Lm19;
  now
    let A be Element of S1;
    reconsider W = A as Subspace of V by Def3;
    thus A "\/" I1 = W + (Omega).V by Def7
      .= (Omega).V by Th11;
  end;
  then
A2: Top S = I by Lm20;
  now
    let A be Element of S;
    reconsider W = A as Subspace of V by Def3;
    set L = the strict Linear_Compl of W;
    reconsider B9 = L as Element of S by Def3;
    take B = B9;
A3: B "/\" A = L /\ W by Def8
      .= Bottom S by A1,Th37;
    B "\/" A = L + W by Def7
      .= Top S by A2,Th36;
    hence B is_a_complement_of A by A3,Lm18;
  end;
  hence thesis;
end;
