Re: more closed-world chatter
Date: 12 May 2007 09:43:12 -0700
Message-ID: <1178988192.359598.281620_at_w5g2000hsg.googlegroups.com>
On May 12, 1:31 am, Jon Heggland <jon.heggl..._at_idi.ntnu.no> wrote:
> Vadim Tropashko wrote:
> > The sets identity
>
> > A /\ B = A \ (A \ B)
>
> > is a special case of
>
> > (A /\ B) \/ (A /\ 00) = A \ (A \ B)
>
> I see. So the special case is when A and B have the same attributes,
> reducing (semi)join to intersection and antijoin to minus. I was thrown
> off by the general case not being "symmetrical" with regard to A and B,
> but now I see that if A and B have the same attributes, (A /\ 00) = (B
> /\ 00), right?
Yes both A /\ 00 and B /\ 00 are empty.
Let's derive that special case from general one. We have A and B having the same attributes, which in relational lattice language is the constraint
A /\ 00 = B /\ 00
Join both sides by A:
A /\ 00 = A /\ B /\ 00
Therefore we have
(A /\ B) \/ (A /\ B /\ 00) = A \ (A \ B)
which reduces to
A /\ B = A \ (A \ B)
by absorption law. Received on Sat May 12 2007 - 18:43:12 CEST