# Re: Lots of Idiotic Silly Braces?

Date: Sun, 22 Jul 2007 16:57:37 GMT

Message-ID: <50Moi.40361$Um6.18249_at_newssvr12.news.prodigy.net>

"paul c" <toledobythesea_at_oohay.ac> wrote in message
news:biuoi.135995$1i1.14227_at_pd7urf3no...

> paul c wrote:

>> Brian Selzer wrote: >> >>> "paul c" <toledobythesea_at_oohay.ac> wrote in message >>> news:Lf4oi.131821$xq1.73460_at_pd7urf1no... >>> >>>> Brian Selzer wrote: >>>> ... >>>> >>>>> Can rva's be keys? A relation value being the extension of a >>>>> predicate, the set of tuples in a relation value represents a set of >>>>> positive atomic formulae, and under the closed world assumption, that >>>>> set implies the negation of each atomic formula that conforms to the >>>>> schema but is not represented by a tuple. How, then, can a relation >>>>> valued attribute be a key? Consider, the schema R{S{A, B}}, and the >>>>> following relation value, r: >>>>> >>>>> r = {{S={{A=3, B=4}, {A=3, B=5}}}, {S={A=3, B=4}}} >>>>> >>>>> Now, suppose that P(A, B) is the predicate of S. The first tuple of r >>>>> asserts that P(3, 5) is true, but the second tuple implies that P(3, >>>>> 5) is false. ... >>>> >>>> >>>> I think "S" here is an attribute name, not a relation. S refers to two >>>> different relation values which happen to appear as tuples in r. The >>>> first tuple of of r asserts that the ("first", relation-valued) tuple >>>> that combines (P(3,4) AND P(3,5)) is true in one relation value. The >>>> second tuple implies that (P (3,5)) is false in the "second" relation >>>> value. >>>> >>> >>> >>> But that's the point. How can they both be true? And if they can, then >>> how can it be consistent since there isn't also a tuple {S={A=3, B=5}}? >>> ... >> >> >> Those are the kind of questions that people who don't believe in Santa >> Claus ask. We are talking about the behaviour of a machine here, not >> mythology! >> >

> That's maybe not a very useful reply, let me try again. If P(A,B) is the

*> predicate of S, let's say P2(P(A,B)) is the predicate of r. You say the*

*> second tuple of r implies that P(3,5) is false. I say the second tuple of*

*> r implies that P2(P(3,5)) is false and that r has nothing to say about the*

*> truth or falseness of proposition P(3,5).*

>

> UNGROUP (at least the D&D version which is the only one I'm familiar with)

*> seems to have the effect of discarding the P2 predicate. I think you are*

*> mentally ungrouping r and pretending that the result has the same*

*> predicate as r, which I think is trying to have your cake and eat it too.*

>

I think I see where you're going with this: correct me if I'm wrong, but aren't you saying that P and P2 are independent? I'm not so sure that they are. P2 ranges over relations--the possible extensions of P. It is my understanding that under a given interpretation, there can only be one independent extension of P. The truth value for r is the conjunction of the truth values for its constituent tuples:

P2(P(3,4) /\ P(3,5)) /\ P2(P(3,4) /\ ~P(3,5))

P(3,5) cannot be both true and false, leaving,

P2(T) /\ P2(F)

which is true if and only if P2(T) = P2(F).

UNGROUP does not discard the predicate, it transforms a second-order predicate into one that is first-order. Something like,

From X --> Q(X) and Q(X) = (E /\ F /\ G), you get,

X --> (E /\ F /\ G) which is logically equivalent to

(X --> E) /\ (X --> F) /\ (X --> G)

It follows then that the second-order predicate for r should be logically equivalent to the first order predicate for r UNGROUP S, but isn't, since there is only one attribute in r. There are no attributes in r whose values determine the values for S; therefore, there can be at most one value for S, and thus only one tuple for r.

So, for base relations, an rva can be a determinant if and only if it is also a dependent. In other words, an rva cannot be the only key on a base relation.

I guess I was wrong, then. An rva can be a key, as long as it isn't the only key.

*> p
*

Received on Sun Jul 22 2007 - 18:57:37 CEST