Thinking as computation : a first course - Levesque, Hector J., 1951- (MIT Press, 2012)