- From: Christian De Sainte Marie <csma@fr.ibm.com>
- Date: Mon, 9 Jul 2012 17:15:09 +0200
- To: public-rif-wg@w3.org
- Message-ID: <OF9D42C43B.5506C3ED-ONC1257A36.0029A08B-C1257A36.0053CC4C@fr.ibm.com>
All (and PRD folk in particular), The RIF PRD specification does not say anything about the case described in the email forwarded below: when there is no match in the working memory for an action variable binding frame. That is, the case where a rule's action block contains an action variable binding: (?v object[attribute -> ?v]) and object has no value for attribute (notice that object and attribute have to be ground or bound, or the rule would not be safe). I know that we had discussed it (and the case where there are mutliple matches as well), but I do not find a resolution. My understanding is that the consensus was that not to specify semantics for the case where there is no binding value (like DTB specifies no semantics for the case when the arguments of a builtin are out of the domain): although the rule is perfectly valid from an interchange viewpoint, applying it in a context where object has no value for attribute is just applying it outside the domain where it is meaningful. Therefore, I propose to add a clarification to that effect, in section 4.2.3. Re the case where object has multiple values for attribute, my understanding is that the consensus was to leave it ambiguous, because of the unresolved relation between frame/object-multiple values/collection of values. What do you think? Cheers, Christian IBM 9 rue de Verdun 94253 - Gentilly cedex - FRANCE Tel./Fax: +33 1 49 08 29 81 ----- Forwarded by Christian De Sainte Marie/France/IBM on 09/07/2012 09:34 ----- Jesse Weaver <weavej3@rpi.edu> wrote on 05/07/2012 22:05:51: > From: Jesse Weaver <weavej3@rpi.edu> > To: team-rif-chairs@w3.org > Cc: cawelty@gmail.com, Christian De Sainte Marie/France/IBM@IBMFR, > sandro@w3.org, Ankesh <ankesh@cs.rpi.edu>, public-rif-wg@w3.org, > Adrian.Paschke@gmx.de > Date: 05/07/2012 22:07 > Subject: Apparent incompleteness of semantics for firing rules in RIF-PRD > > RIF Chairs. > > It appears that the operational semantics of RIF-PRD are > incompleteness wrt firing rules. Consider a set of facts \Phi = { > a#c , b#c } which represents a state of the fact base. Consider the > following rule: > > Forall ?x ?y ( > If And( ?x#c ?y#c ) > Then Do( (?v ?x[p->?v]) ?y[p->?v] ) ) > > The substitution \sigma = { <?x, a> , <?y, b> } matches condition > formula And( ?x#c ?y#c ) to \Phi. Therefore, by definition of > matching rule instance (section 4.2.3), the following is a matching > rule instance of the previous rule: > > If And( a#c b#c ) > Then Do( (?v a[p->?v]) b[p->?v] ) ) > > Suppose that the conflict resolution strategy selects only this rule > instance for firing. Then by definition of RIF-PRD production rule > system (section 4.2.4), the ground atomic actions derived from the > rule instance's action block are executed in sequence to transit to > the next state. From definition of action instance (section 4.2.3), > the action instance is derived by extending \sigma to another ground > substitution \sigma* = { <?x, a> , <?y, b> , <?v, d> } where d is a > constant such that a[p->d] \in \Phi. However, there exists no > constant d such that a[p->d] \in \Phi. Therefore, it is impossible > to derive an action instance for the given rule instance, and it > appears that such a case has an undefined operational semantics. > > What I wish to know is: have I correctly determined an > incompleteness in the semantics, and if so, what should the > operational semantics be in this case? Sauf indication contraire ci-dessus:/ Unless stated otherwise above: Compagnie IBM France Siège Social : 17 avenue de l'Europe, 92275 Bois-Colombes Cedex RCS Nanterre 552 118 465 Forme Sociale : S.A.S. Capital Social : 645.605.931,30 ? SIREN/SIRET : 552 118 465 03644 - Code NAF 6202A
Received on Monday, 9 July 2012 15:16:14 UTC