RE: Testcase comment and question

> -----Original Message-----
> From: Seaborne, Andy []
> Sent: Wednesday, March 30, 2005 7:53 AM
> To: Geoff Chappell
> Cc:
> Subject: Re: Testcase comment and question
> There seems to be a problem where - evaluation of an expression that leads
> to a
> failure (here - unbound variable) does not lead to true/false condition
> that can
> be negated.
> "Fail" becomes 'reject solution' but also not("Fail") becomes 'reject
> solution'.
> Passing a filter means that it is a positive claim to be true.  For
> unboudn
> variables, it is not known either way what the state of the constraint is,
> so
> the solution is not part of the results.  Open world assumption : if the
> price
> is unknown, then we can't allow either "?price < 15" nor allow "?price >=
> 15".

I think your observation may be getting at the heart of the matter. The
negation that is introduced via OPTIONAL isn't open world - as negation as
failure it's explicitly closed. If the negation within constraints is
evaluated under an open world assumption we end up with a mismatch that
creates odd results. So my suggestion (in a separate post to the comments
list) that the boolean effective value of an unbound variable is false is
essentially a suggestion to treat negation within constraints as closed
world (negation as failure) -- that's why it solves my problems.

It looks to me like your group has to make a decision about the nature of
negation within constraints (unless you already have?). It may be difficult
to reconcile the different world assumptions if you decide that it is open.


Received on Wednesday, 30 March 2005 13:23:35 UTC