Logic For Applications by Anil Nerode