The SP theory of intelligence: distinctive features and advantages
Programming in Prolog