W3C home > Mailing lists > Public > public-rif-wg@w3.org > July 2008

Re: BLD issue: non-disjointness of internal and external predicate symbols

From: Michael Kifer <kifer@cs.sunysb.edu>
Date: Thu, 10 Jul 2008 11:46:50 -0400
To: Jos de Bruijn <debruijn@inf.unibz.it>
Cc: RIF <public-rif-wg@w3.org>
Message-ID: <20080710114650.03d4e82e@kiferserv>

The principle was the easy of interfacing with FOL, as far as I remember. I see
no good argument for the principle "one constant - one meaning". Especially now
when OWL seems to be ditching it.
But I am ok with separating them. It is just a bad and unnecessary kludge.
Since we distinguish External(p) from p, it is just the same as having a
separate symbol space, esternalIRI. We could have used, for example,
p^^iri and p^^esternalIRI. But you wanted Builtin(...) which later became
External(...).


	--michael  

On Thu, 10 Jul 2008 17:32:36 +0200
Jos de Bruijn <debruijn@inf.unibz.it> wrote:

> Michael,
> 
> My argument is not about error-checking, but rather about the principle 
> that the same constant you use in different places should mean the same 
> thing.
> 
> But I'm also willing to compromise for the case of external frames, so 
> the compromise would be:
> 
> - we create additional sets for external functions and predicates that 
> are disjoint from the sets of "internal" symbols, and impose the 
> condition that internal function and predicate symbols may not be used 
> in external terms
> - we do not impose restrictions on symbols used in external frames
> 
> Let's see what the rest of the working group thinks about this.
> 
> Best, Jos
> 
> Michael Kifer wrote:
> > 
> > On Thu, 10 Jul 2008 17:03:25 +0200
> > Jos de Bruijn <debruijn@inf.unibz.it> wrote:
> > 
> >>
> >> Michael Kifer wrote:
> >>> This was not an omission, but I am fine with separating external from
> >>> non-external symbols for functions and predicates. 
> >> ok, good
> >>
> >>  > As to the frames, I do not think any of the symbols
> >>> should be required to be external.
> >> But then the same constant used in different contexts has a different 
> >> meaning, which I think was something we were trying to avoid in BLD.
> > 
> > Frames are reflexive by nature. So, in some other statement you may want to
> > say that some object (even external one) has a particular set of properties and
> > list them).
> > 
> > Frankly, I do not understand why is it a deal to allow the same, say predicate,
> > to appear inside External(...) and outside of it. The reason for separating the
> > symbols was to ease the interface with FOL. But separating external and
> > non-external symbols does not affect that.
> > 
> > Syntactically it is clear whether a symbol is used as external or internal, and
> > I see no reason to reinforce this with an additional syntactic kludge (I
> > conceded it just in the interests of peace :-).  If your argument is
> > error-checking then it is not our business. Systems that care about it would
> > build the appropriate error checkers.
> > 
> > 
> > 	--michael  
> > 
> >> Best, Jos
> >>
> >>>
> >>>
> >>> 	--michael  
> >>>
> >>>
> >>> On Thu, 10 Jul 2008 12:57:45 +0200
> >>> Jos de Bruijn <debruijn@inf.unibz.it> wrote:
> >>>
> >>>> There is an issue in BLD, which I unfortunately did not catch before.  I 
> >>>> think it is probably an omission in the definition, but it is a 
> >>>> substantive one.
> >>>> If we all agree that it is indeed an omission, we can probably address 
> >>>> the problem, create a new frozen version, and vote about publication in 
> >>>> the next phone conference on Tuesday.
> >>>> Personally, I am not ready to sign off on publication before this issue 
> >>>> is resolved.
> >>>>
> >>>> The issue is the following: in the definition of well-formed terms, the 
> >>>> set of all symbols is partitioned into predicate symbols, function 
> >>>> symbols, etc. however, no distinction is made between external and 
> >>>> "internal" symbols.  The consequence is that the same function or 
> >>>> predicate symbol can be used both in an external term and an internal 
> >>>> term, and these two terms have different meanings, i.e., the same 
> >>>> constant is interpreted differently based on the context, which is 
> >>>> something we explicitly wanted to avoid in BLD.  So, a built-in function 
> >>>> may be used outside an external term and will be uninterpreted.
> >>>>
> >>>> The problem is easy to fix by defining additional sets of external 
> >>>> predicate function symbols that are disjoint from the other sets of 
> >>>> symbols and defining appropriate restrictions on external terms (i.e., 
> >>>> the first function/predicate symbol in an external term must be an 
> >>>> external symbol).
> >>>> It becomes a bit more tricky when considering external frames, but 
> >>>> probably all constants used in an external frame should be external 
> >>>> individuals/functions/predicates.
> >>>>
> >>>> Best, Jos
> 
Received on Thursday, 10 July 2008 15:47:43 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 2 June 2009 18:33:52 GMT