This textbook on decision procedure has been used to teach undergraduate and graduate courses at ETH Zurich and at the Technion, Haifa. The authors focus on theories that are expressive enough to model real problems, but are still decidable.
This book covers modularity and independence in classical and nonclassical logic, including many-valued logics and structures, plus neighbourhood semantics and their connection to independence, as well as their common points and differences for various logics.
This easy-to-follow text provides an accessible introduction to the key topics of formal languages and abstract machines within Computer Science. The author follows the formula of his first book, but makes these core computing topics more fundamental.