000 a
999 _c29932
_d29932
008 200622b xxu||||| |||| 00| 0 eng d
020 _a9780262039185
082 _a005.1015113
_bPAG
100 _aPage, Rex
245 _aEssential logic for computer science
260 _bMIT Press
_c2019
_aLondon
300 _axvi, 288 p.
_bill.
_c24 cm.
365 _b50.00
_cUSD
_d80.00
504 _aIncludes index
520 _aComputer scientists use logic for testing and verification of software and digital circuits, but many computer science students study logic only in the context of traditional mathematics, encountering the subject in a few lectures and a handful of problem sets in a discrete math course. This book offers a more substantive and rigorous approach to logic that focuses on applications in computer science. Topics covered include predicate logic, equation-based software, automated testing and theorem proving, and large-scale computation. Formalism is emphasized, and the book employs three formal notations: traditional algebraic formulas of propositional and predicate logic; digital circuit diagrams; and the widely used partially automated theorem prover, ACL2, which provides an accessible introduction to mechanized formalism. For readers who want to see formalization in action, the text presents examples using Proof Pad, a lightweight ACL2 environment. Readers will not become ALC2 experts, but will learn how mechanized logic can benefit software and hardware engineers. In addition, 180 exercises, some of them extremely challenging, offer opportunities for problem solving. There are no prerequisites beyond high school algebra. Programming experience is not required to understand the book's equation-based approach. The book can be used in undergraduate courses in logic for computer science and introduction to computer science and in math courses for computer science students.
650 _aComputer logic
650 _aComputer algorithms
650 _aParallel computation
650 _aMathematical induction
650 _aComputer arithmetic
700 _aGamboa, Ruben
942 _2ddc
_cBK