# Re: Idempotence and "Replication Insensitivity" are equivalent ?

Date: Mon, 25 Sep 2006 12:36:28 GMT

Message-ID: <g3QRg.38624$9u.331234_at_ursa-nb00s0.nbnet.nb.ca>

paul c wrote:

> David Cressey wrote:

*>
*

>> "paul c" <toledobythesea_at_oohay.ac> wrote in message >> news:od0Rg.12923$1T2.10076_at_pd7urf2no... >> >>> David Cressey wrote: >>> >>>> "Chris Smith" <cdsmith_at_twu.net> wrote in message

*>*

*> ...*

*>*

>> It's probably me. I'm trying to use the term "domain" the way some of >> the >> mathematicians seem to be using it. >> >> Here's what I think I got by making inferences from other posts: the >> domain >> of a relation is the cartesian product of the domains of each of its >> attributes. >> >> I probably misinterpreted something I read in here. That'll teach me to >> learn things in c.d.t.!

*>*

> Seems okay to me, but this got me to thinking in a different line. As

*> far as RT is concerned, I tend to think of a domain as being equivalent*

*> to a type, eg., a set of values plus identity operator plus maybe some*

*> other ops. (Maybe this isn't strictly correct but my reason is that I*

*> haven't thought of a situation where there might be some difference that*

*> mattered.)*

For the relation, F(x,y) = { x in R, x > 0, y in R | y = log x }, R (as in a real number) corresponds to the type, but the domain of x is positive reals only.

If one has specialization by constraint, one could argue that positive real is a subtype of real, though.

Thus, it is arguable either way whether domain is identical to type.

> If you just mean project in some mathematical sense that is apart from

*> the RM, then I suppose the domain formed that way could still have the
**> same name as the relation (at least that would be convenient).
*

Project in the RM is the mathematical sense. It is limited, however, to what for now I will call 'orthogonal project'. Arguably, one could project onto a subspace that is neither orthogonal nor parallel to any of the dimensions of the relation. However, one could argue that such a project is an orthogonal project following some other transformation including rotation.

> But I'm also thinking that when you say 'project a relation onto its

*> attributes', if such a thing were permitted by some RM impl'n, what
**> *could* actually happen is that a relation with a single relation-valued
**> attribute would be formed and I suppose that attribute's 'type' would be
**> the name of the relation. But join is usually the operator we expect to
**> be able to undo a projection, so if an impl'n did this, then I suppose
**> it might want to undo the rva-creating projection, and that might entail
**> that it also have a way of equating a relation with several attributes
**> against a single-attribute rva equivalent.
*

Such as the relational equality operation?

> In this admittedly oddball view of things, I wonder if the name of an

*> rva really matters? That's as far as I've got.
*

What's oddball about it? Received on Mon Sep 25 2006 - 14:36:28 CEST