Much of COGENT's processing is dependent on simple pattern matching. When a triggering message is passed to a process, for example, the rules which are actually triggered are determined by matching the incoming message with the triggering patterns of each rule. The same pattern matching mechanism is used when COGENT is matching a term against a buffer.
The basic pattern matching mechanism that COGENT uses is based on unification of Prolog terms. Two terms unify if:
|[cat, Dog]||[Cat, dog]|