I am reading Category Theory for Programmers and I am having some trouble in Part 2, Chapter 2: Limits and Colimits.
In "12. Limits and Colimits", the author writes:
Now we can define the universal cone as the terminal object in the category of cones. The definition of the terminal object states that there is a unique morphism from any other object to that object. In our case it means that there is a unique factorizing morphism from the apex of any other cone to the apex of the universal cone. We call this universal cone the limit of the diagram D, LimD(in the literature, you’ll often see a left arrow pointing towards I under the Lim sign). Often, as a shorthand, we call the apex of this cone the limit (or the limit object).
I called this informal definition of limit Method1.
In "12.1 Limit as a Natural Isomorphism" , the author writes:
Now that we have two functors, we can talk about natural transformations between them. So without further ado, here’s the conclusion: A functor D from I to C has a limit limD if and only if there is a natural isomorphism between the two functors I have just defined: C(c,limD)≃Nat(Δc,D)
I called this formal definition of limit Method2.
(I also read Categories for the Working Mathematician pg. 68-69, basically it said the same thing)
My question is:
Are the two descriptions of limit really equivalent?
In Method1, it says that
LimD is a cone to base D from the apex object (of course, I also called this apex LimD), such that for any cone (from apex c') there is an unique morphism m : c'->LimD and make the triangles (cone to cone) commute.
It seems to be saying that I know there is a limit (called it limD), the limD must satisfy the universal property.
In Method2, it says that
For any object in C (called it c), if the hom-set C(c,limD) and the set of natural transformation Nat(Δc,D) are bijective, the limit exist.
Also, If limit exist, then for any object in C (called it c), the hom-set C(c,limD) and the set of natural transformation Nat(Δc,D) are bijective.
(Note that I ignore the naturality condition to make my elaboration more concise)
In other words, if I fixed c, the number of elements in hom-set C(c,limD) is equal to the number of elements in the set of natural transformation Nat(Δc,D).
It seems to be saying that the existence condition of limit,
The problem is:
In Method 1, each apex (e.g: c') is assumed to be a cone, whereas in Method 2, c can be any object in C.
In order to express my question more clearly, I give a simple example and draw a picture.
In category I, there is only 2 objects i and j and only 1 morphism f.
In category C, there are 5 objects Di, Dj, c', c'', prelimD, and 7 morphisms (except identities) such that
Df ∘ αi = αj Df ∘ βi = βj
(these means α and β are natural transformation or legitimate cone of prelimD and c')
αi ∘ m' = βi αj ∘ m' = βj
(these means cone to cone triangles commute)
The question is:
Is there any limit of functor D in C?
Intuitively, prelimD is the limit, because it satisfy the universal property of limit. But according the existence condition of limit, it is not, because there is a morphism m'' : c'' -> prelimD with no element of Nat(Δc'',D) (i.e: no cone for c'') corresponding to it.