CE Summary 04b

29
ITA P12 Task2 Summary of Controlled English (v0.4) 1 Introduction Controlled English (CE) is a type of Controlled Natural Language (CNL), designed to be readable by a native English speaker whilst representing information in a structured and unambiguous form. It is structured by following a simple but fully defined syntax, which may be parsed by a computer system. It is unambiguous by using only words that are defined by the analyst as part of a conceptual model. CE therefore serves as a language that is simultaneously understandable by human and computer system, thus facilitating the communication between them. The CNL used in ITA project 12 is based upon a draft proposal for Controlled English [CE], defined by John Sowa as a human-friendly version of Common Logic [CL]. During the use of CE in project12, and in several transitions projects, some additions and modifications were made, to the extent that we now use a different “dialect”, herein called ITA Controlled English. All references below in this document are references to ITA CE. Experience in using ITA CE within the Project 12 planning work and on several transition projects suggests that CE is of significant benefit, in the following ways: it permits the use of a single language that is used by both human and machine, encouraging the development of novel hybrid ways of reasoning it facilitates the development and understanding of logical conceptual models containing both structures and logical relationships it facilitates the viewing, construction and understanding of rationale This document describes the current syntax of CE, provides an informal introduction to its use, and offers an initial mapping between the syntax and predicate logic, thus providing an initial semantics for the CE sentences. D Mott, IBM UK 1 27/07/2010

description

CE Summary 04b

Transcript of CE Summary 04b

Page 1: CE Summary 04b

ITA P12 Task2Summary of Controlled English (v0.4)

1 IntroductionControlled English (CE) is a type of Controlled Natural Language (CNL), designed to be readable by a native English speaker whilst representing information in a structured and unambiguous form. It is structured by following a simple but fully defined syntax, which may be parsed by a computer system. It is unambiguous by using only words that are defined by the analyst as part of a conceptual model. CE therefore serves as a language that is simultaneously understandable by human and computer system, thus facilitating the communication between them.

The CNL used in ITA project 12 is based upon a draft proposal for Controlled English [CE], defined by John Sowa as a human-friendly version of Common Logic [CL]. During the use of CE in project12, and in several transitions projects, some additions and modifications were made, to the extent that we now use a different “dialect”, herein called ITA Controlled English. All references below in this document are references to ITA CE.

Experience in using ITA CE within the Project 12 planning work and on several transition projects suggests that CE is of significant benefit, in the following ways:

it permits the use of a single language that is used by both human and machine, encouraging the development of novel hybrid ways of reasoning

it facilitates the development and understanding of logical conceptual models containing both structures and logical relationships

it facilitates the viewing, construction and understanding of rationale

This document describes the current syntax of CE, provides an informal introduction to its use, and offers an initial mapping between the syntax and predicate logic, thus providing an initial semantics for the CE sentences.

Some of the content of this document has come from work undertaken during the UK Pathfinder II transition contract project.

D Mott, IBM UK 1 27/07/2010

Page 2: CE Summary 04b

ITA P12 Task2Summary of Controlled English (v0.4)

2 ITA Controlled English

This section defines the syntax of ITA Controlled English, as of 28th April 2010, by specifying the grammar using the following conventions:

a literal, standing for itself is enclosed in quotes: ‘the’ a nonterminal, standing for further structure, is any word not enclosed in

quotes: Paragraph a space, specifying the concatenation of terms: ‘the’ NounP Name alternatives are specified by a bar, enclosed in parentheses: ( ‘true’ | ‘false’ ) optional structures are contained in parentheses followed by a ?: ( ‘on’

DateTime )? repeated structures, where zero or more repeats are acceptable, are contained

in parentheses followed by a *: ( ‘and’ BracketDS )*

For each structure the linguistic purpose is stated, providing an informal specification of why the structure is used. In addition each subsection is introduced with some examples of the relevant structures, providing an overview of the meaning of the structures.

It should be noted that the use of CE in the ITA project is ongoing research, and the specification has gaps, overlaps and inconsistencies of style in certain areas. Furthermore some of the constructs are experimental placeholders and have not been integrated to the inferencing component, and are not therefore yet useful. These experimental features are noted where appropriate. It is anticipated that further use of CE in ITA projects will lead to future enhancements, modifications and simplifications.

2.1 Lexical categoriesA number of syntactic items are defined as primitives, without further syntactic structure. The mechanism by which the words are added to the lexicon are not here defined, it is possible that they are defined as a fixed list (as in the ITA) or from the set of “conceptualise” statements (see below).

