Logic Programming And Automated Reasoning door Frank Pfenning