- From: Jos de Bruijn <debruijn@inf.unibz.it>
- Date: Tue, 28 Apr 2009 16:35:07 +0200
- To: Christian De Sainte Marie <csma@fr.ibm.com>
- CC: RIF <public-rif-wg@w3.org>, Sandro Hawke <sandro@w3.org>
- Message-ID: <49F7141B.2010804@inf.unibz.it>
> > Jos De Bruijn wrote on 28/04/2009 14:27:06: >> >> <snip/> >> >> [...] >> >> I could not think of a good example in BLD, but consider an extension of >> BLD with existentials in the head. You could write: >> >> Exists ?x (ex:p(List(ex:a | ?x))) >> >> >> This does not entail: >> >> Exists ?y (And(ex:p(List(ex:a | ?y)) is-list(?y))) > > What if we removed malformed lists from RIF? That makes some sense to me, although I'm not sure if it would be the best solution. We could define I_tail as a function D_ind^+ \times D_list -> D_ind, where D_list is the image of I_list. Then, if the last argument of I_tail would not be in D_list, the value is unspecified, like with the built-ins. Implementations should then raise an error. This means that, in practice, when using a variable for the tail, one should always use a guard predicate: p(?x) :- is-list(?y) and q(List(a | ?y)) Jos > > Christian > > > ILOG, an IBM Company > 9 rue de Verdun > 94253 - Gentilly cedex - FRANCE > Tel. +33 1 49 08 35 00 > Fax +33 1 49 08 35 10 > > > Sauf indication contraire ci-dessus:/ Unless stated otherwise above: > Compagnie IBM France > Siège Social : Tour Descartes, 2, avenue Gambetta, La Défense 5, 92400 > Courbevoie > RCS Nanterre 552 118 465 > Forme Sociale : S.A.S. > Capital Social : 609.751.783,30 € > SIREN/SIRET : 552 118 465 02430 > -- +43 1 58801 18470 debruijn@inf.unibz.it Jos de Bruijn, http://www.debruijn.net/ ---------------------------------------------- Many would be cowards if they had courage enough. - Thomas Fuller
Received on Tuesday, 28 April 2009 14:35:49 UTC