Swipe to navigate through the chapters of this book
This chapter provides an introduction to fundamental building blocks in mathematics such as sets, relations and functions. Sets are collections of well-defined objects; relations indicate relationships between members of two sets A and B; and functions are a special type of relation where there is exactly (or at most) one relationship for each element a ∈A with an element in B. A set is a collection of well-defined objects that contains no duplicates. A binary relation R (A, B) where A and B are sets is a subset of the Cartesian product (A × B) of A and B. The notation aRb signifies that there is a relation between a and b and that (a, b) ∈R. A total function f: A → B is a special relation such that for each element a ∈ A there is exactly one element b ∈ B. This is written as f(a) = b. A partial function differs from a total function in that the function may be undefined for one or more values of A.
Please log in to get access to this content
To get access to this content you need the following product:
We distinguish between total and partial functions. A total function f: A → B is defined for every element in A whereas a partial function may be undefined for one or more values in A.
There are mathematical objects known as multi-sets or bags that allow duplication of elements. For example, a bag of marbles may contain three green marbles, two blue and one red marble.
The British logician, John Venn, invented the Venn diagram. It provides a visual representation of a set and the various set theoretical operations. Their use is limited to the representation of two or three sets as they become cumbersome with a larger number of sets.
The natural numbers, integers and rational numbers are countable sets whereas the real and complex numbers are uncountable sets.
Cartesian product is named after René Descartes who was a famous 17th French mathematician and philosopher. He invented the Cartesian coordinates system that links geometry and algebra, and allows geometric shapes to be defined by algebraic equations.
We discuss permutations and combinations in Chap. 5.
Parnas made important contributions to software engineering in the 1970s. He invented information hiding which is used in object-oriented design.
We distinguish between total and partial functions. A total function is defined for all elements in the domain whereas a partial function may be undefined for one or more elements in the domain.
Higher order functions are functions take functions as arguments or return a function as a result. They are known as operators (or functionals) in mathematics, and one example is the derivative function d y/d x that takes a function as an argument and returns a function as a result.
Monads are used in functional programming to express input and output operations without introducing side effects. The Haskell functional programming language makes use of uses this feature.
This is the most common algorithm used to perform type inference. Type inference is concerned with determining the type of the value derived from the eventual evaluation of an expression.
Lisp is a multi-paradigm language rather than a functional programming language.
Iverson received the Turing Award in 1979 for his contributions to programming language and mathematical notation. The title of his Turing award paper was ‘Notation as a tool of thought’.
Software Fundamentals. Collected Papers by David L. Parnas. Edited by Daniel Hoffman and David Weiss. Addison Wesley. 2001.
A Relational Model of Data for Large Shared Data Banks. E.F. Codd. Communications of the ACM 13 (6): 377–387. 1970.
An Introduction to Database Systems. 3rd Edition. C.J. Date. The Systems Programming Series. 1981.
Introduction to the History of Computing. Gerard O’Regan. Springer Verlag. 2016.
Miranda. David Turner. Proceedings IFIP Conference, Nancy France, Springer LNCS (201). September 1985.
- Sets, Relations and Functions
- Springer International Publishing
- Sequence number
- Chapter number
- Chapter 2