So I am fairly new to algebra, and my instructor often uses terms from category theory (such as Hom-set, natural transformations, etc) that I am not familiar with. As an attempt to have a better understanding on the subject, I post this question.
Question 1: There are "morphisms" which my textbook(Herstein)define as "functions" (with some specific properties). But I have a feeling that this definition is somewhat inadequate in that morphisms actually include functions (morphisms between sets).
So how does one define PRECISELY (in the language of set theory) a morphism?
Question 2: So there are things called "natural transformations" that appear quite frequently in my problem sets. How does one determine PRECISELY when an isomorphism is natural? For instance, I know that a finite dimensional vector space $V$ is isomorphic to its dual, $V^*$, but this isomorphism is not natural in the sense that one must choose an "unnatural" basis to construct such isomorphism. Yet $V\cong V^{**}$ natural, where $V^{**}$ is the double dual. But it seems that this kind of "definition" is somewhat of an ad hoc, as there are many isomorphisms do not involve the concept of basis...
Question 3: So I mentioned it already, the dual vector space, the set of all linear functionals. But how does one construct such "dual objects"? I've seen may co-stuff so far: codimension, cokernel, coproduct, etc. Is there a precise and UNIVERSAL definition one can apply to get these dual objects?
Much thanks in advance