Commercial Intelligence Rotating Header Image


Confessions of a production rule vendor (part 2)

Going on 5 years ago, I wrote part 1.  Now, finally, it’s time for the rest of the story.


Simply Logical English

This is not all that simple of an article, but it walks you through, from start to finish, how we get from English to logic. In particular, it shows how English sentences can be directly translated into formal logic for use with in automated reasoning with theorem provers, logic programs as simple as Prolog, and even into production rule systems.

There is a section in the middle that is a bit technical about the relationship between full logic and more limited systems (e.g., Prolog or production rule systems). You don’t have to appreciate the details, but we include them to avoid the impression of hand-waving

The examples here are trivial. You can find many and more complex examples throughout Automata’s web site.

Consider the sentence, “A cell has a nucleus.”:


Requirements for Logical Reasoning

Here is a graphic on how various reasoning technologies fit the practical requirements for reasoning discussed below:

This proved surprisingly controversial during correspondence with colleagues from the Vulcan work on SILK and its evolution at

The requirements that motivated this were the following: (more…)

Confessions of a production rule vendor (part 1)

If you are using one of the more popular rules engines, chances are you can blame me.  I popularized the technology of forward-chaining production rules based on the Rete Algorithm.  Others have certainly contributed; my path is the one that led to open-source implementations and many commercial products, including those of IBM, Oracle, SAP, TIBCO, Red Hat, and too many others to mention (e.g., see this).

Today, I want to make clear that the future prospects for production rule technology are diminishing.  My objective here is to explain why most rule-based technologies are no good and why some are much better.  Although production rule technology is much better than most rule-based technologies, I hope to also make clear that in the age of IBM’s Watson, Google’s Brain, and the semantic web, production rule technology is inadequate.

They are not created equal.

Rules have become so pervasive in the software business that vendors of all types of software say they have them.  Consider, for example, that even Microsoft Outlook has rules!


Answers to Common Questions About AI

Well this is a blast from the past… I was working on “the next post” about how Watson, Google, and the semantic web threaten the major BRMS systems when I found myself rewriting that what matters about Rete Algorithm-based production rule systems is that the order of the rules does not matter.  It occurred to me that I must have written that a dozen times or more in my career so I did a Google and found this old paper has been on-line at the Free Library On-Line since 2006!  I recall writing this in the early nineties and the owner of an AI magazine telling me he carried it with him for the better part of a year  (and printing it in his magazine, I think).   Some of you may enjoy reading it again!



An expert system is a program that includes expertise.


Expertise is knowledge that enables an individual, group or program to perform an intellectual task better than that task can be performed without the expertise.


Expertise, being knowledge, falls into a few general categories.

Some knowledge is declarative knowledge which doesn’t do anything but which represents truth or state. Such knowledge can be stored in a standard database.

Some knowledge is algorithmic and can therefore be flow charted. Such knowledge can be expressed as a routine in any procedural programming language. Not everything a person or organization knows can be easily translated into data structures and flow charts, however.


Yes, if the flow chart is actually produced, if it is not extraordinarily complex, and if there is no reason to believe that the flow chart is incorrect or incomplete. After all, procedural languages and flow charts are isomorphic, anything that can be expressed in one can be expressed using the other. However, if it is hard to produce a flow chart, it will be even more difficult to produce a working program using a procedural language.


Agile decision services without XML details

Externalizing enterprise decision management using service-oriented architecture orchestrated by business process management makes increases agility and allows continuous performance improvement, but…

How do you implement the rules of EDM in an SOA decision service?  (more…)

Goals and backward chaining using the Rete Algorithm

I was prompted to post this by request from Mark Proctor and Peter Lin and in response to recent comments on CEP and backward chaining on Paul Vincent’s blog (with an interesting perspective here).

I hope those interested in artificial intelligence enjoy the following paper .  I wrote it while Chief Scientist of Inference Corporation.  It was published in the International Joint Conference on Artificial Intelligence over twenty years ago. 

The bottom line remains:

  1. intelligence requires logical inference and, more specifically, deduction
  2. deduction is not practical without a means of subgoaling and backward chaining
  3. subgoaling using additional rules to assert goals or other explicit approaches is impractical
  4. backward chaining using a data-driven rules engine requires automatic generation of declarative goals

We implemented this in Inference Corporation’s Automated Reasoning Tool (ART) in 1984.  And we implemented it again at Haley a long time ago in a rules langauge we called “Eclipse” years before Java.

Regretably, to the best of my knowledge, ART is no longer available from Inference spin-off Brightware or its further spin-off, Mindbox.  To the best of my knowledge, no other business rules engine or Rete Algorithm automatically subgoals,  including CLIPS, JESS, TIBCO Business Events (see above), Fair Isaac’s Blaze Advisor, and Ilog Rules/JRules.  After reading the paper, you may understand that the resulting lack of robust logical reasoning capabilities is one of the reasons that business rules has not matured to a robust knowledge management capability, as discussed elsewhere in this blog.  (more…)

Haley / ART syntax lives on in open-source Java rules

The ART syntax lives on in yet another product! 

JBOSS Rules (formerly Drools) just described its imminent support for rules expressed in the CLIPS syntax here.

NASA derived CLIPS from the syntax of Inference Corporation’s Automated Reasoning Tool (ART) in the mid-80s.  I designed and implemented the ART syntax with Chuck Williams on a team with Brad Allen and Mark Wright. 

CLIPS didn’t have many of the features of ART (including an ATMS or backward chaining, for example), but it (more…)