codiagonal functor and faithfullness It seems trivial but I am not sure how the codiagonal functor is not faithfull, an example being taken in Awodey's book. 

The diagonal functor $\Delta$ takes the element $c \in C_0$ of a category to the element $ (c , c) \in (C\times C)_0 $ and an arrow $f : c \rightarrow c' \in C_1 $ to the product arrow $ \langle   f\pi_1, f\pi_2 \rangle \in (C\times C)_1$. 
The product category $C\times C$ always exist in $Cat$ and The definition of $\Delta$ correspond to the unique arrow (a functor, in $Cat$) to the product category $C\times C$, when picking the 2 identity functors getting into $C$
The sum category $C+ C$ also exist in $Cat$ and every pair of functor coming from category C into a common object defines a universal arrow out of $C + C$ and into that object. We can as previously pick the identity to define an arrow (functor in Cat) between $C+C$ and $C$  unique wrt to the property that the triangles commutes.
(edit : to clarify in this notation x=a+b means x is either $a$ or $b$. it's not a good one though. there are constructors, left and right, and the sum type thats it)
The commutation property leads to a description that it takes elements $a+b \in C+C$ coming from left a to $a$ and from right b to $b$ and similarly for morphism. we can see that it fits the bill for commutation, so it's $\nabla$ the codiagonal functor.
Now, if I choose specific elements $x=a+b$ and $y=c+d$ from $C+C$, I have a $Set$ value function $\nabla_{x,y} : Hom_{C+C}(x,y) \rightarrow Hom_C(\nabla x, \nabla y)$
What he claims is that this is an injective function.

We could have the following reasoning about it and say ok, a function from $x=a+b$ to some object $y=c+d$, is either a function from $a$ to $c+d$ or a  function from $b$ to $c+d$.
Now given two functions $f$ and $g$ from $x=a+b$ they could be coming from either $a$ or $b$ and $\nabla$ will unwrap whichever it is.
Now if the unwrapped function are equal, nothing guarantees that they are coming from the same case, $\nabla$ left h= $\nabla$right h but the arguments are not equal.

But owing to the fact that we fixed $x$ earlier we have in fact either 


*

*a pair $f$,$g$ coming from the left case $a$ or 

*a pair $f$,$g$ coming from the right case $b$ 


So if we have equality of $\nabla f= \nabla g$ we do have equality on of the original function $f$ and $g$.

On the other hand, $\nabla$ is not injective on arrows using the case mentioned before, where the same function is injected left or right.

ps : dont know if my notations are standard.
 A: It seems to me that you misunderstood the construction of $C + C$, which denote the coproduct of the category $C$ with itself.
Such category has 


*

*pairs of the form $(0,c)$ or $(1,c)$ as objects, where $c \in C$

*pairs of the form $(0,f)$ or $(1,f)$ as morphisms, where $f$ is a morphism in $C$.


The various category operations are defined in the obvious way:
for instance $\text{source}(0,f)=(0,\text{source}(f))$ and $\text{source}(1,f)=(1,\text{source}(f))$.
Now back to your problem, the codiagonal functor $\nabla \colon C + C \to C$ is the only functor that when composed with the two embeddings
$$i_0 \colon C \to C+C\;\; i_1 \colon C \to C+C$$ 
gives the identity functor: that is $\nabla \circ i_1=\nabla\circ i_2=1_C$.
This implies that this functor is defined by the following equations
$$\nabla(0,\alpha)=\nabla(i_0(\alpha))=\alpha$$
$$\nabla(1,\alpha)=\nabla(i_1(\alpha))=\alpha$$
where $\alpha$ can represent either an object or a morphism of $C$.
This functor is indeed faithful, it is injective when restricted on the $\hom$-sets, but it is not injective as functor, because for every morphism $f$ in $C$ you have that $\nabla(0,f)=\nabla(1,f)$ but $(0,f)\ne(1,f)$.
Edit: as an alternative notation, which I think it could be more familiar to programmer and/or computer scientist, one could use $\text{left } c$ for the object $(0,c)$ in $C+C$, $\text{right } c$ for the object $(1,c)$ and similarily for the morphisms.
