[SCL] CL Controlled English (CLCE)
pat hayes
phayes at ihmc.us
Sun Dec 21 12:16:25 CST 2003
>Bill,
>
>Re global replacement for "ontology": I would be
>happy with either "theory" or "module".
>
>Re grammar for CLCE: What I've written so far is
>at the end of this note. I'll post a more complete
>version on my web site after I get more comments
>and flack.
>
>Following is the general outline:
Possible renderings as SCL header content interposed.
>
> 1. Monadic relations, such as red(x) or cat(x),
> may be declared as either adjectives or nouns:
>
> Declare red(x) as adjective.
adjective(red)
>
> Declare cat(x) as noun.
noun(cat)
>
> 2. Relations with two or more arguments may be
> declared as relational nouns, functional
> nouns, verbs, or prepositions:
>
> Declare child(x,y) as noun with focus x.
noun(child)
child(x y) implies focus(x child)
>
> Declare mother(x,y) as functional noun
> with focus x.
>
> Declare give(x,y,z) as verb with
> preposition "to" y.
verb(give)
give(x y z) implies to(z give)
>
> Declare between(x,y,z) as preposition.
preposition(between)
scl:arity(between)=3
>
> Restriction: The arguments of a relational
> or functional noun are written as the object(s)
> of the preposition "of". No verb may have a
> preposition spelled "of".
not verb(of)
>
> 3. Functions or relations that may have a
> variable number of arguments are declared
> with three dots in the last argument place:
>
> Declare set(x,y,...) as functional noun
> with focus x.
noun(set)
set(x y @z) implies focus(x set)
> 4. Any functional or relational noun can also
> be used as a monadic relation that is true
> of anything of the same type as its focus.
> For example, mother(x) is true if and only if
> there exists a y such that mother(x,y) is true.
Might be better to use the role-set syntax, then, since this is
open-ended in this way.
mother{x} iff exists (y)( mother(x) &
> 5. The name of a function or relation does not
> have to be the same as the word used in CLCE:
>
> Declare "+"(x,y,z) as functional noun "sum"
> with focus z.
+ = sum
(correct SCL, but yech!!)
>
> 6. There are no pronouns. Instead there are
> variables, which consist of one of the three
> letters "x", "y", or "z" followed by an optional
> string of digits. Anyone who prefers "readable"
> names can write "every cat x" to inroduce a
> variable and "the cat x" to refer to it later.
Hmm. Its hard to express new syntax in SCL
> 7. A list of noun phrases must be enclosed in
> parentheses to distinguish it from a conjunction
> of sentences. Otherwise, all sentences in CLCE
> are punctuated as they would normally be in English.
>
>Examples of CLCE sentences with their translations to
>predicate calculus notation:
>
> 1. Every cat is on a mat.
>
> (A x:cat)(E y:mat)on(x,y).
How did you get the quantifier scopes to work out right?
>
> 2. Some person is between (a rock and a hard place).
>
> (E x:person, y:rock, z:place)(hard(z) & between(x,y,z)).
Consider the English:
There is a rock in the living room. Some person is between the rock
and a hard place.
Can you get 'the rock' to bind to the rock mentioned in the first sentence?
>
> 3. If some person x is the mother of a child y,
> then y is a child of x.
>
> ~((E x:person, y:child)(mother(x,y) & ~child(y,x))).
>
> 4. Every person x has a person y as mother.
>
> (A x:person)(E y:person)mother(y,x).
>
> 5. If x is the set of (a cat, a dog, and an elephant),
> then the cat is an element of x, the dog is an
> element of x, and the elephant is an element of x.
>
> ~((E x0, x1:cat, x2:dog, x3:elephant)(set(x0,x1,x2,x3)
> & ~(element(x0,x) & (element(x1,x) & element(x2,x)
> & element(x3,x)))).
I'd like to see an exact statement of the rules for handling 'the'
and 'a'. I suspect this is going to get very tricky.
>
> 6. For every prime number x, there exists a prime number y
> such that y is greater than x.
>
> (A x:number)(prime(x) => (E y:number)(prime(y) & y>x)).
>
>Following are the grammar rules I've written so far. I don't
>expect the final version to be much longer than this, but
>there may be more revisions and qualifications.
>
>John
>_____________________________________________________________
>
>CompleteSentence ::= Sentence (";" Sentence)* "."
>
>Sentence ::= NounPhrase VerbPhrase
> | "if" Sentence ", then" Sentence
> | Sentence ("," Sentence)* ","? "and" Sentence
> | "either" Sentence "or" Sentence ("or" Sentence)*
> | Sentence "if and only if" Sentence
> | "for" UniversalNP "," Sentence
> | "there" ("is" | "exists") ExistentialNP "such that"
> | "it is false that" Sentence
>
>NounPhrase ::= ExistentialNP
> | UniversalNP
> | FunctionalNP
> | ReferentialNP
>
>ExistentialNP ::= ("a" | "an" | "some") Adjective* Noun
> Variable? Postmodifier?
>
>UniversalNP ::= ("every" | "no") Adjective* Noun
> Variable? Postmodifier?
>
>FunctionalNP ::= "the" FunctionalNoun Variable?
> "of" (NounPhrase | List)
>
>ReferentialNP ::= ("the" Noun)? (Variable | Name)
> | "the Noun"
>
>Note: The scope of a name includes an entire module.
>The scope of a variable in a "for" or "there is"
>prefix extends to the period at the end of a complete
>sentence. The scope of other variables is no farther
>than the nearest ";" or ".", but the next version of
>the grammar will be more explicit.
>
>A referential NP may only occur within the scope of
>the variable or name. The variable or name may be
>omitted if there is only one noun with the same
>spelling within the scope.
>
>List ::= "(" NounPhrase ("," NounPhrase) ","?
> "and" NounPhrase ")"
>
>Postmodifer ::= "of" (NounPhrase | List)
> | "that" VerbPhrase
> | Comparative "than" NounPhrase
>
>VerbPhrase ::= "does not"? Verb (NounPhrase | List)?
> PrepositionalPhrase*
> | "is" "not"? (Adjective | NounPhrase |
> PrepositionalPhrase |
> Comparative "than" NounPhrase)
> | ("has" | "does not have") NounPhrase
> "as" (RelationalNoun | FunctionalNoun)
>
>PrepositionalPhrase ::= Preposition (NounPhrase | List)
>
>Variable ::= ("x" | "y" | "z") Digit*
>
>_______________________________________________
>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
More information about the SCL
mailing list