Comments to [[SCL] new version improved slightly]
pat hayes
phayes at ihmc.us
Sun Dec 21 12:51:35 CST 2003
>Hi,
>
>pat hayes wrote:
>
>>The document at
>>
>><http://www.ihmc.us/users/phayes/SCL_december_2.HTML>http://www.ihmc.us/users/phayes/SCL_december_2.HTML
>>
>>has some bugs fixed and a diagram to help see the relationship to
>>the presentation in your document.
>>
>>Comments/feedback would be very welcome whenever you (or anyone) has them.
>>
>Some comments, suggestions and questions follow.
>
>The general feeling I have about this: the basic stuff looks nice. IMHO some
>smaller changes etc would be good (since it is an early draft, it
>obviously needs
>work
Quite.
>, and I be happy to help if I get some directions, more about that later).
>More modularisation in presentation would be IMHO good when we move
>closer to the final spec.
Yes, others have commented on this. I know I tend to write in a
streaming fashion rather than in modules; it is hard for me to change
at this stage.
>
>Some important issues are not covered
Oh, MANY are not yet covered. I am still writing.
>in the spec yet and I am a bit worried about
>how to approach these. I know how I'd approach them, but as we have seen,
>this is not necessary the approach Pat or Chris would prefer.
>
> I' ll give the details in the following, starting with smaller
>suggestions and then moving to more substantial issues.
>
>
>1) Terminology.
>
>I am not very happy with "skin", since it is normally
>used in UI talk, not language talk. Everybody will understand it of course,
>just feels a bit out of place (although certainly survivable).
Yes, others have commented negatively on this. I thought it was
amusing, but I was alone. I plan to change this to 'dialect' to keep
the metaphor linguistic in nature.
>The "ontology" vs theory or module has been talked about on the list.
>I'd prefer theory, module being the second, and I do not particularly
>like "ontology". Ontologies are theories of a specific kind, whereas
>we are NOT assuming that only theories of a specific kind can be
>imported. "Ontology" is not recognised as a neutral piece of terminology.
See earlier message. It is so recognized (and indeed used) in all the
communities I have dealings with. And now that the SW has become a
hot topic among Webbies, this terminology is becoming used in venues
all over the planet and in many communities, whether we like it or
not. 10|5 XML enthusiasts can't be wrong....no, strike that, they can
be *wrong*, but trying to correct their English is a losing
proposition.
>2) Syntax:
>
>A) The examples are given mostly in "core syntax", with term/atom defined as
><term> ::= <term>( <term>* <seqvar>? ) | <name> | <specialname>
>and examples like "married(Jack Jill)".
>
>I suggest to change this core syntax by adopting the convention of using
>commas between terms in a sequence. Then we'll have the ordinary
>prefix syntax as
>core syntax. The current core syntax is an uncommon compromise between
>S-expression and prefix syntax.
Indeed, Im not happy with it.
>
>Alternatively, if you do not like ordinary prefix syntax as core,
>let us rather use
>s-expressions like KIF then.
Yes, I was trying to be too 'clever' here by inventing a more
readable syntax. I think we should stick to KIF-style syntax for the
core. I plan to rewrite this up today.
>
>B) Related to this, I could not really understand the syntax definition
><term> ::= <term>( <term>* <seqvar>? ) | <name> | <specialname>
>since it DOES NOT specify any separators (comma, whitespace?).
As noted, the syntax does not handle whitespace properly and needs fixing
>C) Core syntax as presented avoids explicit "forall" and uses
>complex infix syntax a lot
>(=, iff) making it hard to parse. I'd suggest avoiding any infix
>syntax in core
>and using explicit quantifiers always: parsing will be much simpler. We can
>have more user-friendly syntaxes anyway, there is IMHO no need to put
>any nontrivial sugar into the core syntax.
I have come to agree. I was torn between keeping the core small (the
kernel) and easy to work with formally (KIFfish) on the one hand, and
having a 'readable' syntax to present examples in the text, on the
other hand. I know that for many readers, the sight of too many
nested parentheses is a strong turn-off for readability.
>
>3) Comments and headers and topsentences etc.
>
>There is no talk about how comments and metainfo should be given.
>Comments have to be put back into the core, preferrably into
>the kernel.
I have a suggestion, which is that they are not in the kernel (since
they have no semantics) but that any dialect may include material
which does not parse to the kernel, and that is 'invisible' to SCL.
THis allows any dialect to include comments and meta-info freely,
using any non-SCL syntax. Do you think the core/kernel should provide
an explicit comment syntax also?
>Although I understand the principal need for headers, the current
>talk about headers (unavoidably) stops too early. There is no indication about
>what and how should be put there, and as such, one cannot use the
>headers.
I am writing that stuff now.
>
>I'd rather see the headers and comments merged into one. Comments
>should have no semantics for SCL (they should have semantics at the
>level outside the scope of SCL). Since any headers can be written as comments,
No: headers *do* play a semantic role. That is the reason for the distinction.
>I think we should not separate them. Comments are IMHO enough.
>
>If/where they are not enough, then I am afraid that headers will
>work neither.
>
>As an example, consider http. The type of a body part of a http response
>(gif, jpg, html, txt, doc etc) is NOT given as part of the body. It is
>given as content-type in the http headers, which is on a _different_ level
>than the http body itself. Similarly, any "headers" should IMHO be either
>given as comments or they should not be at the SCL syntax level at all.
>
>As another example, you just cannot declare
>in XML text itself that now we are going to have something in arbitrary
>NON-XML: this non-xml might contain less-than etc symbols, breaking the XML
>syntax of the whole text.
>
>I am also not sure we should use topsentence and allow imports at
>top level only.
>IMHO we could allow import in any place, not just top level. This would
>make the kernel more flexible while syntax is actually simplified.
I cannot make semantic sense of
(not (import <ontology:foo>) )
If you can, I would be grateful for an explanation. (Also inside
disjunctions, for example.)
>4) Relations to TFOL
>
>My pet issue has been the relation between SCL and traditional FOL.
>
>The exact translation algorithms TFOL->SCL and SCL->TFOL have
>to be a part of the SCL spec.
>
>Now, despite the seemingly obvious nature of these algorithms (holds
>app stuff etc)
>we have had remarkably different (and strong) views on how these translation
>algorithms should look like.
>
>Until these translation algorithms are there, I am not at all
>confident that I understand
>this (or any other) SCL presentation as it is meant to be
>understood, and I am not
>confident that no major blunders have crept in.
>
>IMHO these translation algorithms are a first priority.
Im working on it. It will be there. See below for sketch.
>
>5) Equality
>
>The current presentation avoids equality issues.
It defines equality: what issues did you have in mind (apart from
those that arise in your previous point)? Semantically and
syntactically, equality gives rise to no problems. Computationally
it is very tricky, I know.
> Like relations to TFOL,
>these issues have been a major source of problems during the whole
>SCL process.
>
>Again, until the equality issues have been covered in the spec, I am
>not at all
>sure that we understand the presentation as it is meant to be
>understood or that
>the presented semantics will work out without any crazy tricks.
>
>The equality would be the second priority after the TFOL relations.
>
>6) What to do next
>
>Pat: now that you have this nice draft
It is not COMPLETE yet. I am working on it. I'll let y'all know when
it is finished.
>, what are you planning to improve
>yourself and what could be left to other people?
I was planning to try to finish it in outline, with some parts rather
sketchy, and ask for volunteers to fill out the text in various
palces. And suggest changes/improvements, etc. , of course: though we
need to try to keep internal consistency of terminology.
The document itself needs all kinds of work, including most notably
internal HTML links from terms to their definitions. I will do that
stuff after getting the writing done.
> Chris: how is your workplan?
>
>I' d be happy to help writing, but we need to fix some plan for
>this. The precondition
>of the plan, as noted before, is the common understanding of how
>this draft SCL
>relates to TFOL and how is the equality handled.
I'll try to get a sketch of this done in the next few days. It will
be based on these observations:
0. A GOFOL SCL ontology is one with a 'standard FO header' which
asserts not(scl:Ind(x) & scl:Rel(x)) and assigns the appropriate
category to every name in the lexicon.
1. It is always possible to merge a header into the body and have a
blank header, but the universe is enlarged; so to retain the old body
quantifiers, one needs to restrict all quantifiers to a class called
'ind' (not scl:ind) which represents what scl:Ind meant in the
previous ontology.
2. scl:Ind used in a body can be rendered as scl:Ind(x) iff (x=x), ie
using equality.
3. For a headerless ontology, the hold/app translation for the logic
without equality is kind of obvious
4. Putting these observations together, with a bit of care, the
quantifier restrictions for the holds/app translation (which is a
very particular kind of translation, obeying a very regular pattern)
can be captured exactly by (a) mapping equality to equality' (*not*
using holds/app) where (b) equality' is equality but restricted to
apply only to things not in the first position (since the others
would fail the quantifier restriction - which can now be rendered as
(x =' x) - and for these it would be the trivial restriction x=x.)
This can all be stated by adapting the 'position' terminology to the
holds/app translation: the things in the first position after the
holds or app are those that map from relation/function position in
the original ontology, so the original fitting requirements (which
were pretty trivial for GOFOL, but still were there as lexical
restrictions) translate into conditions on those new positions.
Im sure you grok this, since I learnt it from you, though the
terminology may be different. If you feel like writing it up, that
would be great.
>
>Regards,
> Tanel
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>_______________________________________________
>SCL mailing list
>SCL at philebus.tamu.edu
>http://philebus.tamu.edu/mailman/listinfo/scl
--
---------------------------------------------------------------------
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/20031221/5942e96b/attachment-0001.htm
More information about the SCL
mailing list