[SCL] Functional dependencies
Chris Menzel
cmenzel at tamu.edu
Tue Jun 21 10:50:34 CDT 2005
On Mon, Jun 20, 2005 at 04:11:03PM -0500, John Sowa wrote:
> A functional dependency does not *add* anything to a
> relation. It recognizes a feature that is already present.
Sure thing. Since we don't assume in CL that relations are extensional,
it seems to me that we can't (or shouldn't) *define* functionality, as
it might just be an accident that a certain relation is functional --
though I think Pat would be inclined to think that notions of essence
and accident are part of a big philosophical fairy tale. If one goes
with Pat, then functionality is definable (though it turns out that all
"individuals" are functions -- that may or may not be a problem):
(iff (function ?R)
(forall (?x ?y @z)
(implies (and (?R ?x @z) (?R ?y @z))
(= ?x ?y))))
If not, then "function" should be taken as a primitive and the "iff"
there should be replaced by "implies".
Note that, without seq vars, we can only define or axiomatize
functionality piecemeal for n-place relations, for each n -- and we miss
variably polyadic functionality completely.
Actually, I'm not exactly sure how all of this relates to the point you
were making, John... :-)
-chris
More information about the SCL
mailing list