Abstract
In chapter 6 we learned about functions and mappings as data objects. Functions with infinite domains, although in principle the same kinds of objects as ones with finite domains, are at least intuitively different, and in fact also have some important theoretical differences.In chapter 6 we largely restricted our attention to functions with finite domains, since these can be more easily represented by finite pieces of computer data. In this chapter we shall consider functions with potentially infinite domains. These are very much akin to, indeed scarcely distinguishable from, operations in an algebra.Consider, for example, the function ‘to the power of’ on the real numbers. This has a type or schemeRx R->Rand we could try to define it using the kind of explicit definition we considered in chapter 6. Such an explicit definition would be in terms of already defined operations and functions. An operator or function defined in such a way is often called ‘derived’ for this reason.However, we may well find difficulty in producing an explicit definition for a number of reasons: the result of the function may not be expressible in a single formula, but may require a number of assertions to define its value appropriately; we may even not be interested in the exact value of the function but may be satisfied with an approximation. For such reasons we introduce (implicit) specifications of functions.
Preview
Unable to display preview. Download preview PDF.
Author information
Authors and Affiliations
Copyright information
© 1986 Tim Denvir
About this chapter
Cite this chapter
Denvir, T. (1986). Functions and their Specifications. In: Introduction to Discrete Mathematics for Software Engineering. Macmillan Computer Science Series. Palgrave, London. https://doi.org/10.1007/978-1-349-18496-5_10
Download citation
DOI: https://doi.org/10.1007/978-1-349-18496-5_10
Publisher Name: Palgrave, London
Print ISBN: 978-0-333-40737-0
Online ISBN: 978-1-349-18496-5
eBook Packages: Mathematics and StatisticsMathematics and Statistics (R0)