Re: Notions of Type
Date: Fri, 18 Aug 2006 14:11:30 GMT
Message-ID: <mUjFg.51103$pu3.597633_at_ursa-nb00s0.nbnet.nb.ca>
David Cressey wrote:
> "J M Davitt" <jdavitt_at_aeneas.net> wrote in message
> news:iS6Fg.55213$vl5.37756_at_tornado.ohiordc.rr.com...
>
>
>>Wait a minute... >> >> PROJECT <relation> <set of attributes> -> <relation> >> >>right? And the question is, "Does this definition of >>PROJECT demonstrate lack of algebraic closure?" I think >> >> PROJECT <relation> <relation> -> <relation> >> >>is a step in the wrong direction and don't think such a >>thing is necessary for closure. I think that the fact >>that one of the operands and the result are relations is >>what provides closure.
>
>
> It might well be a step in the wrong direction. I'm not going to claim to
> know my way around the math.
> I know very little about this territory. what follows is speculation.
>
> A projection is a mapping of all the points in one space onto another space.
> A relation is a subset of a space. Once you know the projection, applying
> it to a relation is straightforward (mathematically). However this
> description would make projection into a unary operator, not the binary
> operator Marshall is trying to work with.
>
> Marshall's binary operator is a generalization of what I've called a
> projection in the above. At the same time, it's a specialization, because
> it applies only to relations, while projection can apply to spaces where
> relations aren't particularly relevant. For example, if you put your hands
> in some funny position between a light bulb and a wall, the shadow on the
> wall looks like a dog. The shadow on the wall is a projection of your hands
> (3D) onto the wall (2D).
>
> It would be nice of the PROJECT operator, however it works, kept all the
> mathematical properties of a mathematical projection. The way I see it,
> you have to tear apart the original construct,
>
>> PROJECT <relation> <set of attributes> -> <relation>
>
> this way.
>
> PROJECT spaceof (<relation>) spaceof(<set of attributes>) -> PROJECTION
> PROJECTION <relation> -> <relation>
>
> The "spaceof" operator I've introduced above takes either a relation or a
> set of attributes and yields a space that the operand is contained in. I'm
> not happy with this definition, but that's as far as I got. Where have I
> gone wrong so far? Alternatively, what's the next step?
Yep, now, I am totally convinced of it. PROJECT is not a single operation but a powerset of unary operations.
http://en.wikipedia.org/wiki/Projection_operator http://en.wikipedia.org/wiki/Projection_%28linear_algebra%29
The second argument is not an argument to the operation but a notational parameter as part of the operator to distinguish among a powerset of similar operations. Thus the symbol that identifies the operation is "PROJECT<set of attribute names>"--not merely PROJECT--and the operation is an algebraic unary operation.
I strongly suspect RESTRICT is similarly algebraic and related to INTERSECT. Received on Fri Aug 18 2006 - 16:11:30 CEST