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

Sean Leather leather at cs.uu.nl
Thu Jan 19 22:24:24 CET 2012

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

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?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20120119/877dbb05/attachment.htm>

More information about the Haskell-Cafe mailing list