Extensionality
In logic, extensionality, or extensional equality refers to principles that judge objects to be equal if they have the same external properties. It is the opposite concept of intensionality, which is concerned with whether two descriptions are intended to be the same or not.
Contents |
[edit] Example
Consider the functions f and g from the natural numbers to the natural numbers defined as follows:
- To find f(n), first add 5 to n, then multiply by 2.
- To find g(n), first multiply n by 2, then add 10.
These functions are extensionally equal; given the same input, both functions always produce the same value. But the definitions of the functions are not equal, and in that intensional sense the functions are not the same.
Similarly, in natural language there are many predicates (relations) that are intensionally different but are extensionally identical. For example, suppose that a town has one person named Joe, who is also the oldest person in the town. Then "Joe" and "oldest person in the town" are extensionally equal, but intensionally distinct.
[edit] In mathematics
The extensional definition of function equality, discussed above, is commonly used in mathematics. Sometimes additional information is attached to a function, such as an explicit codomain, in which case two functions must not only agree on all values, but must also have the same codomain, in order to be equal.
A similar extensional definition is usually employed for relations: two relations are said to be equal if they have the same extensions.
In set theory, the axiom of extensionality states that two sets are equal if and only if they contain the same elements. In mathematics formalized in set theory, it is common to identify relations—and, most importantly, functions—with their extension as stated above, so that it is impossible for two relations or functions with the same extension to be distinguished.
Other mathematical objects are also constructed in such a way that the intuitive notion of "equality" agrees with set-level extensional equality; thus, equal ordered pairs have equal elements, and elements of a set which are related by an equivalence relation belong to the same equivalence class.
Type-theoretical foundations of mathematics are generally not extensional in this sense, and setoids are commonly used to maintain a difference between intensional equality and a more general equivalence relation (which generally has poor constructibility or decidability properties).
In lambda calculus, extensionality is expressed by the eta-conversion rule, which allows conversion between any two expressions that denote the same function.
[edit] See also
Structural typing and duck typing, two related approaches to type resolution in computer programming which apply extensionality as a means of determining the effective type of a variable.
[edit] References
| This article does not cite any references or sources. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. (January 2007) |
| This logic-related article is a stub. You can help Wikipedia by expanding it. |
| This mathematical logic-related article is a stub. You can help Wikipedia by expanding it. |