The theory of computation is based on concepts defined by logicians and mathematicians. Logic plays a fundamental role in computer science, and this book explains the basic theorems, as well as different techniques of proving them in classical and some non-classical logics. Important applications derived from concepts of logic for computer technology include Artificial Intelligence and Software Engineering.

Providing an in-depth introduction to fundamental classical and non-classical logics, this textbook offers a comprehensive survey of logics for computer scientists. *Logics for Computer Science* contains intuitive introductory chapters explaining the need for logical investigations, motivations for different types of logics and some of their history. They are followed by strict formal approach chapters. All chapters contain many detailed examples explaining each of the introduced notions and definitions, well chosen sets of exercises with carefully written solutions, and sets of homework.

Includes links to the author's companion lecture slides for each chapter: several hundred presentations which summarize the ideas presented in the chapters for ease of comprehension.