let test1 =
  [A, [Items []; Same B];
   B, [Items []; Same C];
   C, [Items []; Same A]]

let test2 =
  [A, [Items []; Items [1;2]; Common(Same B, Same C)];
   B, [Items []; Common(Same C, Items [2;3])];
   C, [Items []; Items [1]; Except(Same A, [3])]]

let test3 =
  [A, [Items []; Common(Same B, Same C)];
   B, [Items []; Common(Same C, Same A)];
   C, [Items []; Common(Same A, Same B)]]

let test4 =
  [A, [Items []; Items [1]; Same B];
   B, [Items []; Same C];
   C, [Items []; Same B]]

let test5 =
  [A, [Items []; Items [1]; Same B];
   B, [Items []; Same A];
   C, [Items []; Items [2;3;4]]]

let test6 =
  [A, [Items []; Items [1;2;6]; Same E];
   B, [Items []; Items [2;3]; Same A; 
       Common(Same A, Common(Except (Same B, [2;3]), Same C))];
   C, [Items []; Items [1;3]; Except(Same B, [2])];
   D, [Items [1;5]; Except(Common(Same B, Same C), [3])];
   E, [Items []; Items [2;4]; Except(Same B, [3;6]); 
       Except(Common(Same D, Same D), [1;6])]]

let test7 =
  [A, [Same B];
   B, [Same A];
   C, [Same C]]

let test8 =
  [A, [Except(Same B, [1])];
   B, [Except(Same A, [2])];
   C, [Except(Same B, [3])]]

let test9 =
  [A, [Same B; Same C];
   B, [Same A; Same C];
   C, [Same A; Same B]]

let test10 =
  [A, [Items [1]];
   B, [Items [2]];
   C, [Items [3]]]

This document was generated using caml2html