Re: [PRD] review of the frozen draft of Nov 25

On Fri, 05 Dec 2008 17:44:07 +0100
Christian de Sainte Marie <csma@ilog.fr> wrote:

> Michael,
> 
> As I said, I have some questions about your comments re the semantics of conditions in PRD. Maybe they are very naive and/or completely silly, but here they are, anyway...
> 
> (That email is independent of Adrian working on answering your comments for WD2).
> 
> Michael Kifer wrote:
> > 
> >   10. Section 2.1.2.1, Semantic structures.
> > 
> >       For production rules you need to use Herbrand domains. Otherwise,
> >       the definition of the models would be broken (as it is right now).
> >       PRD uses inflationary semantics for negation, and using general
> >       domains is problematic in this context.
> 
> But we are talking about the interpretation of condition only, not rules
> formulas. In that case, the semantics of negation cannot be inflationary: it
> is more like negation as failure under CWA, isn't?

all I said was that if you do not use the Herbrand domain then
the semantics will not hold together for the kind of negation that PRD uses.
The actual definition for negation is not going to change -- only the domain
will.

> >   12. Sec 2.1.2.3, definition of condition satisfaction.
> > 
> >       This definition is incorrect, if you have PRD negation. If Ψ has
> >       negation, for instance, And(p not q) then this definition is not
> >       strong enough to ensure that, say, p |= And(p not q).
> 
> You are right. But what if we add the following sentence to the definition of
> logical entailment: "or there is a formula theta such that psy = Not theta
> and for some semantic structures I+, I+ |= phi and I+ |= psy and for some
> semantic structures I-, I- |= phi and I- |=/= psy"?
> 
> Ok, that may not be logical entailment anymore, but wouldn't that make the
> usual PR semantics of conditions with a general notion of semantic
> structures, and allow us to sepcify condition satisfaction wrt to that kind
> of entailment?

It is good when you answer your questions yourself :-)
Basically there is no need to introduce new, home-grown notions.
The business of Herbrand domains is standard, and this is what PRD people
expect anyway. So, why not make it easier both for us and for the reader?


> >       What production systems do is different from logical entailment.
> >       You are constructing semantic Herbrand structures instead. [...]
> 
> Right. But, again, we are talking about the semantics of conditions only, not
> rules. The knowledge base is static, as far as the semantics of
> conditions is concerned.
> For that purpose, we do not need consider whether the knowledge base might
> change or not.

I was saying that you do not actually need the notion of formula entailment
because production rules do not do entailment. Given that, why introduce this
notion at all?

> Or do we? If we have to take that into account when specifying the semantics
> of condition, there is really something that I do not understand. Oh, ok!
> There are lot of things that I do not understand, there :-) But that one I
> really need to understand! Can someone explain that to me, please?

I hope the above makes it clear.  What I am saying (again) is that you need to
use the notion of truth of a formula in a (Herbrand) semantic structure, but
you do not need to use the notion of entailment at all (especially since it was
not right anyway). In my comments I pointed out how to simplify the defs to
avoid the use of entailment.

> > In fact, I do not think that
> >       you need the motion of logical entailment in the first place. You
> >       do need the notion of condition satisfaction, but it should be
> >       satisfaction in particular Herbrand structures, *not* the notion
> >       that you are defining. (The current document defines entailment of
> >       conditions by ground facts, not the notion of satisfaction in
> >       semantic structures.)
> 
> Well, the real reason to specify the satisfaction of condition, and pattern
> matching, on a more general basis than against a base of ground facts
> only is that, ultimately, we (may) want to be able to import external
> knowledge such as, e.g., data models, and that external knowledge may
> not be ground facts only, e.g., data models include axioms that are
> not ground facts (e.g. forall x, if x#C1 and C1##C2, then x#C2).

But these statements have Herbrand models, and this is all you need.
You will never be needed to consider entailment.

> Actually, considering only a base of ground facts requires that everything that is imported one way or another (including externally defined functions and predicates) be considered in extension for the purpose of the semantics of condition.
> 
> That is probably possible, but I thought that it would be more convenient to
> just be able to say that, if a RIF document imports a theory T, then that
> means that weherever the semantics required entailment by the fact base: w |=
> p, you simply need to consider entailment by the conjunction of w and T,
> instead: w, T |= p.

I am not sure I understand, but you are defining the acceptable (terminal)
models of your set of rules. When you import rules then the models should be
also models of the imported things (if those rules have no actions).

You simply cannot use entailment because you are not defining a logic, but
rather a procedure that operates on semantic structures, and these structures
change all the time as you apply your rules.

> I am perfectly ready to accept that it does not make sense, if it does
> not. But somebody will have to explain to me why :-)
> 
> >   13. Definition of matching substitution.
> > 
> >       This definition seems broken, and is an overkill in any case. Why
> >       not simply define it as σ(Ψ) ⊆ Φ?
> 
> Same reason as above: what if Phi is not only a base of ground facts?

You can always assume that non-ground facts are represented by a (possibly
infinite) set of ground facts. This is a standard way of dealing with this in
the semantics.


 --michael  

Received on Friday, 5 December 2008 18:30:34 UTC