[PowerLoom Forum] play(player, game)

Octav Popescu octav at cmu.edu
Mon May 23 14:50:42 PDT 2005


Hans,

After looking a little into this, now I'm confused too about the semantics of 
the CLOSED predicate. :-) I understand why the example below does not lead to 
any contradictions. But I'm not sure I understand why CLOSED only has effect 
on NOT questions. Like for instance:

? (defconcept player)
|c|PLAYER
? (assert (closed player))
|P|(CLOSED PLAYER)
? (assert (player jano))
|P|(PLAYER JANO)
? (ask (not (player chess)))
Processing check-types agenda...
TRUE
? (ask (player chess))
UNKNOWN

I'm not sure I understand why the last query doesn't return FALSE. I take it 
it has to do with the fact that PowerLoom doesn't put much effort into 
disproving a query. The manual says:

"The PowerLoom command ask returns one of three values: true if it can prove 
the truth of a proposition, false if it can easily prove the falsity of a 
proposition and otherwise it returns unknown."

So in this case PowerLoom does know that the query failed, and it seems to me 
it would be easy to check that the predicate is CLOSED, and then change the 
result to FALSE. This would be more in line with the "negation as failure" 
mode. Is there a problem with this?

Thanks,
Octav

--On Friday, May 13, 2005 13:11 -0700 Hans Chalupsky <hans at ISI.EDU> wrote:

> Krzysztof,
>
> I'm not sure why you think the last assertion should not be possible.
> At that point both JANO and CHESS are of type PLAYER (via explicit
> assertion) and GAME (inferred via the type constraint on PLAY).  You
> asserted GAME and PLAYER to be closed which only means (NOT (GAME/PLAYER
> ?x))  will be concluded if (GAME/PLAYER ?x) cannot be inferred.  So, there
> are no contradictions I can see.
>
> Hans
>
>>>>>> Krzysztof Janowicz <k at janowicz.de> writes:
>
>> hi,
>> i do not understand why the last assert is possible, can anyone give me
>> a hand? can i assert everything independent of the definitions made bevor?
>
>> thanks!
>
>> (DEFCONCEPT PLAYER)
>> (DEFCONCEPT GAME)
>> (DEFRELATION PLAY (?X ?Y)
>>    :=> (AND (PLAYER ?X) (GAME ?Y)))
>
>> // or (defrelation play ((?x player) (?y game)))
>
>> (ASSERT (CLOSED GAME))
>> (ASSERT (CLOSED PLAYER))
>> (ASSERT (PLAYER JANO))
>> (ASSERT (PLAYER CHESS))
>> (ASSERT (PLAY JANO CHESS))
>> (ASSERT (PLAY JANO JANO))
>
>
>> regards
>> k.janowicz
>> _______________________________________________
>> powerloom-forum mailing list
>> powerloom-forum at isi.edu
>> http://mailman.isi.edu/mailman/listinfo/powerloom-forum
>
> _______________________________________________
> powerloom-forum mailing list
> powerloom-forum at isi.edu
> http://mailman.isi.edu/mailman/listinfo/powerloom-forum
>




More information about the powerloom-forum mailing list