[SCL] Re: SCL syntax

Pat Hayes phayes at ihmc.us
Wed Mar 3 17:44:12 CST 2004


>I didn't notice any real problems with "Core expression syntax".
>
>I suggest renaming the "atom" nonterminal to "atomsent".

Done in the BNF.  I will need to scour the text to make this change complete.

>The very
>first time I read the document, I briefly thought "atom" referred to Lisp-like
>atoms rather than atomic formulas.  I know better now, but renaming it would
>eliminate the slight possibility of confusion.
>
>The "scl:comment" reserved word is a slight misnomer, since, for example,
>(scl:comment "Axiom 1" (= (* x 0) 0))) is not a comment that can be
>ignored, but rather a sentence with a comment attached.  It would be 
>more precise
>to have a "scl:commented-form" or some such reserved word and write
>(scl:commented-form "Axiom 1" (= (* x 0) 0))).

Or follow the RDF/OWL tradition and have 'scl:about'. Nah.....

>However, this is
>more verbose and adds another reserved word instead of overloading
>the "scl:comment" reserved word used in phrases, so you may prefer
>to leave things as they are.

Yes, leave it alone.  I don't think that this will cause any problems 
in practice.

>In the SCL Kernel, I don't see why commented forms are in the kernel.
>You could omit them from the kernel and give their translation
>K[(scl:comment str s)] -> K[s]

Good point. Done.

>
>In the SCL Kernel translation table, you should add
>K[(forall () s)] -> K[s]

done

>
>In the SCL Kernel translation table, you should replace
>(forall (x) (implies (t x) K[(forall (...) s)])) by
>(forall (x) K[(implies (t x) (forall (...) s))])

Ive changed it to

(forall (x) (not (and (t x) K[(forall (...) s) ] )))

>
>In the SCL Kernel translation table, do you want the translation
>of roleset elements to be translated as (ni ti x) or as (= (ni x) ti)?

Whoops. The latter, right. Done.

>
>Later on in the "Sequence variables, recursion and argument lists" section,
>you should replace
>(iff (= x (list)) (= (cons z x) (list z))) by
>(forall (x z) (iff (= x (list)) (= (cons z x) (list z)))).

Whoops again. Done.

Ive also made the lexical changes you suggested, which simplifies 
things quite a lot . I just LOVE the ... syntax for seqvars.

Thanks for your help.

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 ihmc.us       http://www.ihmc.us/users/phayes



More information about the SCL mailing list