code: function(cause, fact) {
          return this.causeMemberMatchesFactMember(cause.predicate, fact.predicate) 
              && this.causeMemberMatchesFactMember(cause.subject, fact.subject)
              && this.causeMemberMatchesFactMember(cause.object, fact.object);
      }
docs: Checks if a cause matches a fact, i.e. is the cause's pattern
  can be satisfied by the fact.
  @param cause
  @param fact
  @returns {*}