Re: Notions of Type

From: Bob Badour <bbadour_at_pei.sympatico.ca>
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

Original text of this message