Natural numbers object

In category theory, a natural numbers object (NNO) is an object endowed with a recursive structure similar to natural numbers. More precisely, in a category E with a terminal object 1, an NNO "N" is given by:
such that for any object "A" of E, global element "q" : 1 → "A", and arrow "f" : "A" → "A", there exists a unique arrow "u" : "N" → "A" such that:
In other words, the triangle and square in the following diagram commute.
The pair ("q", "f") is sometimes called the "recursion data" for "u", given in the form of a recursive definition:
The above definition is the universal property of NNOs, meaning they are defined up to canonical isomorphism. If the arrow "u" as defined above merely has to exist, that is, uniqueness is not required, then "N" is called a "weak" NNO.
Equivalent definitions.
NNOs in cartesian closed categories (CCCs) or topoi are sometimes defined in the following equivalent way (due to Lawvere): for every pair of arrows "g" : "A" → "B" and "f" : "B" → "B", there is a unique "h" : "N" × "A" → "B" such that the squares in the following diagram commute.
This same construction defines weak NNOs in cartesian categories that are not cartesian closed.
In a category with a terminal object 1 and binary coproducts (denoted by +), an NNO can be defined as the initial algebra of the endofunctor that acts on objects by and on arrows by .