Prolog programming for artficial intelligence. - Bratko Ivan (2001)