[Haskell-cafe] Not an isomorphism, but what to call it?

Holger Siegel holgersiegel74 at yahoo.de
Thu Jan 19 23:17:17 CET 2012

Am 19.01.2012 um 22:24 schrieb Sean Leather:

> I have two types A and B, and I want to express that the composition of two functions f :: B -> A and g :: A -> B gives me the identity idA = f . g :: A -> A. I don't need g . f :: B -> B to be the identity on B, so I want a weaker statement than isomorphism.
> I understand that:
> (1) If I look at it from the perspective of f, then g is the right inverse or section (or split monomorphism).
> (2) If I look at from g, then f is the left inverse or retraction (or split epimorphism).
> But I just want two functions that give me an identity on one of the two types and I don't care which function's perspective I'm looking at it from. Is there a word for that?

If (g . f) is a closure operator for some ordering on B, then <f,g> is a Galois insertion, a special case of Galois connection.

More information about the Haskell-Cafe mailing list