Re: [BLD] Frame without slot/value pair?

Michael Kifer wrote:
>>
>>In order to check the existence of object t, you have to denote it in 
>>some way: How do you denote an object without either asserting or 
>>checking its existence already in the process (thus removing any need to 
>>check it further)?
> 
> What does one have to do with the other??
> 
> It is like asking, "why is it useful to test that a table is not empty?
> Shouldn't one first create a table and put tuples into it?

I did not question the usefuleness of checking the existence of objects: 
I questionned the usefuleness of the form 't[]' for that purpose (that 
is, to test the existence of object 't').

Actually, I do not even question that: it is just that I cannot figure 
how you do refer to the object ('t') for the rule to check its existence 
and not check its existence in the process of identifying/refering to it 
(if the form of the test is to be 't[]', of course: that is what we are 
talking about; that excludes Paul's example of checking the existence of 
an object identified by its position in an array).

Maybe it is obvious: it is just that I do not figure it.

Well, actually, it is not entirely true: I figured something out, but I 
am not sure this is what you had in mind:
- rules that you want to apply to all existing objects (i.e., something 
like: "for all ?o and other variables, if ?o[] and other conditions not 
involving ?o, then head involving ?o");
- and rules that you want to apply if there exist an object (i.e., 
something like: "for all ?o and other variables, if ?o[] and other 
conditions not involving ?o, then head not involving ?o", which you 
might also express with an existential in the condition, of course).

But in both cases, the frame ?o[] tests the "objectness" of ?o, whatever 
it means, rather than its existence (the quantifier gives you the 
existence, doesn't it?).

Btw, I assumed that you meant the logical existence of the object, not 
its computational existence (ref Paul's exemple). But, at first sight, I 
think that I would ask the same question in both cases.

Is my question any clearer now?

Just to make another point clear: I have nothing against allowing the 
form t[]; it is just that I wondered how it could (or would) be used (in 
BLD). (Well, I have nothing against it if it is useful, of course :-)

Christian

Received on Tuesday, 8 January 2008 10:19:15 UTC