- From: Sandro Hawke <sandro@w3.org>
- Date: Tue, 28 Apr 2009 08:05:24 -0400
- To: "Adrian Paschke" <adrian.paschke@gmx.de>
- cc: "'Christian De Sainte Marie'" <csma@fr.ibm.com>, public-rif-wg@w3.org
> Right, probably it makes sense to have explicit constructs for > > Explicit/Strong/Classical negation Neg > Default/Negation-as-failure/Weak/Inflationary Not If those are the only two we need, I think I'd call them Explicit/Strong/Classical negation not Default/Negation-as-failure/Weak/Inflationary fail I could also see calling classical negation isFalse, but I'm not really comfortable calling NAF "not", since um, it's not. :-) (In my experience, most prolog educational material advises against calling it "not" because it ends up misleading too many users. For instance, the SWI-Prolog manual [1] for says: not(+Goal) True if Goal cannot be proven. Retained for compatibility only. New code should use \+/1. and, while XSB also has "not", it also has "\+" and "fail_if", and I read the document for "not" to suggest it is mildly deprecated [2] -- Sandro [1] http://www.swi-prolog.org/pldoc/doc_for?object=not%2f1 [2] http://xsb.sourceforge.net/manual1/node111.html#8424 > -Adrian > > -----Urspr=FCngliche Nachricht----- > Von: Sandro Hawke [mailto:sandro@w3.org]=20 > Gesendet: Dienstag, 28. April 2009 13:34 > An: Adrian Paschke > Cc: 'Christian De Sainte Marie'; public-rif-wg@w3.org > Betreff: Re: AW: [Admin] Agenda for RIF telecon 28 April *ADDENDUM*=20 > > > > We discussed it in the last PRD telecon. The semantics of a generic > > "not" in case of PRD is clear since it used in a production rule set, > > i.e. it is inflationary not. > > But is it also classical negation and NAF? In particular, if I have > this ruleset: > > forall ?x > if not ex:p(?x) then ex:q(?x) > > this proposal defines that as a PRD ruleset. To my eye, it could just > as easily be FOL or LPD. As long as the semantics in all cases would be > the same, they could all use the same "not", but otherwise, it seems > like they need to use different operators. > > > Alternative we could introduce many different constructs for > > negations, but this might be counterproductive to the interchange > > purpose of RIF. I would propose that the intended semantics of a rule > > set such as stratified, well-founded, stable models, is denoted by a > > special label (e.g. an attribute or additional construct) for the rule > > set and not by different constructs for negations. Otherwise a simple > > (business) rule set cannot be interchanged between a WFS rule engine > > and a Stable rule engine without a translation. > > How would that work? If a ruleset was labeled > "use-well-founded-semantics" and I was a "stable-semantics" engine, what > would I do with it? > > -- Sandro
Received on Tuesday, 28 April 2009 12:05:32 UTC