| Good question. How about:
reference e { read, write }
where the 'e' is the epsilon character, indicating "is a member of",
{ ... } is a set expression, and 'read' and 'write' are considered
to be literals (you might have literals in boldface or some other font).
|
| Yup, I can do that. It'll actually be a tad confusing, since I'm using
Hilbert's epsilon operator already. (Hilbert's epsilon is very much
like ThereExists, but it returns not a truth value, but a value of the
same type as the bound variable. I pronounce it "an example such
that". If a value exists meeting the specified constraint, then one
such value is returned, and if no value exists, then any value of the
same type is returned.)
|
| To me, an enumerated type is a finite set. So I'd simply say
reference = {read, write}.
Something of type reference is an element of the set, of course.
Your use of Hilbert's epsilon operator is very interesting. Many systems
that don't have this operator leave the user twisting to express instances.
There are lots of different names for this operator. Quine used an inverted
iota, and I've also seen it known as the "witness" operator, denoted by the
symbol gamma and used like another flavor of quantifier. Extremely useful.
(I Wish it were in Ina Jo).
|