Re: atomic

From: David BL <davidbl_at_iinet.net.au>
Date: Tue, 06 Nov 2007 19:34:01 -0800
Message-ID: <1194406441.506242.218960_at_k35g2000prh.googlegroups.com>


On Nov 7, 11:39 am, paul c <toledobythe..._at_ooyah.ac> wrote:
> David BL wrote:
> > On Nov 6, 3:45 pm, David BL <davi..._at_iinet.net.au> wrote:
> >> On another note, I've been thinking of an interesting partial ordering
> >> on mv-tuples that is associated with information redundancy :
>
> >> t1 <= t2 if
> >> attribs(t1) is a subset of attribs(t2) and
> >> for each attrib a in attribs(t1), t1(a) is a subset of t2(a)
>
> >> t1 <= t2 means that t1 is (information) redundant with respect to t2.
>
> > This isn't quite right. Instead the definition should be
>
> > t1 <= t2 if both the following
>
> > for each attrib a in (attribs(t1) intersect attribs(t2)),
> > t1(a) is a subset of t2(a)
>
> > for each attrib a in (attribs(t1) \ attribs(t2)),
> > t1(a) = {}
>
> > ...
>
> Sorry if I missed something but does "\" mean divide? (If so, which
> divide, Codd's or another one?) (not saying I understand the rest,
> because I'm a slowpoke, but I do think the first version can be
> expressed with D&D "semijoin".)

No "\" means set difference.

attribs(t1) \ attribs(t2) are the attributes in t1 that don't also appear in t2.

t1 <= t2 (or equivalently t2 => t1) can be thought of as meaning that t2 implies t1, in the sense that all the facts implied by t1 are a subset of all the facts implied by t2.

I haven't yet bothered to prove many of my claims yet because it's a lot or work and I actually have a 9-5 job!

Here is an example:

Claim: if t1 => t2 & t2 => t3 then t1 => t3 Proof:

    if a in (attribs(t1) intersect attribs(t3)) then

        if a in attribs(t2) then
           a in (attribs(t1) intersect attribs(t2)) so t1(a) is a
subset of t2(a)
           a in (attribs(t2) intersect attribs(t3)) so t2(a) is a
subset of t3(a)
           so t1(a) is a subset of t3(a)
        else
           a in (attribs(t1) \ attribs(t2)) so t1(a) = {}
           so t1(a) is a subset of t3(a)

    else if a in (attribs(t1) \ attribs(t3)) then

        if a in attribs(t2) then
            a in (attribs(t1) intersect attribs(t2)) so t1(a) is a
subset of t2(a)
            a in (attribs(t2) \ attribs(t3)) so t2(a) = {}
            so t1(a) = {}  (because subset of empty set is empty)
        else
            a in (attribs(t1) \ attribs(t2)) so t1(a) = {}


I don't know about you but writing out these sorts of proofs is not my idea of fun! Received on Wed Nov 07 2007 - 04:34:01 CET

Original text of this message