[SCL] fitting interpretations onto ontologies
pat hayes
phayes at ihmc.us
Thu Dec 4 23:20:07 CST 2003
Chris (and others), I would appreciate your input on this technique
which Im trying to use, to adapt your AS to the view of SCL as a
'single language'.
The idea is to avoid the lexical classification by treating an
interpretation initially in a very permissive way: it is just a
structure and a mapping from a single homogenous vocabulary, with no
lexical distinctions. But given some sentences O and an
interpretation I on the vocabulary of O, there is still a kind of
lexical decision to be made about whether or not I 'fits' the
expressions in O properly. Interpretations which don't fit are simply
not considered as being involved in the semantic discussion - in
effect, they are not counted as 'legal' interpretations of O - so any
questions about the denotations of expressions in non-fitting
interpretations simply do not arise.
Formally, I satisfies O when I fits O and I(O)=true, and then
entailment is defined in the usual way.
The current definition of 'fit' is:
for any name x,
if x occurs in object position in O then I(x) is in UI;
if x occurs in a relation position in O then I(x) is in RI;
if x occurs in a function position in O then I(x) is in RI and I(x)
is functional.
This is just a transliteration of your AS&S lexical construction, of
course, but it allows the lexical categories to depend on the way the
symbols occur in O rather than being part of an externally defined
signature.
To emphasize, if I does not fit O then it might as well not be an
interpretation of O - we only care about interpretations which fit -
so we aren't obliged to say how the truth-recursions pan out in those
cases. So we don't need to insert a whole lot of extra stuff into the
interpretations just to avoid having 'empty' denotations.
Now, in the case where we can make lexical assignments, in the style
of your document, then we can incorporate the 'fit' into the very
definition of the interpretation, so we can guarantee that
interpretations always fit, by construction, and then of course we
don't need to mention it further. This is a kind of lexical
context-free notion of fit. But this is an extreme case (the other
is our old wild west CL where everything fits every role, and so
again we don't need to consider explicit fitting, but at the cost of
having to have a lot more semantic machinery to cover the peculiar
cases.) It is not essential that we make the fit lexically explicit
in this way: all the semantic machinery seems to work (this is where
I'd value your opinion, and particularly if you can see any obvious
snag I may have missed) even if the fit is defined contextually, as
long as it is unambiguously determined by the expressions themselves
in all cases.
-----
Moreover, and this is where I'd *really* like your opinion, this
seems to work in a wider range of cases, maybe even on the full WW
syntax, so we could allow variables in function position. Here's how
it would go. Say that I fits O when the above conditions hold not
just for names but for all terms. That is, in particular, if t is any
term in a function position then I(t) must be functional, in order
for I to fit O. This would apply to variable mappings also, so that
the quantifier case in the truth recursion would say that
I('forall (?x1 ... ?xn) s' ) = true when for any variable mapping A
on {x1...xn}, *if [I+A] fits O then* [I+A](s) = true.
where the additional *-* clause ensures that bindings which would put
a nonfunctional relation into a functional position are simply not
considered, so we do not need to worry about what the term would
denote in such a case. Basically, whenever we consider assignments to
lexical entities (names or variables) we always thereby restrict
ourselves to considering only interpretations which fit the
expressions being considered. So rather than insist that all
interpretations provide a 'dummy' functional meanings for all
individuals, just in case that entity gets to be used as a function,
we instead say that any interpretation that tries to use a
non-function as a function is thereby disqualified as a legal
interpretation, since it violates (subtly, but still violates) an
essentially syntactic condition that expressions in a functional
position must denote functions.
Now, this can be extended to more restricted signatures. For example,
suppose we know as a 'syntactic' matter (never mind exactly how, for
the present) that 'R' has to denote, say, a binary relation: then if
ExtI(I(R)) contains any non-pair sequences, then I doesn't fit.
Again, if that information is given as part of a lexicon, then of
course we can incorporate the fitting into the very definition of an
interpretation, rendering the concept unnecessary: but the cost of
this conventional strategy is that we would need to provide a way to
declare arities somehow in any interoperable SCL notation. Whereas,
if we simply provide the special relation symbol Arity, with
appropriate semantic conventions, then this information can be
incorporated into the SCL ontology itself as an assertion: and the
presence in an ontology O of an assertion like
(forall (?x) (iff Arity(R, ?x) ?x=2) )
is sufficient to ensure that any interpretation which satisfies *and
fits* O will have an appropriate extension for R. This avoids the
otherwise somewhat uncomfortable need to make all functions total for
any arity in any interpretation, by the way: if they have an arity
declared, then they need only be functional on sequences of those
arities, since any interpretations which assign them to other kinds
of extension will never make it through the 'fit' defined in the
truth-recursions.
For example, consider:
forall (?f) ?f(?f(@x) @x)
?f occurs in function position, so any interpretation which assigns a
nonfunctional value to ?f does not fit this. An interpretation I
satisfies and fits this when for some variable mapping A on ?f ,
[I+A](?f) fits the whole expression and satisfies the body, which of
course it will when it is functional (for any assignment to @x, ie
for every arity). If there are no such functional relations in RI
then this will not be satisfied by I and so will be false in I. So
this axiom is satisfied by any interpretation which has at least one
fully variadic function (like 'list', for example) in the universe of
relations. Being as it were a functional tautology, this makes
sense, since this obviously ought to entail
exists (?f) ?f(?f(@x) @x)
which simply asserts that such a function exists: and it does.
Notice that it does not assert that all relations are functions,
since the occurrence of the ?f in a function position in the body of
the quantified statement in effect restricts the quantifier to
functional relations. This is the only nonstandard consequence, as
far as I can see: it means that the true range of a quantifier
depends on what kinds of position the variable occurs in in the body
expression. But this is easy to adapt to, once you get used to it;
and it corresponds exactly to the relation/individual case; and of
course it does not affect the FO case at all.
Anyway, this all emerged as a kind of side-effect of trying to write
up the document, so Im going to go ahead with this until someone
tells me I shouldn't or I find some fatal flaw; at which time I will
just revert to not allowing anything but constants in function
position.
Pat
PS. In answer to John's question:
>Question: What if I write (x y z w) in a KIF-like syntax, and x is not
>a relation? Is that false? Or is it syntactically incorrect? Is there
>a distinction between simple falsity and syntax errors? If there is no
>such distinction, what happens if I write (not (x y z w))? Is it true?
the answer that this gives is, is that just writing that down
*asserts* that x is a relation. And if that expression were a term
instead of an atom, then it asserts that x is a function(al
relation). If x is a variable, then the variable is required to range
over relations (which may also be individuals) or functions (which
are relations and may be individuals) respectively. In other words,
the nasty cases are simply ruled out as examples of 'bad fit'. The
difference from a conventional logic is that in general, the
determination of whether this is a syntactic matter or a semantic one
is blurred. In particular cases we can un-blur it (eg a GOFOL syntax)
but having this be the general case allows us to have SCL be
self-describing in a much more uniform way than would be possible in
a conventional framework.
PPS. It occurs to me that this is very like the distinction between a
'static' sorted logic and a language with implicit/dynamic typing: in
fact it is probably a special case of it with just three sorts (or
rather more if distinguish the arities as syntactic fittings.)
--
---------------------------------------------------------------------
IHMC (850)434 8903 or (650)494 3973 home
40 South Alcaniz St. (850)202 4416 office
Pensacola (850)202 4440 fax
FL 32501 (850)291 0667 cell
phayes at ihmc.us http://www.ihmc.us/users/phayes
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://philebus.tamu.edu/pipermail/scl/attachments/20031204/9882781c/attachment.htm
More information about the SCL
mailing list