Re: On production rules and phase I&II

> The pure subset corresponding to an extremely small subset of horn  
> clause logic (no recursion!)

I'm not sure what you mean by recursion.  Can you give me an example
ruleset (in the syntax of your choice), and say which facts would be
entailed only with recursion?  (Or if recursion is a syntactic thing, I
guess provide two rulesets, one written with recursion and one without.)

And then once we know what recursion is, ... why is it out of scope for
Phase 1?

> A much more serious point is this: in order to support modify and  
> remove (phase II aspects) it will be necessary to undo this reading  
> of PRs. I.e., to model PRs in terms of predicate logic, it will be  
> necessary to get into modeling causal relationships/actions etc. A  
> simple straw man approach being to use the situation calculus:
> 
> isTrue([C|W]) :- show(W,A), show(W,B)
> 
> (using Prolog here...:-)
> 
> where show is analogous to
> 
> show(W,C) :- C in W.
> show(W,C) :- originallyTrue(C).
> 
> Actually it would have to be considerably more complex than this and  
> one would not use situation calculus anyway because it cannot model  
> serendipitous reasoning.
> 
> The point I am trying to make is that the characterization of PRs  
> including modify and remove has to undo the prior characterization  
> *even of the 'pure subset' of PRs*.

I guess the question here is: does the Working Group *want* to formally
specify the semantics of production rule systems in the hope of getting
more precise interchange, or can we leave the semantics of Retract and
Update essentially out of scope, doing no more on PR semantics than PRR?
(I don't know exactly what they are doing, but I don't think they are
formally specifying the semantics of production rules.)

I'm inclined to argue that we just need to provide the hooks for Retract
and Update and see what happens.   If someone comes up with a great
proposal for formally specifying their semantics, and the industry wants
W3C to Recommend it, then we can work on it.

The hooks I think are needed:

   - a general Actions mechanism, semantically equivalent to answering
     certain queries, and

   - a way to name the rule bases being used, so the action can talk about
     which rule base is to be modified (with a way to say "this rule
     base" which makes Insertion actions semantically equivalent to 
     non-PR horn rules).

Obviously I'm approaching this from a rather different angle than you.
Maybe you have some use cases or requirements in mind which are pushing
you onto the road you seem to be on?

   -- sandro

Received on Tuesday, 7 March 2006 23:30:16 UTC