[SCL] Re: Observation
pat hayes
phayes at ai.uwf.edu
Fri May 30 09:54:32 CDT 2003
>>Right. Slightly odd suggestion: make Rel be true of all sequences
>>of things in the intersection of I and R, and make it be false
>>(even of the empty sequence) if there aren't any. That way, one
>>could write Rel(P Q R ...) to 'declare' a lot of them at once, and
>>more pointedly, (not Rel( ) ) is true inside GOFOL, not otherwise.
>>so it can be used to say that one is inside the GOFOL sublanguage.
>
>Can do that.
But read on before you do :-)
>
>>>I think we were a little unclear on the following point yesterday. So
>>>long as "P" has been designated a constant in our particular SCL
>>>language, we get all theorems of the form:
>>>
>>>...P... -> (EF)...F...
>>>
>>>e.g.,
>>>
>>>Px -> (EF)Fx
>>>
>>>regardless of whether or not "P" occurs as an argument to another
>>>predicate in our axioms somewhere.
>>
>>Seems to me that this brings back the Horrocks sentences.
>
>No, not for "traditional" first-order SCL languages, i.e., SCL
>languages in which no predicate constants are simultaneously
>individual constants (and in which one does not allow variables in
>pred position).
We really have to stop talking in this way. There really is only one
SCL language, which can be used with various vocabularies. If some
property of a sublanguage is different from that property of the full
language in a way which is semantically visible, then the sublanguage
needs to be clearly recognizable in some way.
> The point Ian seemed to be making against SCL was that there are
>sentences in HIS familiar first-order language that suddenly change
>their logical properties when you interpret THAT VERY LANGUAGE via
>SCL model theory. Not so on our latest SCL model theory in which the
>relation between R and I is unspecified. The logical properties of
>a traditional first-order SCL language are identical whether
>interpreted a la Tarski or a la SCL. What you *can't* do is start
>with a gonzo type-free SCL language and expect that a superficially
>traditional first-order sentence ripped from that context will have
>the same logical properties when interpreted a la Tarski.
Ah, but that is what Ian WOULD expect. The point is that all
sentences one comes across are 'ripped' from their context in this
way: there are no contexts on the Web. There are only sentences. Or,
to put the same point differently, if it looks like first-order, then
it IS first-order. Or to put the point differently again: it must be
possible to recognize the intended context simply by parsing the
sentences. A file of sentences must be interpretable in one definite
way without any other information being made available that is not
somehow encoded in the form of the expressions in that file. To make
that possible is the minimal task of a web-logic syntax and model
theory. Now, in addition, there are strong engineering reasons why
this should not be done by having 'headers', since that requires
information to be conveyed only in large file-size units, which is
anathematic to the basic design assumptions of the semantic web. So
we are winning when we can provide a single model theory that works
for all SCL expressions without any further stipulations; SCL
sublanguages can be recognized simply by parsers, ie are defined
purely by local syntactic constraints, and moreover those
sublanguages have a semantics which is (isomorphic to) the SCL
semantics restricted to the syntactic subcase (ie if the syntactic
restriction automatically encodes any . If this requires that the
sublanguage in fact be a small subontology, as with the suggested use
of Rel, then I reckon we ought to as far as possible absorb these
little extensions in to the core language, so this ought to be
scl:Rel and be given its semantic burden as part of the core model
theory. That way, SCL has all the tools it requires to present its
sublangauges to the world. I am pretty sure that we can do all the
cases we are interested in with just a few of these: we decided a
while back that Rel or something like it was going to be needed for
GOFOL expressivity in any case, right?
BTW, yet another tweak occurs to me. Having Rel in GOFOL as a
predicate is illegal of course since there isnt anything there for it
to be predicated of. Maybe it would be better - I think we had this
idea a while back - to use its complement as the primitive, so that
scl:Ind is true of items in I that are NOT in R. Then the GOFOL axiom
is (forall (?x)(scl:Ind(?x)) and the quantifier is GOF-ok; and
outside GOFOL we can define Rel by
Rel(?x) iff not scl:Ind(?x)
(and then for sequences by the usual induction, if required.)
That avoids the need for that odd empty-case hack and the potentially
problematic use of a nullary relation, which might break many
conventional FOL parsers. In the GOFOL model theory that axiom is
vacuously true, but in SCL it serves to restrict the satisfying
interpretations to those which are isomorphic to GOFOL
interpretations.
This has the merit that one can take any expression written in
GOFOL-SCL (we need a less insulting name for this subcase, btw) and
map its content back into the full language by restricting its
quantifiers with scl:Ind, providing a nice interoperability mapping
between SCL and GOFOL. (The reverse mapping makes the restrictions
vacuous because of the GOFOL axiom.) This is actually one case of a
more general phenomenon, which is to map between SCL ontologies A and
B by restricting the quantifiers in A to the universe of A described
in B.
> But I can't see that THAT is any more problematic than the fact
>that you can't rip an arbitrary sentence out of a context in which
>it is interpreted according to the model theory for, say, free logic
>and complain that its logical properties are different interpreted a
>la Tarski.
You could complain if one of these was already an accepted standard
and the other came along with an identical syntax but a divergent
semantics. That would be an engineering/interoperability disaster and
one of them (probably the later arriviste) would almost certainly be
changed to avoid this situation. There are high-level engineering
coordinating committee structures in place to look out for such
disasters and to prevent them happening, eg the W3C TAG group.
> If you want to pull a sentence from an arbitrary SCL language into
>a traditional first-order framework, you'll have to use an App/Pred
>translator or restricted quantifiers.
>
>>>Being a possible argument is not a
>>>property conferred upon an expression in real time, so to say, but ahead
>>>of time in virtue, before we write anything down, in virtue of
>>>stipulating that the given expression is a constant.
>>
>>Well, Im not sure what this stipulating amounts to.
>
>Same as with any language. This is the standard way in which a
>language is defined. Granted, we're thinking about the web where
>these matters aren't always so neat...
Yes. You and I constantly get into trouble over this point. I know
this is the 'standard' way in logic textbooks that this is done, but
those textbook uses of logic just assume it is being used by some guy
with a pencil somewhere. The world has changed. To hell with it
being a "standard" way: the question is, does it make sense in our
context? And the answer is no, and moreover it hasnt made sense ever
since formal logics were first put into computers, but it hasnt
really mattered until the Web arrived, so nobody made much of a fuss
about it. The textbook writers don't know computation from a hole in
the ground and the computational logicians just quietly ignored this
way of talking. But the idea that a particular vocabulary defines a
unique 'language' is silly when one is writing parsers and inference
engines which work for all such 'languages' (its like saying that
every set of Java identifiers defines a new programming language) and
it becomes downright mistaken when one is writing code which is
expected to deal with syntactically correct SCL arriving from
anywhere on the planet. Vocabularies are just not part of what can be
built-in: we cannot POSSIBLY have each vocabulary is considered to
be a distinct language with potentially its own semantics. We are
trying to define a format in which logics can be used as a basis for
*communication*, right?
(BTW, this logician's use of the word 'language' is a local
aberration in any case; it doesnt fit with the way that 'language' is
used in linguistics, for example, and it doesnt fit with the way that
formal logic is used to model and describe mathematics; we don't
usually consider that a mathematician who says, 'let S be a set' is
defining a new 'language'. )
>>Like, here I am, a softbot somewhere, and I come across a piece of
>>SCL: how do I know which of the relation symbols have been
>>designated a constant? Designated where, and by who? I think we
>>have to have some way of recognizing from the syntax how to
>>interpret the language. If that requires knowing what has been
>>stipulated, then the syntax has to have a way to indicate
>>stipulation.
>
>I think that is exactly what we will have to say, else there will be
>no way out to avoid Horrocks sentences.
I really think we can do better than that. In fact, I think you
already DID do it better :-)
Pat
--
---------------------------------------------------------------------
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 ai.uwf.edu http://www.coginst.uwf.edu/~phayes
s.pam at ai.uwf.edu for spam
More information about the Scl
mailing list