Re: "Armstrong's axioms" augmentation - help plz

From: Jan Hidders <jan.hidders_at_REMOVETHIS.pandora.be>
Date: Wed, 09 Mar 2005 08:14:38 GMT
Message-ID: <OfyXd.33305$zl5.3358827_at_phobos.telenet-ops.be>


Dan wrote:
> "Jan Hidders" <jan.hidders_at_REMOVETHIS.pandora.be> wrote in message
> news:np4Xd.32216$ub7.3221532_at_phobos.telenet-ops.be...
>

>>love boat via DBMonster.com wrote:
>>
>>>I understand the Augmentation rule:
>>>{ X -> Y } |= XZ -> YZ
>>>
>>>but I don't understand why the rule can also be stated as:
>>>
>>>{ X -> Y } |= XZ -> Y
>>>
>>>Why is this?
>>
>>It cannot.

>
> A simple proof by contradiction should prove that it an equivalent statement
> of the augmentation rule.
>
> Suppose that X->Y holds, but XZ -> Y does not. Thus, for any two arbitrary
> tuples in a relation we assume,
> 1) t1[X] = t2[X];
> 2) t1[Y] = t2[Y];
> 3) t1[XZ] = t2[XZ];
> 4) but by our supposition, t1[Y] <> t2[Y].
>
> However we see that this (4) cannot be true, since by 2) we see that t1[Y]
> does equal t2[Y].

?? You prove that the rule is correct, but that is not what is disputed.

>> If you replace the first rule with the second you will not
>> derive all FDs that hold.

>
> 1) XZ->Y (given)
> 2) X->XZ (reflixivity)
> 3) X->Y (transitivity)
> 4) XZ-YZ (augmentation)

Your step 2 is incorrect (reflexivity says that XZ->X but not that X->XZ) and in step 4 you assume the rule that you are trying to derive.

  • Jan Hidders
Received on Wed Mar 09 2005 - 09:14:38 CET

Original text of this message