I've read three definitions which seems to point to the same idea. I've read about epimorphic functions in Mazzola's Comprehensive Mathematics for Computer Scientists - in this book, he treats it as if they were surjective functions. I guess that this idea is employed in category theory (with more generality, I guess). In functions, it seems that the idea is about relations of sets, in category theory, these ideas seems to be employed in objects different of sets. Is that correct?
Today I was reading Boolos' Logic and Computability, they mention the total functions, which by definition seems also to be the same of surjectivity. But I guess it may be used in some general way for the purposes of computer science, I'm still not sure about it. I've seen it on an exercise in the book (see below) and they use both terms: total function and surjectivity - This confuses me a little, presuming they are the same, why use both names Can you show me what are the differences of these three?