# Re: TRUE and FALSE values in the relational lattice

Date: Thu, 21 Jun 2007 11:25:57 +0200

Message-ID: <f5dg73$ciu$1_at_orkan.itea.ntnu.no>

Marshall wrote:

> On Jun 19, 11:40 pm, Jon Heggland <jon.heggl..._at_idi.ntnu.no> 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 ...

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