Re: A simple notation, again
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