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);

theorem Th58:
  for V being RealLinearSpace holds LattStr (# Subspaces(V),
    SubJoin(V), SubMeet(V) #) is modular
proof
  let V be RealLinearSpace;
  set S = LattStr (# Subspaces(V), SubJoin(V), SubMeet(V) #);
  for A,B,C being Element of S st A [= C holds A "\/" (B "/\" C) = (A "\/"
  B) "/\" C
  proof
    let A,B,C be Element of S;
    reconsider W1 = A, W2 = B, W3 = C as strict Subspace of V by Def3;
    assume
A1: A [= C;
    reconsider AB = W1 + W2 as Element of S by Def3;
    reconsider BC = W2 /\ W3 as Element of S by Def3;
    W1 + W3 = A "\/" C by Def7
      .= W3 by A1;
    then
A2: W1 is Subspace of W3 by Th8;
    thus A "\/" (B "/\" C) = SubJoin(V).(A,BC) by Def8
      .= W1 + (W2 /\ W3) by Def7
      .= (W1 + W2) /\ W3 by A2,Th29
      .= SubMeet(V).(AB,C) by Def8
      .= (A "\/" B) "/\" C by Def7;
  end;
  hence thesis;
end;
