NonReentrantHornClauseEngine A simple rules engine for sets of horn clauses where none of the implications can appear in the conditions