Re: TRUE and FALSE values in the relational lattice
Date: Thu, 21 Jun 2007 11:25:57 +0200
>> 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