- From: Christian de Sainte Marie <csma@ilog.fr>
- Date: Thu, 10 Jan 2008 20:52:30 +0100
- To: Michael Kifer <kifer@cs.sunysb.edu>
- CC: Bijan Parsia <bparsia@cs.man.ac.uk>, RIF WG <public-rif-wg@w3.org>
Michael Kifer wrote: > > So, if it is a compliance clause, then we pushed the problem to the next level. > Does it mean that I can now go back to work on the document? Yes, I think that the benefits and drawbacks of the three options are clear enough and we should now make a decision. I have no sense of where the WG is leaning, though? *Sandro*, would it be possible to set up a quick WBS poll to see what kind of resolution would have the best chances? As I understand it, the options are: a. Add a special constant, e.g. rif:error, and a distinguished elements _|_ in the domain of interpretation of any semantic structure, such that all semantic structures will be required to interpret rif:error as _|_; define builtin functions so that they will return rif:error whenever their arguments are of the wrong type; and say that a predicate, p(a,b,c,...), is false if any of its arguments evaluates to _|_ in the interpretation; b. Same as (a) as regards builtin functions. This option introduces a new truth value, called E (error) such that ~E = E, E/\F=F, E/\T=E, E\/F=E, E\/T=T. Then we can say that p(a,b,c,...) has truth value E if at least one of the args is _|_; c. Support builtins (and evaluated functions and predicates in general) syntactically, and semantically within their domains of definition, but leave their semantics on error (and the semantics of predicates where one arguments is an evaluated function with an out-of-domain argument) implementation dependent. Whether or not silent processing of such cases should be forbidden is a different issue. It depends on how difficult that requirement would be to implement, as I see it. Christian
Received on Thursday, 10 January 2008 19:53:19 UTC