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 Th13:
  the L_join of I is BinOp of the carrier of I, equivalence_wrt FI
proof
  set R = equivalence_wrt FI;
  let x1,y1, x2,y2 be Element of (the carrier of I);
  assume that
A1: [x1,y1] in R and
A2: [x2,y2] in R;
A3: x2 <=> y2 in FI by A2,FILTER_0:def 11;
  then
A4: x2 => y2 in FI by FILTER_0:8;
A5: x1 "/\" (x1 => y1) [= y1 by FILTER_0:def 7;
  x1 "/\" ((x1 => y1) "/\" (x2 => y2)) = x1 "/\" (x1 => y1) "/\" (x2 =>
  y2 ) by LATTICES:def 7;
  then
A6: x1 "/\" ((x1 => y1) "/\" (x2 => y2)) [= y1 by A5,FILTER_0:2;
A7: x2 "/\" ((x1 => y1) "/\" (x2 => y2)) = x2 "/\" (x1 => y1) "/\" (x2 =>
  y2 ) by LATTICES:def 7;
A8: x2 "/\" (x2 => y2) [= y2 by FILTER_0:def 7;
  (x1 => y1) "/\" (x2 "/\" (x2 => y2)) = (x1 => y1) "/\" x2 "/\" (x2 => y2
  ) by LATTICES:def 7;
  then x2 "/\" ((x1 => y1) "/\" (x2 => y2)) [= y2 by A7,A8,FILTER_0:2;
  then
  x1 "/\" ((x1 => y1) "/\" (x2 => y2)) "\/" (x2 "/\" ((x1 => y1) "/\" (x2
  => y2))) [= y1 "\/" y2 by A6,FILTER_0:4;
  then (x1 "\/" x2) "/\" ((x1 => y1) "/\" (x2 => y2)) [= y1 "\/" y2 by
LATTICES:def 11;
  then
A9: (x1 => y1) "/\" (x2 => y2) [= (x1 "\/" x2) => (y1 "\/" y2) by
FILTER_0:def 7;
A10: y1 "/\" (y1 => x1) [= x1 by FILTER_0:def 7;
  y1 "/\" ((y1 => x1) "/\" (y2 => x2)) = y1 "/\" (y1 => x1) "/\" (y2 =>
  x2) by LATTICES:def 7;
  then
A11: y1 "/\" ((y1 => x1) "/\" (y2 => x2)) [= x1 by A10,FILTER_0:2;
A12: y2 "/\" ((y1 => x1) "/\" (y2 => x2)) = y2 "/\" (y1 => x1) "/\" (y2 =>
  x2) by LATTICES:def 7;
A13: y2 => x2 in FI by A3,FILTER_0:8;
A14: y2 "/\" (y2 => x2) [= x2 by FILTER_0:def 7;
  (y1 => x1) "/\" (y2 "/\" (y2 => x2)) = (y1 => x1) "/\" y2 "/\" (y2 =>
  x2) by LATTICES:def 7;
  then y2 "/\" ((y1 => x1) "/\" (y2 => x2)) [= x2 by A12,A14,FILTER_0:2;
  then
  y1 "/\" ((y1 => x1) "/\" (y2 => x2)) "\/" (y2 "/\" ((y1 => x1) "/\" (y2
  => x2))) [= x1 "\/" x2 by A11,FILTER_0:4;
  then (y1 "\/" y2) "/\" ((y1 => x1) "/\" (y2 => x2)) [= x1 "\/" x2 by
LATTICES:def 11;
  then
A15: (y1 => x1) "/\" (y2 => x2) [= (y1 "\/" y2) => (x1 "\/" x2) by
FILTER_0:def 7;
A16: x1 <=> y1 in FI by A1,FILTER_0:def 11;
  then y1 => x1 in FI by FILTER_0:8;
  then (y1 => x1) "/\" (y2 => x2) in FI by A13,FILTER_0:8;
  then
A17: (y1 "\/" y2) => (x1 "\/" x2) in FI by A15,FILTER_0:9;
  x1 => y1 in FI by A16,FILTER_0:8;
  then (x1 => y1) "/\" (x2 => y2) in FI by A4,FILTER_0:8;
  then (x1 "\/" x2) => (y1 "\/" y2) in FI by A9,FILTER_0:9;
  then (x1 "\/" x2) <=> (y1 "\/" y2) in FI by A17,FILTER_0:8;
  hence thesis by FILTER_0:def 11;
end;
