[Haskell-cafe] set terminology

2008-02-15 Thread PR Stanley

Hi
domain, source --- are the two different things? I'm sure I read 
somewhere that the source \subseteq domain in mappings. The same was 
said about range and target -- target \subseteq range.

Any ideas?
Thanks, Paul

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] set terminology

2008-02-15 Thread Dan Weston
Since no one else has replied, I will take a stab. This is the 
terminology I have seen/heard:


A mapping in a category is typed. It can map only from a source object 
to a target object. There may be zero, one, or multiple such mappings 
(functions) from a given source to a given target (but at least one if 
source and target are the same, namely the identity map).


For a particular source and target, where the source and target happen 
not just to be opaque objects but have internal structure (with subset 
operations), mappings are called functions, the source is called the 
domain, and the target is called the codomain.


Elements X in the domain are mapped to some element Y in the codomain. 
The set of all such Y is the range, and the set of all such X is the 
corange. (Wikipedia [1] suggests that there is ambiguity with the word 
domain, but I have never heard that elsewhere).


Any given subset S of the corange (called a preimage) maps to the 
corresponding image of S, which is a subset of the range. Preimage and 
image apply to singleton sets as well, so (by trivial isomorphism) these 
words apply to mapped elements themselves. In this case, the usual arrow 
symbol gets a little vertical cap on the left end.


In any case, I would not get too hung up on the terminology. It is much 
more important to understand what is meant in any given setting.


[1] http://en.wikipedia.org/wiki/Function_%28mathematics%29

Dan

PR Stanley wrote:

Hi
domain, source --- are the two different things? I'm sure I read 
somewhere that the source \subseteq domain in mappings. The same was 
said about range and target -- target \subseteq range.

Any ideas?
Thanks, Paul

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe





___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] set terminology

2008-02-15 Thread Dan Weston
To clarify the distinction between domain/corange as I understand common 
usage:


For a total function, the domain and corange are equal. In the category 
of sets, all functions are total (by definition of a function). If we 
generalize to the category of CPOs by associating with every set an 
extra value called bottom (as well as appropriate sums and products 
containing bottom), and by expanding the concept of function to make use 
of these bottoms for otherwise undefined mappings, then the domain 
refers to the thing with the bottoms in it and the corange refers to the 
largest set (i.e. no bottoms) in the domain whose image contains no 
bottoms in it. So the corange may not be equal to the domain.


So, domain and codomain in Haskell are types (i.e. that include bottom). 
Range, corange, preimage, and image are only sets that don't include a 
bottom.


Also, a minor correction (after consulting Wikipedia [1]): For any given 
subset of the range (called an image), there may be multiple subsets of 
the corange that have this image (the corresponding inverse image). The 
preimage (or complete inverse image) is the exactly one largest such 
subset of the corange to have the given image.


[1] http://en.wikipedia.org/wiki/Function_%28mathematics%29

Dan

Dan Weston wrote:
Since no one else has replied, I will take a stab. This is the 
terminology I have seen/heard:


A mapping in a category is typed. It can map only from a source object 
to a target object. There may be zero, one, or multiple such mappings 
(functions) from a given source to a given target (but at least one if 
source and target are the same, namely the identity map).


For a particular source and target, where the source and target happen 
not just to be opaque objects but have internal structure (with subset 
operations), mappings are called functions, the source is called the 
domain, and the target is called the codomain.


Elements X in the domain are mapped to some element Y in the codomain. 
The set of all such Y is the range, and the set of all such X is the 
corange. (Wikipedia [1] suggests that there is ambiguity with the word 
domain, but I have never heard that elsewhere).


Any given subset S of the corange (called a preimage) maps to the 
corresponding image of S, which is a subset of the range. Preimage and 
image apply to singleton sets as well, so (by trivial isomorphism) these 
words apply to mapped elements themselves. In this case, the usual arrow 
symbol gets a little vertical cap on the left end.


In any case, I would not get too hung up on the terminology. It is much 
more important to understand what is meant in any given setting.


[1] http://en.wikipedia.org/wiki/Function_%28mathematics%29

Dan

PR Stanley wrote:

Hi
domain, source --- are the two different things? I'm sure I read 
somewhere that the source \subseteq domain in mappings. The same was 
said about range and target -- target \subseteq range.

Any ideas?
Thanks, Paul

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe








___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe