1 Motivation This course investigates some key mathematical concepts: sets , functions and relations . You will probably have come across these concepts before. This course gives a rigorous account, that forms the underpinnings of many courses in the Computer Science degree. Sets are like types in Haskell. For example, consider the type declaration data Bool = False | True This command declares a type Bool with two elements True and False . This course introduces the abstract concept of set. We talk about the set of Boolean values True and False , the set of natural numbers, the set of real numbers, the set of prime numbers, the set of students taking the Imperial Computer Science course, . .. We describe what it means for two sets to be equal, how to construct new sets from old, and analyse properties of these set constructors. We also describe the notion of a mathematical function, which maps elements of one set to another. Haskell functions can be viewed as mathe-matical functions, although they also have the additional property that they
This is the end of the preview. Sign up
access the rest of the document.