I wrote:
In fact if we decide to specify a role combination syntax then it
should be the same everywhere. That means in a signature A|B would
require a more specific type and pure A or B wouldn't be admissible.
To get the old meaning of | you have to write A&B or perhaps the
juxtaposition which currently means what A|B should mean. Alternatively
the meaning of the role combination A&B could be defined to mean the
union and A|B the intersection.

Here is yet another idea to go with the two lattice operations:

  /\ meet   also: infimum,  intersection, glb (greatest lower bound)
  \/ join   also: supremum, union,        lub (least upper bound)

These have nice graphical mnemonics

         /  \
        /    \
   A={a,x}  B={b,x}
        \    /
         \  /

and also read nice as english words:

  role J joins A, B, C; # same as role J does A \/ B \/ C
  role M meets A, B, C; # same as role M does A /\ B /\ C


Reply via email to