Let C^ = Cop to Set, for a natural transformation f:XY in C^, how to prove if f is an epimorphism, then fc is surjective for all objects c in C? Anyone can help me with that? Thank you in advance:)
It's a good question  possibly homework?  but good homework anyway. One thing that makes it a good question is that if you change "epimorphism" to "monomorphism" and "surjective" to "injective" then it becomes much easier: you can solve it directly by testing at representables. (In other words, apply the definition of monomorphism to natural transformations from C(, c) to X, using the Yoneda Lemma.) But for the question posed, I think you need to apply some fairly serious theory. That's a bit surprising for something that seems so simple, but I don't know any way around it. Andreas's solution gives one very neat method. A slightly different method, which doesn't involve Kan extensions, is to use the theorem that "limits and colimits in a presheaf category are computed pointwise". This roughly speaking means that the forgetful functor from your presheaf category to $\mathbf{Set}^{\mathrm{op} \mathbf{C}}$ creates limits and colimits. And, as in Andreas's solution, you have to apply the (much simpler) fact that a map is an epimorphism if and only if a certain square associated to it is a pushout. You can find your question on problem sheet 9 of this course. Brief hints are also given there. The relevant parts of the associated notes are 4.1.31, 5.1.6 and 5.1.8. 


Evaluation at the object c is a functor from C^ to Set that has adjoints on both sides (Kan extensions), so it preserves colimits (among many other things). Epimorphisms can be characterized in terms of colimits (when these exist, as they do in the categories under consideration): A morphism f is an epimorphism iff its pushout along itself consists of a pair of isomorphisms. (Apologies for this overkill where surely a simpler argument is possible.) 


What is the definition of epimorphism you are using here? Rightcancellable presheafmorphism lead to rightcancellable functions on component "by definition", I think.. 

