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 Th54:
  LattStr (# Subspaces(V), SubJoin(V), SubMeet(V) #) is Lattice
proof
  set S = LattStr (# Subspaces(V), SubJoin(V), SubMeet(V) #);
A1: for A,B being Element of S holds A "/\" B = B "/\" A
  proof
    let A,B be Element of S;
    reconsider W1 = A, W2 = B as Subspace of V by Def3;
    thus A "/\" B = W1 /\ W2 by Def8
      .= W2 /\ W1 by Th14
      .= B "/\" A by Def8;
  end;
A2: for A,B being Element of S holds (A "/\" B) "\/" B = B
  proof
    let A,B be Element of S;
    reconsider W1 = A, W2 = B as strict Subspace of V by Def3;
    reconsider AB = W1 /\ W2 as Element of S by Def3;
    thus (A "/\" B) "\/" B = SubJoin(V).(AB,B) by Def8
      .= (W1 /\ W2) + W2 by Def7
      .= B by Lm6,RLSUB_1:30;
  end;
A3: for A,B,C being Element of S holds A "\/" (B "\/" C) = (A "\/" B) "\/" C
  proof
    let A,B,C be Element of S;
    reconsider W1 = A, W2 = B, W3 = C as Subspace of V by Def3;
    reconsider AB = W1 + W2, BC = W2 + W3 as Element of S by Def3;
    thus A "\/" (B "\/" C) = SubJoin(V).(A,BC) by Def7
      .= W1 + (W2 + W3) by Def7
      .= (W1 + W2) + W3 by Th6
      .= SubJoin(V).(AB,C) by Def7
      .= (A "\/" B) "\/" C by Def7;
  end;
A4: for A,B being Element of S holds A "/\" (A "\/" B) = A
  proof
    let A,B be Element of S;
    reconsider W1 = A, W2 = B as strict Subspace of V by Def3;
    reconsider AB = W1 + W2 as Element of S by Def3;
    thus A "/\" (A "\/" B) = SubMeet(V).(A,AB) by Def7
      .= W1 /\ (W1 + W2) by Def8
      .= A by Lm7,RLSUB_1:30;
  end;
A5: for A,B,C being Element of S holds A "/\" (B "/\" C) = (A "/\" B) "/\" C
  proof
    let A,B,C be Element of S;
    reconsider W1 = A, W2 = B, W3 = C as Subspace of V by Def3;
    reconsider AB = W1 /\ W2, BC = W2 /\ W3 as Element of S by Def3;
    thus A "/\" (B "/\" C) = SubMeet(V).(A,BC) by Def8
      .= W1 /\ (W2 /\ W3) by Def8
      .= (W1 /\ W2) /\ W3 by Th15
      .= SubMeet(V).(AB,C) by Def8
      .= (A "/\" B) "/\" C by Def8;
  end;
  for A,B being Element of S holds A "\/" B = B "\/" A
  proof
    let A,B be Element of S;
    reconsider W1 = A, W2 = B as Subspace of V by Def3;
    thus A "\/" B = W1 + W2 by Def7
      .= W2 + W1 by Lm1
      .= B "\/" A by Def7;
  end;
  then S is join-commutative join-associative meet-absorbing meet-commutative
  meet-associative join-absorbing by A3,A2,A1,A5,A4;
  hence thesis;
end;
