Re: [test] disjunctive entailment without equality

Quoting Sandro Hawke <sandro@w3.org>:

>
>
> Talking about
> http://www.w3.org/2005/rules/wiki/Disjunctive_Information_from_Negative_Guards_3
>> > who cares about this test case?  Why is it important?
>>
>> it shows that you need to reason by cases, which is not usual in
>> rule-based systems.
>
> Here's a simpler one, I think:
>
>   Document(
>      Prefix(ex http://example.com/example#)
>      Prefix(pred http://www.w3.org/2007/rif-builtin-predicate#)
>      Group(
>         Forall ?x (ex:q(?x) :-
>                     Or (
>                       External(pred:isNotInteger(?x))
>                       External(pred:isInteger(?x))
>                        )
>                    )
>       )
>
> entails:
>     ex:q(ex:a)

Yes, this is also a good one.
I think it nicely complements the test case  
Disjunctive_Information_from_Negative_Guards_3.

Your test case shows how you need to do reasoning by case using the  
rule bodies, whereas Disjunctive_Information_from_Negative_Guards_3  
show how you need to reason by case with the rule heads.


Jos

>
> It's logically entailed, but neither a production rule system nor a
> prolog-style system is going to figure that out.   (The prolog one
> might, by mistake, if it took ex:a as a prolog atom.)
>
>      -- Sandro
>
>

Received on Friday, 12 December 2008 17:48:28 UTC