- From: Michael Kifer <kifer@cs.sunysb.edu>
- Date: Wed, 10 Oct 2007 16:35:24 -0400
- To: Christian de Sainte Marie <csma@ilog.fr>
- Cc: RIF WG <public-rif-wg@w3.org>
> Michael Kifer wrote: > > > >>- In some examples, we have 2 different serialisation for the same > >>expression: how do we deal normatively with that? We could define a > >>normal form for RIF XML rules; or we could require that implementations > >>preserve the form of an expression, for round-tripping purposes (that > >>would be kind of difficult, though) > > > > Can you point to these specifically? > > Strictly speaking, the only one is example 3 [1] in section 3.1.1.2, > which offers 2 translations of the same rule: > 1. (x, y, z, u), Head(x) :- Body1(x, y, z, u); > 2. (x) Head(x) :- Body2(x) > where body2 contains exsitentially quantified formulae. These are equivalent rules. There are many tautologies and all are "normative". The implementations are supposed to treat them equivalently. Note that round-tripping is not always possible here because some languages may not support explicit existentials in the body. So, if they receive the form #2 then then will translate it into #1. I do not see it as a problem for RIF. It may be perceived as a possible problem for some rule languages, but frankly I do not think it is. > [1] Btw, it should be number 5, and the next one number 6, instead of 4, > if I am counting examples correctly ok > > We need to fix that. > > Well, we need to fix the inconsistency between that example and the > sentence that says: "the free variables in a CONDITION formula are > _precisely_ those that also occur in the then part of the rule" (section > 2.11.2, last par. before example 1). There is no inconsistencies. #1 and #2 in Example 3 (now 5) have different sets of free vars in the condition part. > But "fixing" the more general issue of whether RIF allows several > equivalent forms for the same statement is a different question: if we > want any specific rule to have one and only one expression in RIF, then > we need to specify a RIF normal form; but that would impact the > round-tripping issue, not mentionning complexity and efficiency of > implementation; or the added work that would require (to specify such a > normal form). On the other hand... Given that equivalence is undecidable, the answer is "yes": RIF will allow equivalent forms. > So, no quick fix to that, I fear (but fix the inconsistency for WD2 one > way or another, of course: my preference would be to change _precisely_ > for _at_least_ in the above sentence, because it leaves more doors open; > but I would not kill anybody for that). I do not see any inconsistency. > >>- sect. 2.1.1.2, 5th par. ("We now give an EBNF...), but-last sentence, > >>"It is not intended to be used as a concrete syntax for a rule > >>language": add "RIF concrete syntax is the XML syntax for interchange"? > > > > Here we are talking about a concrete language for a rule language, not > > about a RIF concrete language. > > I understand that. My suggestion was to add a sentence that explains why > (we are not specifying a concrete syntax for a rule language) by > refocusing the reader on the purpose of RIF (after you've read all that > stuff about well-formed formulas, signatures, data types etc, it might > be a good idea to refresh one's mind about what it is all about :-) You've got it! :-) --michael > > Christian > >
Received on Wednesday, 10 October 2007 20:35:40 UTC