Category Linguistic PurposeNoun To name the type of an object, as defined in the lexicon of

the ontologyFunctionalNoun To name a “has-as” property, as defined in the lexicon of the

ontologyVerbSing To name a relationship between two objects, as defined in

the lexicon of the ontologyAdjective To name a property, as defined in the lexicon of the ontology Variable To refer to an object that is not specifically named but is at

some stage associated with the variable. A variable must comprise only uppercase alphacharacters or numeric characters

Name To name an instance of an objectOp To reference an infix mathematical operator: +, - , *, /DateTime To name a date/time

D Mott, IBM UK 2 27/07/2010

Page 3: CE Summary 04b

ITA P12 Task2Summary of Controlled English (v0.4)

QUOTE A quoted string, indicating unstructured text, e.g. “I told you so”

CV A certainty value

All of these categories are in the form of a string of characters. QUOTE and Variable have further restrictions as noted in the table. If this sequence is to contain characters other than alphanumerics, then they should be contained with single quotes, eg ‘The Commander’. Uppercase and lowercase may be used, and the items are case sensitive.

2.2 Phrase Structure Rules (in EBNF)The following sections describe the different type of the CE sentences. However every CE sentence must end in a full stop:

CESENTENCE .

2.2.1 Propositions and Meta StatementsPropositions define facts that have the potential to be true, for example “the person Fred has the person Joe as brother”. These may be statements of entity existence (and type):

there is a person named Fred.

or of possession:

the person Fred has the person Joe as brother. there is a person named Fred that has the person Joe as brother.

(In most cases there is no distinction between these two sentences, the only case where there is a difference is when this proposition occurs on the conclusion of a logical rule, see below. However the structure “the person Fred” on its own is not permissible.)

These possessions may be other entities, such as Fred above, or constants:

the person Fred has ‘24’ as age.

Propositions may be defined in the form of relations:

the person Fred is married to the person Jane. the agent Commander executes the plan order1.

Here the relation may be defined as a transitive verb (executes) or a more general relation (is married to).

Meta statements specify information about propositions, such as their truth status:

it is false that the person Fred is married to the person Jane.

or that they are assumptions:

D Mott, IBM UK 3 27/07/2010

Page 4: CE Summary 04b

ITA P12 Task2Summary of Controlled English (v0.4)

it is assumed by the agent A that the person Fred is married to the person Jane.

or that they have a source:

the user U1 states that the person Fred is married to the person Jane.

after reading the document d1 the user U1 states that the person Fred is married to the person Jane.

or that there is uncertainty associated with the proposition:

it is true to degree A2 that the person Fred is married to the person Jane.

These meta statements may be concatenated:

the user states that it is true to degree A2 that the person Fred is married to the person Jane.

it is assumed by the agent A that it is false that the person Fred is married to the person Jane.

A concept of a “general proposition” is also defined as being either structured (i.e. the examples above) or unstructured (i.e. a double quoted string). This concept allows a meta statement about an unstructured proposition:

it is true that “I told you so”.

as well as the use of unstructured propositions in rationale, as noted below. However it should be noted that, currently, the generalised proposition may only be used in certain places; it is intended that this limitation will be addressed in the future.

Structure Linguistic PurposeParagraph -> To specify a proposition optionally in a

context (defined by the ReferentialNP);to specify a query

( ‘in’ ReferentialNP ‘,’ )? Declarative1 |

QuerySentence -> Declarative To specify a single proposition. Declarative -> Source ‘states’ (‘on’ DateTime)? ‘that’ Declarative |

To specify a single proposition as: something stated by a source (optionally at a time); a simple statement (optionally annotated with a name); a causal statement (optionally annotated); a conditional statement; a Boolean expression of statements linked by And/or; a new conceptualisation statement

SimpleDS ( ‘[‘ Name ‘]’ )? |CausalDS ( ‘[‘ Name ‘]’ )? |IfDS |AndOrDS |IffDS

SimpleDS -> ( ‘on’ DateTime )? (‘at’ Location )? SimpleDS |

To specify a single proposition as: a simple statement (optionally with a date and time and location); a statement that an entity exists; a

‘there is’ ExistentialNP |NounN VerbP |

1 There is a capability for CE to allow a list of Declaratives separated by semi-colon, However this has been removed due to efficiency reasons. It may be possible in the future to revise the parser code to re-introduce this facility.

