TITLE: How to prove a morphism an identity morphism?
QUESTION [3 upvotes]: In category theory, the definition of identity morphism/arrow is part of the definition of a category.
To build a category, it must satisfy the following statement:

For every object x, there exists a morphism 1x : x → x called the identity morphism for x, such that for every morphism f : a → b, we have 1b ∘ f = f = f ∘ 1a.

But this statement says that "To become a category, what must be satisfied", it does not explicit say that "To become a identity morphism, what must be satisfied".
So I have something confusion about "How to prove a morphism is identity in some category".
For example:
Suppose I have a category C (there may be a lot of objects and morphisms in it), I pick a object (called it A) and there is a morphism to itself called pre-idA : A->A, I want to prove this morphism is a identity morphism on A. 
How should we prove it?
There are many options for me, but I'm not sure which is correct ?
Method1:
To prove pre-idA is a identity, we must prove that
(1)∀X∈C.∀f : X->A. pre-idA ∘ f = f holds, and
(2)∀X∈C.∀f : A->X. f ∘ pre-idA = f holds
Both (1) and (2) must be satisfied.
Method2:
To prove pre-idA is a identity, we must prove that
(1) ∀X∈C.∀f : X->A. pre-idA ∘ f = f holds, or
(2) ∀X∈C.∀f : A->X. f ∘ pre-idA = f holds
One of (1) and (2) be satisfied is enough.
Intuitively, if we using Method1 to prove, then the pre-idA must be identity.
But does Method1 require too strong condition?
If the Method2 is wrong, can you give an example of a category to show that such morphism are not actually identity?
Thanks a lot.

REPLY [2 votes]: If you show either condition to be true, then the morphism in question is certainly the identity. However, both methods are an overkill. Note that if
$$
\forall f \in \operatorname{Hom}_C(A, A): \operatorname{preid_A} \circ f = f.
$$
then in particular,
$$
\operatorname{preid_A} = \operatorname{preid_A} \circ \operatorname{id_A} = \operatorname{id_A}.
$$
So it's sufficient to verify one direction. The same holds for the second method you have. Just take $X = A$.
{"set_name": "stack_exchange", "score": 3, "question_id": 3333479}