Dear colleagues, could you please point me to a description of formal system (formal language) that CLIPS is based on?
What I mean is, what formal logic is used to compose and apply facts, rules, etc.? Also, what rules are used by the CLIPS inference engine in addition to modus ponens (or is it generalized modus ponens?). And what would this model correspond to: production rules system, first (n-th) order logic, etc.?
I presume that in its procedural and object-oriented components, CLIPS is quite close to other languages, such as C. But I still would very much want to understand, how they formally integrate with the rule component.
I checked out the documentation, but couldn't find any relevant information, nor in scientific publications. Thanks in advance!
The CLIPS architecture manual says that the pattern matching is based on the Rete algorithm. Google that.
The syntax is actually closer to Lisp or Prologue than it is to any procedural language.
Hope this helps.
bjohnson05, thank you for the reply!
Yes, I've read about the Rete algorithm. However, "based on" may imply quite a divergence - for performance enhancement, CLIPS data compatibility, etc. So I was wondering about the CLIPS' particular specification.
CLIPS isn't based on a specific formal system. It was originally designed to be compatible with the Automated Reasoning Tool (ART), so it's behavior is similar to most tools using a Rete implementation.