Re: [test] disjunctive entailment without equality

>> I created a test case concerning disjunctive entailment from negative
>> guards that does not involve equality (and the rule is safe).  In
>> hindsight, it is actually kind of obvious; just an application of
>> DeMorgan's.  Silly that I didn't think of it before.
>>
>> http://www.w3.org/2005/rules/wiki/Disjunctive_Information_from_Negative_Guards_3
>>
>>
>> With the proposed hasNotDatatype predicate you have exactly the same
>> issue: adding a hasNotDatatype as a conjunct to the body is equivalent
>> to adding hasDatatype as a disjunct to the head.
> 
> If we had kept disjunction out of Core then the test case would at least
> not be a Core test case.

Dave, I'm not sure I understand.  The test case is about negative
guards.  So, if there are negative guards in core, this kind of
disjunction can be expressed.

Or were you referring to the Or construct in the conclusion?  We know
that rules with disjunction in the body can always be rewritten to rules
without.  For example, we can add the following rules to the ruleset:

Forall ?x (ex:r(?x) :- ex:q(?x))
Forall ?x (ex:r(?x) :- pred:isInteger(?x))

And change the conclusion to:

ex:r(a)

This would still be a positive entailment test, and would still require
reasoning by cases because of the implicit disjunction.


Best, Jos

> 
> I'd be more interested in a Core that supports negative guards but
> doesn't support disjunction (or at least not disjunctive conclusions)
> than the reverse.
> 
> Dave
> 
> 
> 
> 
> 
> 

-- 
Jos de Bruijn            debruijn@inf.unibz.it
+390471016224         http://www.debruijn.net/
----------------------------------------------
No one who cannot rejoice in the discovery of
his own mistakes deserves to be called a
scholar.
  - Donald Foster

Received on Thursday, 27 November 2008 14:01:03 UTC