- From: Jos de Bruijn <debruijn@inf.unibz.it>
- Date: Thu, 27 Nov 2008 15:00:52 +0100
- To: Dave Reynolds <dave.reynolds@hp.com>
- CC: RIF WG <public-rif-wg@w3.org>
- Message-ID: <492EA814.3040706@inf.unibz.it>
>> 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