Mod note: Moved from a technical section, so missing the homework template. Here is what I'm trying to prove. Let f:A->B. If there are two functions g:B->A and h:B->A such that g(f(a))=a for every a in A and f(h(b))=b for every b in B, then f is bijective and g=h=f^(-1). I think I have most the proof, I started by showing g(f(a))=a implies g o f(a)=a and that maps A->B->A all exactly once, and a similar argument shows f(h(b))=b implies that the mapping is B->A->B all exactly once again, and this seems like the definition of an inverse, so there for it's bijective? Is that the right way to approach this proof?