Re: A question for Mr. Celko

From: Jan Hidders <jan.hidders_at_REMOVETHIS.pandora.be>
Date: Thu, 22 Jul 2004 09:03:56 GMT
Message-Id: <pan.2004.07.22.09.04.42.604772_at_REMOVETHIS.pandora.be>


On Wed, 21 Jul 2004 21:11:20 -0700, John Jacob wrote:
> Jan Hidders <jan.hidders_at_REMOVETHIS.pandora.be> wrote in message
> news:<pan.2004.07.21.11.04.38.324586_at_REMOVETHIS.pandora.be>...
>

>> First, there are the domains (d1, d2, ...) and the functions over these
>> domains (f : d1 -> d2, g : d1 x d3 -> d4 , ...) and these can be
>> anything so the optimizer barely knows more then the signature of this
>> multi-sorted algebra. For simplicity we may assume that equality
>> operators and other boolean tests are included in these functions.

>
> What about equality and comparison operations between relation-values?
> [...] The point is there are operators that take relation-valued
> arguments, but do not return relation values. There may even be
> operators that take non-relation-valued arguments, and return relation
> values.

All allowed. Under the interpretation of "atomic" that we are discussing the types of domains and the functions over them are not restricted in any way.

> [...] I am no logician, and I'm not even sure I completely understand
> what constitutes a higher-order logic, much less why introducing
> operators that can deal with relations with relation-valued attributes
> is necessarily higher-order.

In first order logic there is a clear distinction between the objects you reason about, the domain, and the predicates. So you write stuff like "Exists x, y : P(x,y)" and not "Exists P : Forall x : P(x,x)". Dropping this distinction makes it higher order. Note that I'm not saying that this is a problem in itself, but it's a sign that things become more complicated.

  • Jan Hidders
Received on Thu Jul 22 2004 - 11:03:56 CEST

Original text of this message