Earlier quoted context omitted.
I think a slightly better fix is to change definitions to allow g = { (1, {}) } to be regarded as a left-inverse to g, that is, to allow left-inverses to be partial functions, rather than full functions. The definition still requires they be defined on the image of f, but no choices have to be made on the complement of the image. Probably this breaks some other definitions but it seems intuitively correct to me. It k…
> your fix kinda breaks a lot of the structure of algebra in other ways What are you referring to here in particular? I think the property of `g` to be a well defined function is a lot more important than for its domain to be `B`, when `f(A)` is enough to make the composition well defined.
But, I disagree. partial functions B->A are just a superset of functions B->A, so requiring g to be partial is just relaxing a requirement. Whereas requiring g: im(A)->A adds an additional restriction, potentially breaking any place that concept of a left inverse is used. Invariably someone will just define a new thing equivalent to what is normally called the left inverse because they still need the concept for some reason.