sentences, mathematical notations and so on. The price for this is, if an author wishes the system to regard two sentences as the same, she must write rules that say so. An advantage is that the English semantics are strict - a sentence means exactly what it says (in context), and nothing else. Although the vocabulary is open as far as the system is concerned, one can write a collection of rules and facts that defines a controlled vocabulary. While there is no dictionary or grammar of English, the system does contain a grammar that recognizes rules and tables of data. So, if an author types in a simple rule that does not consist of one or more sentences, followed by an underline, followed by a single sentence, the system responds with a warning. Also, the underlying rule syntax requires that each place holder (or variable) that appears in a conclusion of a rule should also appear in simple premise of the same rule. Similarly, if a sentence is negated (as in the Bioinformatics Ontology Example), the system requires that each of the variables in the sentence should be mentioned in earlier simple premises. There is further checking to ensure that it is not possible for the conclusion of a rule to depend on a negation of itself, even if that happens through a chain of other rules. Should that happen, the system shows the rules concerned, together with a warning. The lightweight English -- Semantics3 -- is supported by an inference method that assigns a strongly non-procedural meaning to the rules -- Semantics2 -- (Apt et al 1988). The inference method used is based on that in (Walker 1993). The method switches automatically between forward and backward execution of the rules. The non-procedural approach is necessary, because an English sentence must keep the same declarative meaning regardless of where it appears sequentially in a collection of rules, and regardless of changes to rules in which the sentence does not appear. For authors who are not programmers, this approach has the advantage that the answers one gets from a set of rules and facts do not depend on the textual sequence in which the rules appear. This is in contrast to a procedural reading, in which a collection of N rules potentially has factorial(N) different meanings, corresponding to different permutations of the rule sequence.

## Conclusions

I have described a design that combines semantics for data, for inference, and for English. There is an online system for this -- a kind of Wiki for rules in open vocabulary, executable English. When the rules are run, the system can explain its results (and also why expected results are missing), in hypertexted English at the business or scientific level. The system can also automatically generate and run SQL over networked databases. The generated SQL can be too complex to write reliably by hand, but its results can also be explained in English. The author- and user-interface of the system is simply a browser, and shared use of the system is free. Since the rules are in English, they are indexed by Google and other search engines. This is useful when looking for rules for a task that one has in mind.