theorem
  [:L1,L2:], [:L2,L1:] are_isomorphic
proof
  set R = LattRel [:L1,L2:];
  set S = LattRel [:L2,L1:];
  set D1 = the carrier of L1;
  set D2 = the carrier of L2;
  set p2 = pr2(D1,D2);
  set p1 = pr1(D1,D2);
  take f = <:p2, p1:>;
A1: dom p2 = [:D1,D2:] by FUNCT_3:def 5;
A2: field R = the carrier of [:L1,L2:] by Th32;
A3: rng p2 = D2 by FUNCT_3:46;
A4: field S = the carrier of [:L2,L1:] by Th32;
  dom p1 = [:D1,D2:] by FUNCT_3:def 4;
  then dom p2 /\ dom p1 = [:D1,D2:] by A1;
  hence
A5: dom f = field R by A2,FUNCT_3:def 7;
  rng p1 = D1 by FUNCT_3:44;
  hence rng f c= field S by A4,A3,FUNCT_3:51;
  thus field S c= rng f
  proof
    let x be object;
    assume x in field S;
    then consider r2,r1 such that
A6: x = [r2,r1] by A4,DOMAIN_1:1;
A7: p2.(r1,r2) = r2 by FUNCT_3:def 5;
A8: p1.(r1,r2) = r1 by FUNCT_3:def 4;
    f.[r1,r2] in rng f by A2,A5,FUNCT_1:def 3;
    hence thesis by A2,A5,A6,A7,A8,FUNCT_3:def 7;
  end;
  thus f is one-to-one
  proof
    let x,y be object;
    assume
A9: x in dom f;
    then
A10: f.x = [p2.x,p1.x] by FUNCT_3:def 7;
    consider r1,r2 such that
A11: x = [r1,r2] by A2,A5,A9,DOMAIN_1:1;
A12: p2.(r1,r2) = r2 by FUNCT_3:def 5;
A13: p1.(r1,r2) = r1 by FUNCT_3:def 4;
    assume that
A14: y in dom f and
A15: f.x = f.y;
A16: f.y = [p2.y,p1.y] by A14,FUNCT_3:def 7;
    consider q1,q2 such that
A17: y = [q1,q2] by A2,A5,A14,DOMAIN_1:1;
A18: p2.(q1,q2) = q2 by FUNCT_3:def 5;
    p1.(q1,q2) = q1 by FUNCT_3:def 4;
    then r1 = q1 by A11,A15,A17,A13,A10,A16,XTUPLE_0:1;
    hence thesis by A11,A15,A17,A12,A18,A10,A16,XTUPLE_0:1;
  end;
  let x,y be object;
  thus [x,y] in R implies x in field R & y in field R & [f.x,f.y] in S
  proof
    assume [x,y] in R;
    then consider a,b being Element of [:L1,L2:] such that
A19: [x,y] = [a,b] and
A20: a [= b;
    consider q1,q2 such that
A21: b = [q1,q2] by DOMAIN_1:1;
A22: f.(q1,q2) = [p2.(q1,q2),p1.(q1,q2)] by A2,A5,A21,FUNCT_3:def 7;
A23: p2.(q1,q2) = q2 by FUNCT_3:def 5;
    consider r1,r2 such that
A24: a = [r1,r2] by DOMAIN_1:1;
A25: r2 [= q2 by A20,A24,A21,Th36;
    r1 [= q1 by A20,A24,A21,Th36;
    then
A26: [r2,r1] [= [q2,q1] by A25,Th36;
A27: p1.(r1,r2) = r1 by FUNCT_3:def 4;
A28: p2.(r1,r2) = r2 by FUNCT_3:def 5;
A29: y = b by A19,XTUPLE_0:1;
A30: x = a by A19,XTUPLE_0:1;
    hence x in field R & y in field R by A2,A29;
A31: p1.(q1,q2) = q1 by FUNCT_3:def 4;
    f.(r1,r2) = [p2.(r1,r2),p1.(r1,r2)] by A2,A5,A24,FUNCT_3:def 7;
    hence thesis by A24,A21,A30,A29,A26,A27,A28,A31,A23,A22;
  end;
  assume that
A32: x in field R and
A33: y in field R;
  consider q1,q2 such that
A34: y = [q1,q2] by A2,A33,DOMAIN_1:1;
A35: f.(q1,q2) = [p2.(q1,q2),p1.(q1,q2)] by A2,A5,A34,FUNCT_3:def 7;
  assume
A36: [f.x,f.y] in S;
A37: p2.(q1,q2) = q2 by FUNCT_3:def 5;
A38: p1.(q1,q2) = q1 by FUNCT_3:def 4;
  consider r1,r2 such that
A39: x = [r1,r2] by A2,A32,DOMAIN_1:1;
A40: p2.(r1,r2) = r2 by FUNCT_3:def 5;
A41: p1.(r1,r2) = r1 by FUNCT_3:def 4;
  f.(r1,r2) = [p2.(r1,r2),p1.(r1,r2)] by A2,A5,A39,FUNCT_3:def 7;
  then
A42: [r2,r1] [= [q2,q1] by A39,A34,A36,A41,A40,A35,A38,A37,Th31;
  then
A43: r1 [= q1 by Th36;
  r2 [= q2 by A42,Th36;
  then [r1,r2] [= [q1,q2] by A43,Th36;
  hence thesis by A39,A34;
end;
