Re: Thinking about MINUS
Date: Sun, 07 Jan 2007 15:36:17 GMT
Message-ID: <Rr8oh.7671$SJ3.6286_at_tornado.ohiordc.rr.com>
Bob Badour wrote:
> paul c wrote: >
>> Walt wrote:
>>
>>> The discussion over in "Curious SQL question" started me thinking
>>> (after I
>>> got over my embarassment at posting a wrong solution).
>>>
>>> Suppose you started with these two primitive concepts:
>>>
>>> A universal set, called U (whatever that is)
>>>
>>> and
>>>
>>> MINUS(A,B), a function that removes from set A any elements common
>>> to A and
>>> B.
>>>
>>> Can you derive the rest of it? Here's my first attempt:
>>>
>>> Infix notation: A MINUS B = MINUS (A,B). Just a notational
>>> convenience
>>> for me. This should be trivial. I apologize to any readers who find
>>> this
>>> inconvenient.
>>>
>>> Empty Set: PHI = U MINUS U. Note that PHI is somehow "bound" to U.
>>> Whether the PHIs of different universes are or are not the same PHI is
>>> something I'll let the rest of you discuss.
>>>
All this "boolean operations on sets" has me scratching my head. There is, underneath it all, the presumption that one really means "is an element of," right? I mean, what could the meaning of "NOT (strawberry OR apple) AND grape" be?
>>> NOT operator. NOT(A) = U MINUS A.
>>>
>>> Left association. (A MINUS B) MINUS C = (A MINUS C) MINUS B (proof
>>> omitted)
>>>
>>> INTERSECTION. A INTERSECT B = A MINUS (A MINUS B)
>>> = B
>>> MINUS
>>> (B MINUS A)
>>>
>>> UNION. A UNION B = NOT (NOT (A) INTERSECT NOT (B))
>>>
>>> From here, it looks like we can bootstrap our way up to the rest of set
>>> theory and Boolean algebra.
>>> Or am I seeing something wrong (again)?
>>
>>
>> I guess NAND would then be U MINUS A MINUS B, and since NAND is said
>> to be enough to "bootstrap" (I seem to remember), then I'd say you are
>> right but where it leads as far as database is concerned, I don't know.
> > > NAND = U MINUS ( A MINUS ( A MINUS B ) ) > = U MINUS ( B MINUS ( B MINUS A ) ) > > NOR = ( U MINUS A ) MINUS BReceived on Sun Jan 07 2007 - 16:36:17 CET