# Mathematics of Discrete Structures for Computer Science

Textbook

1. Front Matter
Pages I-XVI
2. Gordon J. Pace
Pages 1-8
3. Gordon J. Pace
Pages 9-56
4. Gordon J. Pace
Pages 57-77
5. Gordon J. Pace
Pages 79-110
6. Gordon J. Pace
Pages 111-140
7. Gordon J. Pace
Pages 141-155
8. Gordon J. Pace
Pages 157-174
9. Gordon J. Pace
Pages 175-210
10. Gordon J. Pace
Pages 211-255
11. Gordon J. Pace
Pages 257-285
12. Back Matter
Pages 287-293

### Introduction

Mathematics plays a key role in computer science, some researchers would consider computers as nothing but the physical embodiment of mathematical systems. And whether you are designing a digital circuit, a computer program or a new programming language, you need mathematics to be able to reason about the design -- its correctness, robustness and dependability. This book covers the foundational mathematics necessary for courses in computer science.

The common approach to presenting mathematical concepts and operators is to define them in terms of properties they satisfy, and then based on these definitions develop ways of computing the result of applying the operators and prove them correct. This book is mainly written for computer science students, so here the author takes a different approach: he starts by defining ways of calculating the results of applying the operators and then proves that they satisfy various properties. After justifying his underlying approach the author offers detailed chapters covering propositional logic, predicate calculus, sets, relations, discrete structures, structured types, numbers, and reasoning about programs.

The book contains chapter and section summaries, detailed proofs and many end-of-section exercises -- key to the learning process. The book is suitable for undergraduate and graduate students, and although the treatment focuses on areas with frequent applications in computer science, the book is also suitable for students of mathematics and engineering.

### Keywords

discrete mathematics discrete structures mathematical logic predicate calculus propositional logic relations sets

#### Authors and affiliations

1. 1.Department of Computer Science, Faculty of InformationUniversity of MaltaMsidaMalta

Gordon J. Pace is an associate professor in the Department of Computer Science of the University of Malta. He has an M.Sc. and a D.Phil. from Oxford, where he was a Rhodes Scholar. He has considerable experience teaching courses on the topic of his book to undergraduates in Computer Science, Mathematics and Engineering. His research interests include formal methods for software and hardware, runtime verification and formal analysis of contracts.

### Bibliographic information

• Book Title Mathematics of Discrete Structures for Computer Science
• Authors Gordon J. Pace
• DOI https://doi.org/10.1007/978-3-642-29840-0
• Copyright Information Springer-Verlag Berlin Heidelberg 2012
• Publisher Name Springer, Berlin, Heidelberg
• eBook Packages Computer Science Computer Science (R0)
• Hardcover ISBN 978-3-642-29839-4
• Softcover ISBN 978-3-642-42988-0
• eBook ISBN 978-3-642-29840-0
• Edition Number 1
• Number of Pages XVI, 296
• Number of Illustrations 0 b/w illustrations, 0 illustrations in colour
• Topics
• Buy this book on publisher's site

## Reviews

From the reviews:

"Pace’s Mathematics of Discrete Structures for Computer Science is a delightful book, written to be read and enjoyed as it moves from justifying the central place of maths in computing, through the usual set theory and logic, on to numbers, types and the halting problem." [Harold Thimbleby, Times Higher Education Supplement, 06/13]

“Discrete mathematics is as essential for computer science as calculus is for physics. … this book by Pace (Univ. of Malta) focuses on topics which are central to computer science, including the formal definition of data types and the use of induction to prove correctness. … is most useful for future courses in programming languages, particularly those that use a language like Haskell. The book includes many helpful worked examples. Summing Up: Recommended. Lower-division undergraduates through researchers/faculty.” [P. Cull, Choice, Vol. 50 (8), April, 2013]

“There is no doubt that discrete mathematics is a mandatory component of any good computer science program. Therefore, a textbook for this area is always very useful. … this book particularly emphasizes the difference between the algorithmic and the descriptive approach. … topics are well presented and can be used immediately for teaching such a course. It is also very helpful that many exercises are included into the text and support the learning process.” [Christian Posthoff, Zentralblatt MATH, Vol. 1254, 2013]

“The overwhelming majority of the subjects is discussed from an algorithmic viewpoint, considering how we could use this or that result while writing code for a computer. … you want to teach a course focusing on how to use discrete structures in computer science, then the book is a concise, low-cost alternative to textbooks in discrete mathematics.” (Miklós Bóna, MAA Reviews, December, 2012)

“The standard topics--including propositional logic, predicate calculus, sets, relations, discrete structures, defining new structured types, numbers, and reasoning about programs--are covered … . As such, the book is suitable for students who understand algebra and can program. … Teachers who use this text have noted how enthusiastically their students discuss its ideas in class. … Overall, the book is well made.” [Richard Botting, ACM Computing Reviews, December, 2012]

"Profound knowledge and skills in discrete mathematics are mandatory for a well educated computer scientist. Therefore a corresponding curriculum typically requires at least a basic course on this subject. This textbook, which is based on the lectures given by the author at the University of Malta, is a perfect companion for every student taking such a course. ... Besides a thorough formal presentation the book always gives a convincing motivation for studying the corresponding structures and explains the main ideas using illustrations. A well chosen set of exercises rounds off each topic. After studying the presented material a computer science student will be well prepared for further, more specialized courses." [Martin Leucker, Lübeck]