>> Vadim Tropashko wrote:
>>> As expected this expression is valued to 00 or 01, so Marshall was
>>> eventually right when interpreting those relations as TRUE and FALSE.
>> Not to disparage your contributions or anything, but hasn't the
>> association between TABLE_DUM / 00 and FALSE, and TABLE_DEE / 01 and
>> TRUE been known for many, many years?

> > Not sure who the "you" in "your" is here, but I figure it's either> me or Vadim.

Or both. :)

> Yes, in the regular relational algebra, the correspondence> has been known for years. In the relational lattice, it hasn't> been established whether that's the best choice yet.

Do (either of) you expect the lattice to produce anything genuinely new
and/or different from the regular algebra? (Has it already? I haven't
been paying all that much attention, since my initial impression was
that it was a clever notation, but not really different from the old
algebra. In particular, the original post in this thread seemed to me
merely a restatement that projection is existential quantification,
selection and join is the same, and so on.)

> In fact,> it's not clear what the correspondence *means.* Note that> various authors, such as Dijkstra and D&D (in TTM) advocate> a dedicated two-valued boolean type, despite the correspondence.

Why? Is this an important point for them? Anyway, I'd say there is a
difference in that a relation is the set of variable bindings that make
a given predicate true, and the DEE/DUM relations are the one to use if
the predicate in question is in fact a proposition---whereas a truth
value is just a trust value. I don't know if it matters much, though.
Perhaps one could have a relation-valued possrep for type BOOLEAN? That
might satisfy everybody ... :)

> I've been thinking for a while that that may not be necessary;> it may be sufficient just to use DEE (aka 01) and some other> value, either 00 or 10 depending on when you ask me. :-)

Heh. If you ask me, it would be nice if R /\ TRUE = R, R /\ FALSE =
FALSE, R \/ TRUE = TRUE and R \/ FALSE = R. That requires 01 for TRUE
and 10 for FALSE, right? Or perhaps some magic X0-FALSE that grabs its
attribute set from the context ...