Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo


description of CLIPS formal system?

  • Maxim Bakaev
    Maxim Bakaev

    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!

  • B.J. Johnson
    B.J. Johnson

    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.

  • Maxim Bakaev
    Maxim Bakaev

    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.

  • Gary Riley
    Gary Riley

    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.