Re: A simple notation, again

From: Bob Badour <bbadour_at_pei.sympatico.ca>
Date: Mon, 16 Jul 2007 19:54:14 -0300
Message-ID: <469bf6f2$0$8870$9a566e8b_at_news.aliant.net>


David Cressey wrote:

> "Bob Badour" <bbadour_at_pei.sympatico.ca> wrote in message
> news:469bac76$0$8868$9a566e8b_at_news.aliant.net...
>

>>David Cressey wrote:
>>
>>
>>>Using the notation [A B C]  for  <NOT> (A <AND> B <AND> C), etc.
>>>
>>>The following [  A [B]]   means "A implies B"  for Boolean algebra.

>
> What is
>
>>>the corresponding thing for Relational Algebra?
>>>
>>>Also,  I'm trying to come up with a bracket notation for a "literal
>>>relation",  like literals for simple datatypes like numbers and

>
> character
>
>>>strings.
>>>
>>>I'm toying with this:
>>>
>>>[["David"  "Cressey" 1]
>>> ["Marshall" "Spight" 2]
>>> ["Bob" "Badour" 3]
>>> ["Jan" Hidders" 4]]
>>>
>>>
>>>
>>>This would represent a relation of order 3 and cardinality 4.
>>>
>>>
>>>What I don't like about this is that the binding between attribute

>
> values
>
>>>and attribute names is
>>>by position rather than by name,  and in fact the attribute names don't

>
> even
>
>>>appear here.  That's unacceptably bad.  The symmetry is appealing,  but

>
> it
>
>>>clearly needs improvement.
>>
>>You omitted names entirely. You would have to extend the syntax to
>>something like:
>>[[name="David" surname="Cressey" n=1]
>>  [n=2 name="Marshall" surname="Spight"]
>>  [surname="Badour" name="Bob" n=3]
>>  [name="Jan" surname="Hidders" n=4]]

>
>
> Yeah, that'll do it, all right. To be consistent with the former notation,
> each attribute=value pair needs to be construed as a relation of order 1 and
> cardinality 1.
>
> The extended <AND> of a single name, a single surname, and a single n, will
> be the cartesian extended product, which will be a relation of order 3 and
> cardinality 1.
> Outside the inner bracket, what we have is the <NOT> of this, which I'll
> call the <NOT> of a <TUPLE>. Where <TUPLE> means a relation of cardinality
> one.
>
> We have four of these <NOT> of a <TUPLE>, connected by an extended <AND> .
> This time the extended <AND> resolves to the intersection of the operands,
> bercause all the operands have the same attributes.
>
> So inside the outer brackets we have the intersection of a collection of
> <NOT>s of <TUPLE>s.
> This is equivalent to the <NOT> of the union of the <TUPLE>s. Outside of
> the outer brackets, we have the <NOT> of the <NOT> of the union of the
> <TUPLE>s, This is the union of the <TUPLE>s, which is the desired
> relation.
>
> Does this make any sense at all, from a mathematical perspective? I am
> definitely in over my head, here.

Yeah, I followed it when you posted it. I will leave it for Jan or Vadim to answer whether A UNION B = NOT( (NOT A) JOIN (NOT B))

It is certainly true in boolean logic that: A OR B = NOT( (NOT A) AND (NOT B)) Received on Tue Jul 17 2007 - 00:54:14 CEST

Original text of this message