- 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