Re: determining if something is unknown
Thomas Russ <[email protected]> Mon, 25 Feb 2008 09:40:24 -0800
| Newsgroups | gmane.comp.ai.powerloom |
|---|---|
| Message-ID | <[email protected]> |
On Feb 23, 2008, at 7:11 AM, Christian wrote:
> Is there a way to determine whether the the outcome of a statement is
> UNKNOWN? I'd like to close a relation such that it is by default
> TRUE
> instead of FALSE. I thought I'd write a rule which would return TRUE
> if
> the (myrelation myconcept) is UNKNOWN.
Asking a query will generate a reply of UNKNOWN in the interactive
listener, so you could find out if a statement is unknown by using ASK.
In the programming API, there are various tests in the pli (package,
namespace) which can tell you if a statement is unknown.
To do this in a query, you would want to use the FAIL operator, which
will return TRUE if PowerLoom is unable to prove the statement inside
the fail operator. This provides a "failure as negation" semantics at
the level of individual statements in the logic.
I would guess that a rule something like this would work:
(=> (fail (not (r ...)))
(r ...))
This uses the fail operator in the rule to get the closure, and it
closes over the negation of what you are trying to prove.