Re: Distributivity in Tropashko's Lattice Algebra
Date: 15 Aug 2005 19:29:54 -0700
Message-ID: <1124159394.659276.231750_at_z14g2000cwz.googlegroups.com>
Marshall Spight wrote:
OK, let a, b and c be empty relations with the same headers. (Formally,
we have to equip Relational Lattice with morphism that maps each
relation into the empty relation with the same header). Then, your
criteria is
> Marshall Spight wrote:
> >
> > In other words,
> >
> > A join (B union C) == (A join B) union (A join C)
> > and
> > A union (B join C) == (A union B) join (A union C)
> > if and only if A and B have no attributes in common, and
> > A and C have no attributes in common.
>
> Ugh, I said that wrong. It should be
>
> if and only if A and B have no attributes in common that
> are not also in C, and
> A and C have no attributes in common that are not also in B.
a union b < c
(What a terminology mess: a [lattice] union of empty relations is a
a union c < b
Replacing < with = we have:
(a union b) join c = c
(a union c) join b = b
Empty relations are distributive (or in normal language relation headers are elements of boolean set algebra). Therefore,
(a join c) union (b join c) = c
(a join b) union (b join c) = b
Since
a join b join c > b join c
(or greater than "a join c", for that matter), then
(a join c)
union
(b join c) = c
Therefore, Marshall's criteria foirmally is
(a join c) union (b join c) union (a join b) == b union c
==>
A union (B join C) == (A union B) join (A union C)
Received on Tue Aug 16 2005 - 04:29:54 CEST
