CS 427 Prolog