- From: Christian de Sainte Marie <csma@ilog.fr>
- Date: Tue, 31 Oct 2006 16:33:22 +0100
- To: Dave Reynolds <der@hplb.hpl.hp.com>
- CC: RIF WG <public-rif-wg@w3.org>
Dave Reynolds wrote: > > Could you clarify what are the essential ways your proposal differs from > the current one, as separate from accidental differences of expression? As everybody noticed, the main point is not the syntax (although my proposal may require a more general syntax). > For the expression component (setting aside rules for the moment) is > there an intended difference in semantics? Your words suggest an > underlying two-valued logic. Michael's semantics seems to be designed to > permit logics with 3, 4 or more truth values. Is this an essential and > intended difference? No. I see no reason not to agree with Michael's semantics wrt admitting logics with n truth values. My main point is that, from the point of view of RIF, the intended meaning of an atomic expression is given from the outside (and, thus, that their semantics is out of scope for RIF). RIF has to specify the semantics of the allowable combinations of atomic expressions, basically the modifications of atomic expressions (such as negation) and their conjunction and disjunction. I propose that we include the ones on which everybody agree (e.g. conjunction and disjunction) and that we leave the ones on which there may be discussions for phase 2. Same with n-valued logics: if everybody agrees on the semantics of these operators for n truth values, why not include it in RIF? I have no problem with Michael's semantics in this respect, but I am not really competent. From a syntax point of view, the only other thing I saw that RIF should specify regards the variable bindings (hence the quantification expression, on the semantics of which I do not think there is any disagreement). But I may be wrong: I do not claim to be complete. > Then looking at the words on rule semantics I struggle to understand > whether you are saying "no semantics for rules, let individual parties > decide" or whether you are saying "procedural semantics, iterate to > fixed point". Your Rule examples and Ruleset discussion seem to be > pulling in different directions. > > I think there's an interesting proposal somewhere in here but a sharper > expression of the primary things you are trying to do, separate from the > philosophy, would help. I fear that you are asking for the impossible, since what I am trying to do is to propose a different philosophy for RIF :-) My main point is that people are interchanging rules for a purpose, and that the current design does not take that fact into account. I tried to think of another approach where that fact could be leveraged to make RIF simpler; and usable, where relevant, to interchange rules even between rule languages with different semantics (another concern I have with the current approach: it does little if anything for interoperability). Let me try another way: assumed there are rules that can be equivalently expressed in all different kinds of rule languages, for all practical purposes, at least, even though these rule languages do not share a common semantics. Now: 1. If the same rule/ruleset can be expressed in different languages, it means that they can be interchanged between these languages in a way that preserves their meaning; 2. If they can be expressed in languages that do not share a common semantics, it means that the "semantics" of the rules can be abstracted, for the purpose of interchange, from the specific semantics used by the various rule languages for the purpose of reasoning/inference. My proposal is that RIF could be designed as a general (and extensible) syntax for interchanging rules, where the CORE would only have that minimal "abstract semantics" that enable the interchange of those rules where that "abstract semantics" is enough to preserve the meaning. That is where the fact that people interchange rules for a purpose is important: I propose to leave it to those people to decide wether that minimal semantics is enough for their purpose or not, and so, whether they can use the core or whether they need a more "powerful" version of RIF. I propose that the "abstract semantics" for a single rule could be: if the antecedent holds (whatever we agreed it to mean), then, the rule means that the consequent would be expected to hold too (whatever you choose to do with that expectation is your problem). Same level of abstraction for a ruleset. Extensions would then be specified to handle the cases where a more specific semantics is required (and, here, it is not a problem that the rules can be interchanegd only among the rule languages based on that specific semantics). I wonder if what I propose is not akin to what Jim Hendler discusses in the first section of an email he sent during the discussion about the charter (mutatis mutandi): http://lists.w3.org/Archives/Public/public-rule-workshop-discuss/2005Aug/0080.html Christian
Received on Tuesday, 31 October 2006 15:35:23 UTC