Re: TRUE and FALSE values in the relational lattice

From: Jon Heggland <>
Date: Thu, 21 Jun 2007 11:25:57 +0200
Message-ID: <f5dg73$ciu$>

Marshall wrote:
> On Jun 19, 11:40 pm, Jon Heggland <> wrote:

>> 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 ...

Received on Thu Jun 21 2007 - 11:25:57 CEST

Original text of this message