[SCL] Re: Update to SCL-related work

Pat Hayes phayes at ihmc.us
Thu May 20 11:48:01 CDT 2004


>Hi,

Hi Tanel, good to hear from you.

>During the last few days I have significantly
>updated the ECL language (SCL branch).
>
>Have a look at
>http://www.ttu.ee/it/elm/ecl.html

Most impressive. It reads very well, for sure. I like your way of 
handling the abstract syntax as in-line constructors, and how it 
trivializes the CL-FOL translation.

>Main changes:
>
>   - Principal changes in the data type
>     (numbers, strings, etc)  handling.
>   - Chapters for two concrete syntaxes
>   - Adoption of the KIF-like syntax in
>     most examples and axioms
>   - Restructuring the chapters
>
>As said before, it would be great if we
>could ever merge SCL and ECL.

I agree, we should look at this seriously. I'm in the throes of 
making SCL be more XML-based, so that XML is both the interchange 
syntax and also the abstract syntax, and things like your ECL 
notation and the SCL core (and others) are 'dialects' which can be 
seen as ways of rendering the XML. Most of them could literally be 
that, defined by a CSS style document. However on reflection, it 
would be neater to adopt your abstract syntax style, and then have an 
XML encoding of it as a separate matter. That could be the basis for 
a merge, maybe?

>From my viewpoint (other people might have
>very different considerations) the
>following things should be done with
>the SCL draft Pat has been writing:
>
>- Clarification of the basic semantics.
>
>   As it stands now, I cannot really understand
>   all the details there, and this leaves
>   two main possibilities:
>
>    - perhaps the SCL semantics is
>      objectively much more complex
>      than FOL semantics

What it boils down to is that an SCL interpretation is like a number 
of classical FOL interpretations all combined (folded) together.

>    - perhaps it is written down in
>      a far too complex way.

Yes, Im sure it is.  The text is partly the result of my trying to 
explain the (evolving) ideas to myself, and has some legacy from this 
process.

>  IMHO: an easy-to-understand FOL-based
>  semantics is crucial for a language
>  like SCL.

The semantics as it stands is FOL-based. It can't be exactly a 
conventional FOL model theory because we don't have fixed signatures.

It would be considerably simpler if we were to just assume that all 
relations and functions are in the universe. This is what we used to 
do, of course, and (I think) it is what ECL does.  However, the proof 
theory does get strange when we do that, and we lose the 
correspondence to classical FOL (ie, SCL that looks like GOFOL isn't 
in fact what it seems to be. The current semantics preserves GOFOL 
SCL as being indeed classical FOL.)

In terms of your Trad translation, what the current SCL does, in 
effect, is to translate

Trad(Atom_n(e1,...,en)) ==> Atom_n(Trad(e1)....Trad(en))

when  e1 occurs in a referential position, but as

Trad(Atom_n(e1,...,en)) ==> e1(Trad(e2)....Trad(en))

when it does not; and similarly for terms. (More exactly, it ALLOWS 
both such translations in the latter case.) That of course preserves 
SCL-gofol syntax, so if you start with SCL that happens to be 
classical FOL, it stays being classical FOL. Now, to head off your 
objection, this sounds like a very bad idea when described in terms 
of translations, since it means that the translation varies with the 
textual context. And I agree, that would be a bad translation 
strategy for processing SCL in any kind of interoperation setting 
when new information could be arriving later.  However, that isn't 
how its described: and as a model theory, it has the merit of 
supporting a uniform translation (along the lines you describe, but 
paying attention to the need to restrict quantifiers in some cases) 
but also preserving the meaning of classical FO syntax precisely by 
allowing the uniform null 'translation' of classical FO text into 
itself. So how Id describe the SCL==>GOFOL translation is as follows.

1. GOFOL is a subset of SCL syntax, and is FO-satisfiable just when 
it is SCL-satisfiable and with the same interpretations. So SCL 
'contains' GOFOL exactly.

2. In addition, one can translate any piece of SCL syntax uniformly 
into GOFOL using a particular vocabulary based on the abstract 
syntax. This can be done in two ways:
2a (as above) preserves GOFOL syntax and embeds non-GOFOL syntax and 
preserves GOFOL interpretations exactly, but is 
text-context-sensitive (translation of an atom varies depending on 
surrounding text) so unsuitable for some applications
2b (as in your document) is simpler to describe, embeds all syntax 
uniformly and is context-free, but does not preserve GOFOL meanings 
exactly because in some cases it enlarges the universe. There are 
several ways to handle this, of which the one you prefer is to 
distinguish two kinds of equality and the one I prefer is to 
introduce a type of 'real things' to delineate the original FO 
universe, and restrict the translated quantifiers to that domain.

However, whatever we do, I would like it to be that the SCL standard 
*allows* the expression of classical FO syntax without requiring it 
to be re-understood as having an enforced non-FO semantics, or to be 
uniformly translated into a relation-embedded form. Right now, as I 
understand it, that option isn't available in ECL.

>- Equality confusion solved.

I really don't think there is any equality confusion. Equality means 
what it usually means, i.e. I('x=y') = true when I(x)=I(y). The issue 
you have always raised is not two kinds of equality, but two notions 
of what is in the universe (GOFOL individuals only, or also including 
relations). This can be expressed in terms of equality since (x 
exists) is the same as (x=x) , but that is misleading. Equality is 
the same on both universes: there aren't two notions of equality.

>As it stands
>   now, many of the complexities in the
>   semantics seem to be motivated by the
>   desire to fight the Horrocks sentences,
>   which is purely a problem with equality
>   axiomatisation.

It runs deeper than this. Its a problem with the size of the 
universe. Its true that without equality there is no way to 
axiomatically enforce a finite universe, so the examples all use 
equality, but the meta-theoretic point they illustrate holds true 
even for the logic without equality. What we want is that if some SCL 
text is GOFOL, then its FO models are among its SCL models. The 
Horrocks sentences illustrate the objection that with the former SCL 
semantics, this is not the case (because the relations had to be in 
the universe).  It would still be a valid objection in the logic 
without equality. That is what was unacceptable (and is now fixed), 
not a specific equality issue.

>The current SCL
>   approach seems to be the requirement
>   to declare some predicates and functions
>   in a special header,

I will abandon the header idea in the first draft, as it will take 
too long to get the wrinkles sorted out.  For a truly viable Web 
logic I think something like that will be needed, however.

>which I think is
>   a very bad idea (unless the declaration
>   is optional, in which case it is fine).

It always was intended to be optional.

>- Annotations (at least comments) added.

We have those in the SCL core. In the XML they come for free in any case.

>- Crucial data types fully axiomatised,
>   at least numbers, strings and lists.

Right, this needs to be done. It is straightforward, however. There 
is a general scheme for any such axiomatization: it can be infinite, 
remember :-).

Pat


>
>Regards,
>              Tanel Tammet


-- 
---------------------------------------------------------------------
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



More information about the SCL mailing list