Author: Ernesto Posse
This module contains the categorical definitions of limits. For a formal definition see:
Note: it contains the only the classes that represent limits, not the algorithms that compute them. For these, see the ‘diagrams’ module.
In particular, the argument to the Limit constructor is not the diagram of which the limit is a limit of. Instead the arguments are the elements that form a limit, namely an object and a family of arrows, together with the function that computes the unique arrow from any other cone:
Limit(object, arrows, unique_arrow_func, category)
To obtain the limit of a diagram, one must create an instance of diagram and invoke the limit method on that instance. This method must return a Limit instance.
New: for ease of use, I added a functional interface to compute limits.