D Mott, IBM UK 4 27/07/2010

Page 5: CE Summary 04b

ITA P12 Task2Summary of Controlled English (v0.4)

statement that an entity does something; that a statement is true false or unknown; that a statement is possible (this is experimental and not integrated to the inference engine); that a statement is assumed by an agent; that a statement may be assumed; that an agent has made a decision; that a statement has been asserted (optionally by an agent)statement of belief by an agent (experimental); that the proposition is supported by a set of assumptions; that a proposition does not require assumptions for its support; that a proposition is true or false or unknown to a certain degree; that a proposition has (under the current set of assumptions and inferences) a truth value to a certain degree

‘it is’ (‘true’ | ‘false’ | ‘unknown’ ) ‘that’ GeneralProposition |

‘it is possible that’ SimpleDS |‘it is assumed by’ NounP ‘that’

GeneralProposition |‘it can be assumed that’ SimpleDS |‘it is decided by’ NounP ‘that’

SimpleDS | ‘it is asserted’ ( ‘by’ NounP)? ‘that’ SimpleDS |

NounP Belief SimpleDS | ‘that’ SimpleDS ‘is currently not based on assumptions’ ‘that’ SimpleDS ‘is currently supported by’ AssumptionList ‘it is’ (‘true’ | ‘false’ | ‘unknown’ ) ‘to degree’ CV ‘that’ GeneralProposition | ‘that’ SimpleDS ‘is currently’ (‘true’ | ‘false’ | ‘unknown’) (‘to degree’ CV)?NounP -> ExistentialNP | The denotation of an object either by a

description or by a specific referenceReferentialNPSimpleNP -> ‘(‘ SimpleNP ‘)’ | The reference to an object, but with an

arbitrary number of nested brackets in order to assist disambiguation of syntax (such as and/or)

ExistentialNP |ReferentialNP

ExistentialNP -> Referencing an entity via its description without referring to it by name

(‘a’ | ‘an’) Description

Description -> A description of an entity by type of name or by related informationNoun |

Noun NameDecl? RelativeClause? NameDecl -> A identification an entity; a variable

that is used in a rule to refer to the identity; a name by which the entity is known, but not uniquely identified

‘named’ Name | Variable |

‘known as’ NameRelativeClause -> A description of further information

about an entity; an unstructured description of the entity that allows structured and unstructured information to be mixed.

‘that’ VerbP ‘described as’ QUOTE

ReferentialNP -> A denotation of a specific entity or entity representing a class, via a name or a variable bound to the name or via a variable bound to the entity itself; or via a name that is commonly used, but that does not unambiguously identify the entity, in effect this is an unidentified individual

‘the’ Noun ( Name | Variable) |Variable |

‘the type’ Noun |‘the’ Noun ‘known as’ Name

VerbP -> SimpleVP ( ‘and’ SimpleVP )* A conjunction of verb phrases, separated by “and”

SimpleVP -> ( ‘has’ | ‘does not have’ ) SimpleNP ‘as’ FunctionalNoun |

A single verb phrase indicating a relationship to an entity, either as a named property, or an unnamed property or being mathematically equal to a mathematical expression or a predication or a verb relationship; or an unstructured description of a verb

‘has’ Word ‘as’ FunctionalNoun |‘has’ SimpleNP |‘=’ MathExpr |‘is’ PredComp |VerbSing VerbComp |

D Mott, IBM UK 5 27/07/2010

Page 6: CE Summary 04b

ITA P12 Task2Summary of Controlled English (v0.4)

phrase or a property phrase. Note that these latter two are experimental and have not been full integrated into the inference engine.

‘is described as doing’ QUOTE | ‘is described as having’ QUOTE

PredComp -> SimpleNP | A specification of something which may be predicated of the entity. Note that the adjective is experimental and is not integrated to the inference engine

Adjective

VerbComp -> SimpleNP The entity that is the range of the verb relation (in the context of the SimpleVP expression) whose range is the contextual noun

MathExpr -> SimpleNP Op SimpleNP A definition of a binary mathematical expression on objects

Belief -> ‘knows that’ | Different types of belief. Thee are experimental and are not fully integrated into the inference engine.

‘does not know that’ | ‘believes that’ | ‘does not believe that’ | ‘is told by’ NounP ‘that’

