DCG utility predicates for Prolog