reserve L,L1,L2 for Lattice,
  F1,F2 for Filter of L,
  p,q,r,s for Element of L,
  p1,q1,r1,s1 for Element of L1,
  p2,q2,r2,s2 for Element of L2,
  X,x,x1,x2,y,y1,y2 for set,
  D,D1,D2 for non empty set,
  R for Relation,
  RD for Equivalence_Relation of D,
  a,b,d for Element of D,
  a1,b1,c1 for Element of D1,
  a2,b2,c2 for Element of D2,
  B for B_Lattice,
  FB for Filter of B,
  I for I_Lattice,
  FI for Filter of I ,
  i,i1,i2,j,j1,j2,k for Element of I,
  f1,g1 for BinOp of D1,
  f2,g2 for BinOp of D2;
reserve F,G for BinOp of D,RD;

theorem Th38:
  L1 is D_Lattice & L2 is D_Lattice iff [:L1,L2:] is D_Lattice
proof
  thus L1 is D_Lattice & L2 is D_Lattice implies [:L1,L2:] is D_Lattice
  proof
    assume that
A1: L1 is D_Lattice and
A2: L2 is D_Lattice;
A3: join(L2) is_distributive_wrt meet(L2) by A2,LATTICE2:21;
    join(L1) is_distributive_wrt meet(L1) by A1,LATTICE2:21;
    then |:join(L1),join(L2):| is_distributive_wrt |:meet(L1),meet(L2):| by A3
,Th29;
    hence thesis by LATTICE2:22;
  end;
  assume [:L1,L2:] is D_Lattice;
  then
A4: join([:L1,L2:]) is_distributive_wrt meet([:L1,L2:]) by LATTICE2:21;
  then
A5: join(L2) is_distributive_wrt meet(L2) by Th29;
  join(L1) is_distributive_wrt meet(L1) by A4,Th29;
  hence thesis by A5,LATTICE2:22;
end;