‘is not told by’ NounP ‘that’Source -> NounP | The agent entity (NounP) that is the

source of a statement, optionally preceded by a textual reference that caused the agent to make the statement

( ‘after reading’ Document )? NounP

Document -> ‘the document’ Name | A textual reference is either a document or a section in a document or a sentence in a section or a sentence in a document.

‘the section’ Name of ‘the document’ Name | ‘the sentence’ Name of ‘the section’ Name of ‘the document’ Name | ‘the sentence’ Name of ‘the document’ NameLocation -> NounP A location in spaceAssumptionList -> ‘the assumption by’ NounP ‘that’ SimpleDS ( ‘and the assumption by’ NounP ‘that’ SimpleDS )*

A list of propositions each of which is assumed by an entity

GeneralProposition -> (SimpleDS | QUOTE) A general definition of a proposition as either structured (SimpleDS) or unstructured (QUOTE).

2.2.2 Logical RulesA logical rule is a relation between a set of premise propositions, and a conclusion proposition:

if ( the person X has the person Y as brother ) and

( the person Z has the person X as father ) then ( the person Z has the person Y as uncle )

.

Note:

D Mott, IBM UK 6 27/07/2010

Page 7: CE Summary 04b

ITA P12 Task2Summary of Controlled English (v0.4)

the brackets must be present around each proposition there must be a space surrounding the brackets only a single proposition may be contained in the conclusion in the context of a logical rule, the names (X, Y Z) are treated as variables to specify a constant the expression “the constant XXX” must be used

(without the double quotes); to specify a variable that is to be matched to a value that is untyped (e.g. a string) then the expression “the value V” must be used (without the double quotes)

There is a difference in the conclusion between “the person X … “ and “there a person named X that …”. The former asserts the proposition about the entity X, whereas the latter asserts the existence of the entity X. Special processing is used to handle the matching of this new entity to any existing entities that might be the same, as discussed in the logical section below.

Structure Linguistic PurposeIfDS -> ‘if’ Declarative ‘then’ BracketDS A logical inference (rule) between a

premise and a conclusionBracketDS -> ‘(‘ ( SimpleDS | IfDS | AndOrDS ) ‘)’ The addition of brackets in order to

disambiguate structures such as and/or

AndOrDS -> BracketDS ( ‘and’ BracketDS )* A Boolean expression (using and) of simple propositions

2.2.3 RationaleRationale is the set of reasoning steps, where each step is defined as a “because” relation between multiple premises and a single conclusion. These are general propositions so may be structure or unstructured, or any combination of these:

the person Fred has the person John as uncle because

the person James has the person John as brother and the person Fred has the person James as father.

the person Fred has the person John as uncle because “John told me so”.

“the plan has failed” because “there was a misunderstanding”.

Note that unlike the logical rules, there are no brackets on the premises.

Structure Linguistic PurposeCausalDS -> GeneralProposition ‘because’ GeneralProposition ( ‘and’ GeneralProposition )*

Specifying a causal dependency between a premise (after the ‘because’) and a conclusion (before the ‘because’)

D Mott, IBM UK 7 27/07/2010

Page 8: CE Summary 04b

ITA P12 Task2Summary of Controlled English (v0.4)

2.2.4 Conceptualise StatementsThe conceptual model, or ontology, may be defined in CE as “conceptualise” statements. These define new types, properties and relations, in terms of the linguistic terms and phrases that are to be used in CE. Note that the basic syntax is unchanged by these definitions. Mechanisms for changing the CE syntax by the user are given in the section on CE extensions.

A new conceptual type, for example a “teacher” may be defined as a subtype of person:

conceptualise a ~ teacher ~ F that is a person.

This permits the construction of new valid CE sentences such as:

there is a teacher named MrChips .

Further properties, together with the type of the property, may be defined:

conceptualise a ~ teacher ~ T that

has the person P as ~ manager ~ and has the value V as ~ language ~

.

Now we can write:

the teacher MrChips has Chinese as language and has the person DrBoss as manager.

Other relations may be defined:

conceptualise the teacher T ~ teaches ~ the person P

.

allowing the sentence:

the teacher MrChips teaches the person John.

Note that: the tildes (~) must have a space on either side the property definition starts with “a” whereas the relation starts with “the” in the property definition there must be a variable (such as T) after the tilde

for the type name. The intention is that the exact same syntax is used for the conceptualise and the actual CE sentence, except that the conceptualise has the extra tildes around the new words being defined.

If a type is referred to (rather than being defined) in the definition then that type must already have been defined in a previous conceptualise.

D Mott, IBM UK 8 27/07/2010

Page 9: CE Summary 04b

ITA P12 Task2Summary of Controlled English (v0.4)

There are no implied inferences about properties and relations, other than the transitivity of class membership. This means that a property or relation defined on a superclass is available for use in CE sentences about entities of a subclass. We take the view that the meaning of a concept is defined by the explicit logical rules that refer to it on its premises and conclusions.

For example, it is possible to define a relation in different ways, for example we could have defined:

conceptualise the teacher T ~ can speak ~ the language L.

(assuming we have already defined the concept of language) allowing a sentence like:

the teacher MrChips can speak the language Chinese.

However there is no implicit logic to state that this is equivalent to

the teacher MrChips has Chinese as language.

Such equivalences, and indeed any logical relations, must be defined by explicit logical rules.

Structure Linguistic PurposeIffDS -> ‘conceptualise’ ( ‘a’ | ‘an’ ) Description | The specification of a new concept or

relation ‘conceptualise’ NounP VerbP

2.2.5 QueriesA query specifies a request to determine the truth of a proposition or set of propositions. This is experimental and has not been integrated to the inference engine.

Structure Linguistic PurposeQuery -> ‘is it true that’ AndOrDS Specifying a query, by asking if a

proposition is true

D Mott, IBM UK 9 27/07/2010

Page 10: CE Summary 04b

ITA P12 Task2Summary of Controlled English (v0.4)

3 ExtensionsWe believe that CE is useful in expressing basic statements, as described above. However it is clear that the language can be stilted, and we have proposed a mechanism to allow a user to extend the syntax (rather than just the vocabulary). This is described in more detail in [XCE], and some basic information is given here for completeness.

For example, in order to say that two people attend a meeting, instead of saying in basic CE:

( the person P attends the meeting M ) and ( the person Q attends the meeting M )

it becomes possible to say:

the person P attends the meeting M with the person Q

Such a structure could be used on the premise or conclusion of a logical rule.

In order to extend the syntax of CE in this way, an experimental linguistic transformation language has been defined. In this example the transform would be:

under ~~andorDS

~~simpleNP 1 attends ~~simpleNP 2 with ~~simpleNP 3==>( ~~simpleNP 1 attends ~~simpleNP 2 ) and ( ~~simpleNP 3 attends ~~simpleNP 2 ):: a meeting.

The meaning of this language is further discussed in [XCE]. It should be noted that because the syntactic transformation is between an extended CE sentence and a basic CE sentence, the semantics of the extended CE sentence may, in theory, be derived from the concatenation of the transform from extended to basic CE, then from basic CE to Common Logic. However this does require a formalisation of the semantics of the linguistic transformation language, which to date has not been undertaken.

Such extensions can be added to certain places within the parse tree (e.g. andOrDS in the example above), to extend the syntax of these structures. The current syntax structures where extensions may be added are:

Paragraph SimpleDS RelativeClause Declarative AndOrDS

D Mott, IBM UK 10 27/07/2010

Page 11: CE Summary 04b

ITA P12 Task2Summary of Controlled English (v0.4)

4 Controlled English DocumentIt is also of benefit to group the individual CE sentences defined above into a higher-level “document” structure, providing meta-data such as title, sections, annotated notes for individual sentences and names for logical rules. The description of such Controlled English Documents is provided in [CED], and brief information is given here for completeness.

The syntax for a Controlled English Document is:

Structure Linguistic PurposeCED -> Title? ( Section | Note | Author | Date | CESentence )*

A CED has an optional title, followed by a (possibly empty) sequence of items, each being a section, an author specification, a date specification, a note or a CE sentence. The syntax does not prescribe a particular order of these items. However if a note is provided, it will be taken as referring to the immediate preceding item.

Title -> ‘Title:’ SingleText ( ‘Version:’ SingleText )? The title is defined by a single line of text. There is an optional version, also defined by a single line of text.

Section -> ‘Section’ ID ‘ :’ SingleText A section has an id (a string eg 1.1) and a piece of text defining its name

Author -> ‘Author:’ SingleText An author specification is a piece of text defining the author name

Date -> ‘Date:’ SingleText A date specification is a piece of text defining the date. No specific format is prescribed.

Note -> ‘Note:’ Text A note is an annotation, written as a piece of multiline text. This will be taken to relate to the immediately preceding item.

