2025-08-26

notation formats for attempto controlled english

indented

indent := "  "
block := subject-line (clause | verb-group | context) ...
clause := indent verb-phrase "."
verb-group := indent verb-phrase (indent indent complement-fragment ".") ...
context := indent prepositional-phrase block ...
  • a subject-line is a non-empty line not starting with indent and not starting with a preposition.
  • avoid indent when there is only one indented entry that fits on the same line.

example

html is a markup language standardized by w3c.
css
  is
    a stylesheet language.
    standardized by w3c.
  defines
    colors.
    layouts.
    fonts.
a web browser
  in a document object model
    applies
      styles.
      scripts.

background

ace core definition for reference

sentence := subject clause
sentence := "if" sentence "then" sentence "."
sentence := sentence "and" sentence "."

subject := noun-phrase
clause := verb-phrase "."

noun-phrase := determiner noun [modifier-list]
noun-phrase := proper-name
noun-phrase := pronoun

determiner := "a" | "an" | "every" | "no" | "some"
            | "at least" number | "at most" number | "exactly" number

modifier-list := modifier {modifier}
modifier := adjective | prepositional-phrase | relative-clause
prepositional-phrase := preposition noun-phrase
relative-clause := "who" verb-phrase | "that" verb-phrase

verb-phrase := intransitive-verb
verb-phrase := transitive-verb noun-phrase
verb-phrase := ditransitive-verb noun-phrase prepositional-phrase
verb-phrase := copula (noun-phrase | adjective)
verb-phrase := "not" verb-phrase
verb-phrase := verb-phrase "and" verb-phrase

number := nonnegative-integer
proper-name := capitalized-token-sequence
pronoun := "he" | "she" | "it" | "they" | "him" | "her" | "them"
copula := "is" | "are" | "was" | "were"

relation to horn clauses

  • ace sentences are designed to be mapped to first-order logic. horn clauses are a restricted form of first-order logic: universally quantified implications with at most one positive literal.
  • ace allows non-horn constructs (biconditionals, disjunctions, explicit negation, cardinality constraints). these translate to full first-order formulas, not horn clauses.
  • to get a horn fragment, restrict ace to universal quantifiers, positive literals, and implications with one consequent.