Re: [BLD] My comments on version dated 5/10

> 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