lambert@mcvax.uucp (Lambert Meertens) (10/22/86)
A few questions on terminology. In a piece of theory I am developing, I need some terms for describing concepts. Currently I use a working set of terms I made up myself, but I prefer to stick to established terminology if possible. Suggestions for better terminology, even if not standard, are equally welcome. Please drop me a copy by email also if you follow up from America so as to increase my chance of seeing it. (One of the machines maintaining the transatlantic link is living up to its name: the link is rather shaky these days. I will try to ACK all mail I get, so you can pick a guess between (i) your message did not arrive, if you don't receive an acknowledgement, and (ii) the acknowledgement itself failed.) 1. Is there a term for the set of values, given a function f, such that f(x) is defined? The term "domain" comes to mind, but my usage is that the domain is really the (possibly larger) set of values of the right type for f. So, if f(x) = 1/x, then the domain is the whole real number line R, whereas I am looking for a name for R\{}. Currently I use "support". 2. Consider the following equivalence relation between functions. The functions f and g are equivalent if they have the same "support" S and there exists a bijection, say h, between the ranges of f and g (that is, the sets of values assumed by f(x) and g(x), respectively) such that f(x)=h(g(x)) for all x in S. Is there a name for this relation? Currently, I use "isotomic", which undoubtedly is not standard. And what if h is only surjective? f is "hypotomic" to g? Something like: f is a "hypotome" of g? (Why "isotomic"? Well, a function induces an equivalence relation on its domain, elements with equal function values being equivalent, and so "cuts" the domain into equivalence classes. Two functions are "isotomic" if they cut along the same lines.) 3. Is there a name for the property of a function f being "isotomic" with the identity function restricted to the "support" S of f? In other words, if f is a bijection from S to S. The term "isomorphism" comes to mind, but it usually expresses that some algebraic properties are preserved as well, like f(x.y) = f(x).f(y). The analogon for "hypotomic" is the same as being "isotomic" to some projection. 4. Consider a pair of "generic" types T and T', like T = A->((B->C)*D) and T' = (A->D)*((A*B)->C). We know nothing about A, B, C and D, but are given a value of type T, and have to construct one of type T'. In other words, we have to give a function from T to T'. This is, for the example, possible, and in a unique way. The function is: \x:(\a:pi2(x(a)),\(a,b):(pi1(x(a)))(b)) in which \ stands for a lambda. How to call this unique transformation (if it exists)? The "natural transformation" from T to T'? Or the "canonical coercion"? If that function is a bijection (as in the example), it is usual to say that the types are isomorphic. What if this "canonical coercion" is only surjective, for example if T = A and T' = A*A? Something like: T' is "hypermorphic" to T? And if it is injective (T= A*B, T' = A) "hypomorphic"? -- Lambert Meertens, CWI, Amsterdam; lambert@mcvax.UUCP