CESentence -> Paragraph A CE sentence is as defined aboveSingleText -> “line of characters” A single text line is a series of

characters terminated by a new lineText -> ( “line-of-characters” )* “blank-line” A piece of text is a set of lines

terminated by a blank line

D Mott, IBM UK 11 27/07/2010

Page 12: CE Summary 04b

ITA P12 Task2Summary of Controlled English (v0.4)

5 Logical MappingA key aspect of the use of Controlled English is that it is intended to be the “human face” of the logical specification of the ontology and instances of the ontology. To that end it is necessary to map the syntax of the CE onto the syntax of predicate logic, in order that the semantics of the CE sentences be established, and grounded in logic.

This section starts to define this mapping, using the CLIF syntax of Common Logic [CL] as the gold standard syntax for predicate logic. Further work is needed to complete this mapping into the remoter areas of the CE syntax and intended semantics, such as assumptions, states of belief and default negation.

No attempt is made to provide a direct model-theoretic semantics of CE sentences. However, by mapping the syntax of CE to the syntax of predicate logic (specifically Common Logic CLIF syntax), there is implied a model theoretic semantics of CE sentences derived from the concatenation of the mapping from CE to Common Logic and from Common Logic to model-theoretic semantics.

5.1 IndividualsIt is presumed that the universe of discourse contains a set of individuals, each having a unique identifier. It is also presumed that these identifiers are those specified in (or can be mapped onto) the Name component of an entity description in a CE sentence. For example in “the person Fred”, it is presumed that Fred is a unique identifier of an individual, such that any reference to Fred refers to the same individual. This is the case even if the type is different, thus “the teacher Fred” or “the teacher named Fred” will also refer to the same entity.

Note that the “known as KName” structure does not make the presumption that all references to the same KName refer to the same individual.

It is possible that the system using the CE in the context of an application may further map the CE names onto other naming systems, such as URIs. For example, in the ITA CPM visualiser:

individual names, such as Fred, are mapped onto a URI, prepended with a domain-specific string, such as http://project12.usukita.org/ontologies/cpm/instance/test.owl#

5.2 Predicate NamesIt is also presumed that there is a set of logical predicates defined for the universe of discourse, where each predicate is a set of N-tuples, according to the normal logical semantics, and each predicate has a name in the universe of discourse. In contrast, in CE sentences there are syntactic structures specifying CE properties (has … as PROPERTY ) or CE relations ( the X RELATION the X ), and the names of the PROPERTY and RELATION must be mapped onto Common Logic predicate names.

(The full syntax of CE must also be mapped onto a complete Common Logic statement, and this is covered below; here we are only concerned with names).

D Mott, IBM UK 12 27/07/2010

Page 13: CE Summary 04b

ITA P12 Task2Summary of Controlled English (v0.4)

The mapping of names may be done in different ways. If conceptualise statements are used, then the mapping must occur automatically, via the CE parser, and since there is no specific way in CE to define the real name of the logical predicate, or even a contextual namespace, this information being defined “out of band” for each application. One application-specific way to construct such predicate names is:

define a domain specific URI prefix, such as http://myproject/ontology1# take the CE words in the conceptualise statement between the tildes and

concatenate them, separated by underlines Construct the name from the URI prefix and the concatenated CE words

An alternative possibility is to predefine a mapping lexicon where each CE name is mapped to a URI.

Whichever way is used, the key point is that this is a domain-specific mechanism, outside the model theoretic semantics. The following sections presume some form of domain-specific mapping between CE names and individuals in the universe of discourse.

5.3 Further conventionsIn the sections below some additional conventions will be followed:

The domain-specific mapping of a CE name or relation or property to a Common Logic name, as described above, will be stated generally as XXX*. For example, if the CE sentence is “the TYPE Name” then the equivalent Common Logic predicate will be stated as TYPE* and the equivalent Common Logic individual will be stated as Name*

Courier font is used for Common Logic

5.4 TypesThe fragments of CE “the TYPE Name” or “the TYPE named Name” specify that the individual whose name is “Name” is of the type specified. Treating a type as a unary logic predicate, this may be stated in Common Logic as:

(TYPE* Name*)

For example:

the person Fred

maps to:

(ex:Person ex:Fred)

where ex:Person is the domain specific mapping of person, and ex:Fred is the domain specific mapping of Fred.

5.5 Supertype inference

