reserve L for Lattice;
reserve X,Y,Z,V for Element of L;
reserve L for D_Lattice;
reserve X,Y,Z for Element of L;
reserve L for 0_Lattice;
reserve X,Y,Z for Element of L;
reserve L for B_Lattice;
reserve X,Y,Z,V for Element of L;

theorem
  (X \+\ Y) \+\ Z = X \+\ (Y \+\ Z)
proof
  set S1 = X \ (Y "\/" Z), S2 = Y \ (X "\/" Z), S3 = Z \ (X "\/" Y), S4 = X
  "/\" Y "/\" Z;
  thus (X \+\ Y) \+\ Z = (((X \ Y) \ Z) "\/" ((Y \ X) \ Z)) "\/" (Z \ ((X \ Y)
  "\/" (Y \ X))) by LATTICES:def 11
    .= ( S1 "\/" ((Y \ X) \ Z)) "\/" (Z \ ((X \ Y) "\/" (Y \ X))) by Th45
    .= ( S1 "\/" S2) "\/" (Z \ ((X \ Y) "\/" (Y \ X))) by Th45
    .= ( S1 "\/" S2) "\/" (Z \ ((X "\/" Y) \ (X "/\" Y))) by Th44
    .= ( S1 "\/" S2) "\/" (S3 "\/" (X "/\" Y "/\" Z )) by Th37
    .= (S1 "\/" S2 "\/" S4) "\/" S3 by LATTICES:def 5
    .= (S1 "\/" S4 "\/" S2) "\/" S3 by LATTICES:def 5
    .= (S1 "\/" S4) "\/" (S2 "\/" S3) by LATTICES:def 5
    .= (S1 "\/" (X "/\" (Y "/\" Z))) "\/" (S2 "\/" S3) by LATTICES:def 7
    .= (X \ ((Y "\/" Z) \ (Y "/\" Z))) "\/" (S2 "\/" S3) by Th37
    .= (X \ ((Y \ Z) "\/" (Z \ Y))) "\/" (S2 "\/" S3) by Th44
    .= (X \ ((Y \ Z) "\/" (Z \ Y))) "\/" (S2 "\/" (Z \ Y \ X)) by Th45
    .= (X \ ((Y \ Z) "\/" (Z \ Y))) "\/" ((Y \ Z \ X) "\/" (Z \ Y \ X)) by Th45
    .= X \+\ (Y \+\ Z) by LATTICES:def 11;
end;
