# Re: Normalisation

Date: Fri, 08 Jul 2005 21:55:15 GMT

Message-ID: <7DCze.140558$Jn.7313539_at_phobos.telenet-ops.be>

Jon Heggland wrote:

> In article <Ezeze.139544$p21.7384199_at_phobos.telenet-ops.be>,

*> jan.hidders_at_REMOVETHIS.pandora.be says...
**>
*

>>>>Ah, but now you are using the domain or relations, right? There is a >>>>problem with that domain. It doesn't exist. The collection of all >>>>relations is a proper class, and not a set, but domains have to be sets. >>> >>>You'll have to educate me on the difference between "proper class" and >>>"domain", I'm afraid. The term "class" is used for so many slightly >>>different things. >> >>http://en.wikipedia.org/wiki/Class_(set_theory)

*>*

> Call me stupid, but you still have to explain to me why the

*> "collection" of relations is not a set. I can't figure out from*

*> Wikipedia what it is that disqualifies something from being a set.*

That's not so easy to explain, but I'll give a hint. Do you know about Russel's paradox? The contradiction that appears when you assume the existense of the set of all sets? A solution to that paradox is to accept that it is actually not a set, at least not in the sense that all the usual axioms of set theory apply to it. In some sense you might say that is is "too large" to be a set. The collection of all relations has the same problem. For more explanation you can probably ask any mathematician at your institute.

> Are you saying that the "domain of sets" is not a domain either?

Indeed.

> And that relation-valued and set-valued attributes are contradictions in

*> terms, since relation and set are not domains?
*

No. For example the set of all sets of integers is a set and perfectly valid as a domain. The same for the set of relations that all belong to a certain relation type. Usually if you apply a strict typing regime there is no problem.

>>>Should I be forbidden from treating "relation" as a (generic) domain >>>when defining this operator? Why? >> >>Because by definition it isn't, and redefining the notion of domain such >>that it is, is not that easy without either running into paradoxes or >>getting a notion which it is almost impossible to reason about.

*>*

> Can you give me any examples of trouble arising from this? And an

*> explanation why the relational operators do not run into paradoxes? Or*

*> do they?*

They are not functions defined over domains. Note that my remark that started this was that the nest operation cannot be defined as a function *over* *domains*. If you drop the latter restriction you can define them without a problem.

- Jan Hidders