The notion of supertype in ITA CE has some predefined semantics:

D Mott, IBM UK 13 27/07/2010

Page 14: CE Summary 04b

ITA P12 Task2Summary of Controlled English (v0.4)

if an entity E is a member of a type T, and T is conceptualised as a subtype of type SuperT, then entity E is a member of SuperT

5.6 Existence of an entityThe notion of the existence of an entity is given a particular syntax in CE:

there is a TYPE named NAME …

The meaning of this sentence depends upon the context in which it is used. In the majority of cases it has the same semantics as:

the TYPE NAME …

that is to say, they state the type of the entity, and therefore contribute a Common Logic fragment:

(TYPE* NAME*)

However, when the “there is” syntax is used as the conclusion of a logical relation, then it posits the existence of a “new” entity that may not have been known about before.

For example, the following (slightly unlikely) logical rule states that if there is a person, then there is a mother of that person:

if ( there is a person named P ) then ( there is a person P1 that has female as gender and has the person P as child ) .

The meaning of this logical rule is perhaps different to a normal predicate logic rule, (with an existential quantifier on the conclusion) as it given an operational meaning by virtue of the way it is implemented in the ITA inference engine. If this rule fires the inference engine will assert the existence of a new entity, with an unknown ID, and with the attributes (female gender and the specific person matched to P as child).

Further operational semantics has been given by the implementation, to avoid the duplication of new entities that are actually the same. In the CE conceptualise it is possible to add an “identifier” attribute that specifies a unique index:

conceptualise a ~ person ~ that has the sequence of ( the value ~ gender ~ , the value ~ child ~ ) as identifier

This indicates that the combination of gender and child uniquely identifies the entity, so that if a new entity is posited with values for those attributes, then a search will be made to determine if an already existing entity with the same values is present; if so that entity is used instead.

This operational semantics is different to the logical semantics of the normal “exists” operator, since in predicate logic it is presumed that all entities are already in

D Mott, IBM UK 14 27/07/2010

Page 15: CE Summary 04b

ITA P12 Task2Summary of Controlled English (v0.4)

existence in the universe of discourse, and the meaning of “exists” is that there is at least one entity with the relevant properties in the universe of discourse, not that a new entity is to be created. The operational semantics is more to do with the state of knowledge about the universe of discourse (that the system knows of the existence of an entity), which suggests that it should be modelled in terms of a meta-model of belief. As such this relates to the model of assumptions, knowledge and belief, that is yet to be formalised in this paper.

5.7 The properties of an entityThat an entity has a property is stated in CE as:

the TYPE NAME has the TYPE1 NAME1 as PROPERTY.

This may be stated in Common Logic as:

(and (TYPE* NAME*) (TYPE1* NAME1*) (PROPERTY* NAME* NAME1*))

For example:

the plan P has the agent A as executor.

is mapped onto

(and (pla:Plan ex:P) (log:Agent ex:A) (pla:planExecutor ex:P ex:A))

The value of a property may be a “basic data type” such as a constant (e.g. ‘1234’). These are just modelled as entities in the universe of discourse and no special treatment is required. Specifically there is currently no concept of the universe of discourse containing sets of entities being of a certain “basic data type”.

5.8 The relations of an entityThat an entity is related to another entity is stated in CE as:

the TYPE1 NAME1 RELATION TYPE2 NAME2.

This may be mapped to:

(and (TYPE1* NAME1*) (TYPE2* NAME2*) (RELATION* NAME1* NAME2*))

For example:

D Mott, IBM UK 15 27/07/2010

Page 16: CE Summary 04b

ITA P12 Task2Summary of Controlled English (v0.4)

the task T realises the objective O.

is mapped onto:

(and (pla:PlanTask ex:T) (cps:GoalSpecification ex:O)) (pla:realises ex:T ex:O)

5.9 Unstructured propositionsAn unstructured proposition is stated in CE as a double quoted string. This is actually mapped within the CE parser itself into the following structure:

the proposition PName defined by the constant QUOTEDSTRING.

where PName is a unique name defined by the parser for that quoted string.

Thus the mapping rules already stated will handle this case, which will be turned into the Common Logic:

(and (log:Proposition ex:PNAME) (log:defined ex:PNAME ‘QUOTEDSTRING’) )

5.10Logical RulesA logical relationship is specified by the CE sentence:

if PREMISES then CONCLUSION

This may be mapped to the following Common Logic pattern:

