W3C home > Mailing lists > Public > public-rif-wg@w3.org > February 2009

Re: [PRD] PRD TF telecon Tuesday 17 February

From: Gary Hallmark <gary.hallmark@oracle.com>
Date: Tue, 17 Feb 2009 12:46:10 -0800
Message-ID: <499B2212.2050709@oracle.com>
To: Christian de Sainte Marie <csma@ilog.fr>
CC: Paul Vincent <pvincent@tibco.com>, RIF WG <public-rif-wg@w3.org>, "Serrano-Morales, Carlos A" <CSerrano@fairisaac.com>, "Berlioz-Matignon, Carole Ann" <CaroleAnnMatignon@fairisaac.com>


Christian de Sainte Marie wrote:
>
> I think that this bug can be corrected by modifying slightly the 
> definition of refraction, so that action variables be taken into 
> account iff  their initialisation template matches a ground condition 
> element (in the condition or in a binding pattern) that is not inside 
> an existential condition (in the current version of the spec, only 
> rule variables are taken into account for refraction).
>
I think it might be clearer to define a function Normalize(e) that maps 
a term or formula e to a term or formula as follows:

if e is a predicate p(a<sub>i</sub>) then Normalize(e) = 
And(p(v<sub>i</sub>) v<sub>i</sub> = a<sub>i</sub>), forall i where 
a<sub>i</sub> is a Const and v<sub>i</sub> is a new free variable

if e is a frame o[k<sub>i</sub> -> a<sub>i</sub>] then Normalize(e) = 
And(o[k<sub>i</sub> -> v<sub>i</sub>] v<sub>i</sub> = a<sub>i</sub>), 
forall i where a<sub>i</sub> is a Const and v<sub>i</sub> is a new free 
variable

if e is Exist, Const, or Var then Normalize(e) = e

otherwise, recursively normalize the constituents of e.

e.g. Normalize(_P(1, ?x)) = And(_P(?w, ?x) ?w = 1)

Then, refract on Var(Normalize(e))
Received on Tuesday, 17 February 2009 20:47:07 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 2 June 2009 18:34:03 GMT