Attempto Controlled English

Attempto Controlled English (ACE) is a controlled natural language, i.e. a subset of standard English with a restricted syntax and restricted semantics described by a small set of construction and interpretation rules.

Though ACE appears perfectly natural—it can be read and understood by any speaker of English—it is in fact a formal language.

[1] ACE and its related tools have been used in the fields of software specifications, theorem proving, proof assistants, text summaries, ontologies, rules, querying, medical documentation and planning.

Here are some simple examples: ACE construction rules require that each noun be introduced by a determiner (a, every, no, some, at least 5, ...).

The Attempto Parsing Engine (APE) translates ACE texts unambiguously into discourse representation structures (DRS) that use a variant of the language of first-order logic.

[3] A DRS can be further translated into other formal languages, for instance AceRules with various semantics,[4] OWL,[5] and SWRL.

We can also detail the insertion event, e.g. by adding an adverb: or, equivalently: or, by adding prepositional phrases: We can combine all of these elaborations to arrive at: Composite sentences are recursively built from simpler sentences through coordination, subordination, quantification, and negation.

Note that the coordination of the noun phrases a card and a code represents a plural object.

Relative sentences starting with who, which, and that allow to add detail to nouns: With the help of if-then sentences we can specify conditional or hypothetical situations: Note the anaphoric reference via the pronoun it in the then-part to the noun phrase a card in the if-part.

To constrain the ambiguity of full natural language ACE employs three simple means: In natural language, relative sentences combined with coordinations can introduce ambiguity: In ACE the sentence has the unequivocal meaning that the customer opens an account, as reflected by the paraphrase: To express the alternative—though not very realistic—meaning that the card opens an account, the relative pronoun that must be repeated, thus yielding a coordination of relative sentences: This sentence is unambiguously equivalent in meaning to the paraphrase: Not all ambiguities can be safely removed from ACE without rendering it artificial.

To express that the code is associated with the card we can employ the interpretation rule that a relative sentence always modifies the immediately preceding noun phrase, and rephrase the input as: yielding the paraphrase: or—to specify that the customer inserts a card and a code—as: Usually ACE texts consist of more than one sentence: To express that all occurrences of card and code should mean the same card and the same code, ACE provides anaphoric references via the definite article: During the processing of the ACE text, all anaphoric references are replaced by the most recent and most specific accessible noun phrase that agrees in gender and number.