Predicate Functor Logic
en.wikipedia.org