(forall VARIABLES (if PREMISES CONCLUSION))

where VARIABLES is a list of all the variables in the CE logical rule, PREMISES is a conjunction of all of the Common Logic statements formed from mapping statements in the CE PREMISES, and CONCLUSION is the conjunction of all Common Logic statements formed from mapping the statement in the CE CONCLUSION. Note that even though there may only be a single CE statement in the conclusion, this may be mapped into more than one Common Logic statement. Variables in the PREMISES and CONCLUSIONS are retained across the mapping.

For example:

if ( the plan P has the agent A as executor ) and

D Mott, IBM UK 16 27/07/2010

Page 17: CE Summary 04b

ITA P12 Task2Summary of Controlled English (v0.4)

( the plan P contains the task T ) then ( the task T has the agent A as executor ).

is mapped to:

(forall (A P T) (if (and (pla:Plan P) (log:Agent A) (pla:planExecutor P A) (log:contains P T) (pla:PlanTask T)) (and (pla:planTaskAgent T A))))

Note that “P” is used rather than “ex:P”, since in a rule, P is a variable not an individual.

5.11RationaleA reasoning step is specified as a CE statement of the form:

CONCLUSION because PREMISES.This may be mapped into the following Common Logic pattern:

(if PREMISES CONCLUSION))

where PREMISES is a conjunction of all of the Common Logic statements formed from mapping statements in the CE PREMISES, and CONCLUSION is the conjunction of all Common Logic statements formed from mapping the statement in the CE CONCLUSION. Note that even though there may only be a single CE statement in the conclusion, this may be mapped into more than one Common Logic statement. Note also that there are no variables in a “because” CE statement, so there are no variables in the mapped Common Logic statement.

For example:

the task T1 has the agent A1 as executorbecause

the plan P1 has the agent A1 as executor and the plan P1 contains the task T1.

is mapped to:

(if (and

D Mott, IBM UK 17 27/07/2010

Page 18: CE Summary 04b

ITA P12 Task2Summary of Controlled English (v0.4)

(pla:Plan ex:P1) (log:Agent ex:A1) (pla:planExecutor ex:P1 ex:A1) (log:contains ex:P1 ex:T1) (pla:PlanTask ex:T1)) (and (pla:planTaskAgent ex:T1 ex:A1))))

Note that “ex:P1” is used, because here, in the context of a because sentence, P1 is the name of an entity, not a variable.

D Mott, IBM UK 18 27/07/2010

Page 19: CE Summary 04b

ITA P12 Task2Summary of Controlled English (v0.4)

6 ConclusionThis document has defined various aspects of Controlled English; its syntax, informal meaning and a semi-formal mapping to predicate logic (specifically via Common Logic). It is hoped that such a mapping will permit the wider use of Controlled English within the ITA programme, since experience in project 12 and in transition projects suggests that there is significant benefit of using CE as the “human face of logic”. It is also hoped that the use of CE, together with the use of rationale, are two key technologies that will support future ITA work in the human graspability of logic, facilitating shared understanding in collaborative problem solving.

However it is recognised that more work is needed in extending the syntax of CE and in the mapping of CE to predicate logic, especially in the remoter areas of the CE syntax and intended semantics, such as assumptions, states of belief and default negation. Such mapping will also assist the further detailing of the logic proposal based upon RIF [LogicProposal].

D Mott, IBM UK 19 27/07/2010

Page 20: CE Summary 04b

ITA P12 Task2Summary of Controlled English (v0.4)

7 References[CE] Common Logic Controlled English, Sowa, J., March 2007,

http://www.jfsowa.com/clce/clce07.htm

[CED] On Structuring CE Documents”, Mott, D. January 2010, https://www.usukitacs.com/?q=node/5425

[XCE] Layered Controlled Natural Languages, D. Mott and J. Hendler, 3rd Annual Conference of the International Technology Alliance (ACITA), Maryland, USA, 2009

[CL] Common Logic - A framework for a family of Logic-Based Languages, ed. Harry Delugach. ISO/IEC JTC 1/SC 32N1377, International Standards Organization Final Committee Draft, 2005-12-13 http://cl.tamu.edu/docs/cl/32N1377T-FCD24707.pdf

[LogicProposal] The representation of logic in semantic web languages, Mott, D., August 2009, https://www.usukitacs.com/?q=node/4986

D Mott, IBM UK 20 27/07/2010